Dear GNU maintainers,
I'm writing to report a symbol conflict with GNU libiconv that occurs when compiling with Xcode 15.0. The system `iconv.h` provided by Xcode defines `iconv_allocation_t` in a way that differs from GNU libiconv's definition, leading to a compilation error.
Here's how `iconv_allocation_t` is defined in Xcode 15.0's system `iconv.h`:
```c
typedef struct {
void *spaceholder[64];
} iconv_allocation_t;
```
(Location: `/Applications/Xcode_15.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/iconv.h`)
This conflicts with the definition in the GNU libiconv library and results in the following compilation error:
```
/Users/iceman/projects/xciconv/.build/arm64-apple-macosx/debug/libiconv.framework/Headers/iconv.h:122:13: error: '(anonymous struct)::dummy2' from module 'libiconv' is not present in the definition of 'iconv_allocation_t' in module 'Darwin.POSIX.iconv'
mbstate_t dummy2;
^
/Applications/Xcode_15.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/iconv.h:90:9: note: definition has no member 'dummy2'
typedef struct {
^
```
To maintain consistency and prevent symbol clashes, it might be beneficial to rename `iconv_allocation_t` using the `lib` prefix, to `libiconv_allocation_t`, as is done with other symbols in GNU libiconv.
Thank you for your attention to this matter. Please let me know if further information is required.
Best regards,
Kenta Okamura