https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111909
Bug ID: 111909
Summary: Filename case sensitivity defaulted wrongly on macOS
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: ada
Assignee: unassigned at gcc dot gnu.org
Reporter: simon at pushface dot org
CC: dkm at gcc dot gnu.org
Target Milestone: ---
Created attachment 56167
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56167&action=edit
Demo of code to determine case sensitivity
In gcc/ada/adaint.c(__gnat_get_file_names_case_sensitive), the
assumption for __APPLE__ is that file names are case-insensitive
unless __arm__ or __arm64__ are defined, in which case file names are
declared case-sensitive.
The associated comment is
"By default, we suppose filesystems aren't case sensitive on
Windows and Darwin (but they are on arm-darwin)."
This change was made in commit b54d1d39d30c (in github gcc-mirror).
This means that on aarch64-apple-darwin, file names are declared
case-sensitive.
I understand that GCC does not currently support iOS/tvOS/watchOS, so
we could assume macOS.
On macOS, the default filesystem is case-insensitive; changing this
function to reflect that would be an improvement. However, it's
possible to create case-sensitive filesystems, and some users do when
dealing with OSS code. It would be good to check the actual filesystem
in use.