> On 22 Nov 2023, at 15:13, Simon Wright <si...@pushface.org> wrote: > > > >> On 22 Nov 2023, at 15:03, Iain Sandoe <i...@sandoe.co.uk> wrote: >> >> >> >>> On 22 Nov 2023, at 14:48, Iain Sandoe <i...@sandoe.co.uk> wrote: >>> >>> >>> >>>> On 22 Nov 2023, at 13:55, Arnaud Charlet <char...@adacore.com> wrote: >>>> >>>>>>> #if defined (__APPLE__) >>>>>>> -#include <unistd.h> >>>>>> >>>>>> If removing unistd.h is intentional (i.e. you determined that it’s no >>>>>> longer >>>>>> needed for Darwin), then we should make that a separate patch. >>>>> >>>>> I thought that I’d had to include unistd.h for the first patch in this >>>>> thread; clearly not! >>>>> >>>>> What I hope will be the final version: >>>> >>>> OK here. >>> >>> also OK here, thanks >> >> I think this fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111909 ? >> if you agree then please add that to the commit. >> Iain > > git format-patch does so much, I forgot this, sorry: > > gcc/ada/Changelog: > > 2023-11-22 Simon Wright <si...@pushface.org <mailto:si...@pushface.org>> > > PR ada/111909
Can we commit this one now, please? —S > >> >>> Iain >>> >>>> >>>>> ——— 8< .——— >>>>> >>>>> In gcc/ada/adaint.c(__gnat_get_file_names_case_sensitive), the current >>>>> 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 means that on aarch64-apple-darwin, file names are treated as >>>>> case-sensitive, which is not the default case. >>>>> >>>>> The true default position is that macOS file systems are >>>>> case-insensitive, iOS file systems are case-sensitive. >>>>> >>>>> Apple provide a header file <TargetConditionals.h> which permits a >>>>> compile-time check for the compiler target (e.g. OSX vs IOS); if >>>>> TARGET_OS_IOS is defined as 1, this is a build for iOS. >>>>> >>>>> * gcc/ada/adaint.c >>>>> (__gnat_get_file_names_case_sensitive): Split out the __APPLE__ >>>>> check and remove the checks for __arm__, __arm64__. >>>>> For Apple, file names are by default case-insensitive unless >>>>> TARGET_OS_IOS is set. >>>>> >>>>> Signed-off-by: Simon Wright <si...@pushface.org> >> >