http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57768

            Bug ID: 57768
           Summary: Assumption of a case-insensitive filesystem on Darwin
                    is incorrect
           Product: gcc
           Version: 4.7.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: preprocessor
          Assignee: unassigned at gcc dot gnu.org
          Reporter: a...@alex-smith.me.uk

Revision 175762 changed filename_cmp in libiberty to assume a case-insensitive
filesystem on Darwin. While it's true that this is the default, you can still
create case-sensitive HFS+ volumes.

This is causing issues for me building Haiku using a cross-compiler from my OS
X host (10.8.4) - Haiku requires building off a case-sensitive volume, but
because filename_cmp is performing comparisons case-insensitively I'm getting
various build issues. For example, there is a header String.h for the BeOS API
BString class, which includes the C library string.h. The preprocessor is just
matching the second header's name against the first header which it has already
seen using its cache, so the second one doesn't get included.

Target: x86_64-unknown-haiku
Configured with: /Users/alex/src/haiku/buildtools/gcc/configure
--prefix=/Users/alex/src/haiku/haiku/generated.x86_64/cross-tools
--target=x86_64-unknown-haiku --disable-nls --disable-shared --with-system-zlib
--enable-languages=c,c++ --enable-lto --enable-frame-pointer
--with-headers=/Users/alex/src/haiku/haiku/generated.x86_64/cross-tools-build/sysincludes
--with-libs=/Users/alex/src/haiku/haiku/generated.x86_64/cross-tools-build/syslibs
Thread model: single
gcc version 4.7.3 (GCC)

Reply via email to