> 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>
>> 
> 

Reply via email to