https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111909

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Marc Poulhi?s <d...@gcc.gnu.org>:

https://gcc.gnu.org/g:396db92d3aa7412dd7133563fecbc6237fa81c02

commit r14-5936-g396db92d3aa7412dd7133563fecbc6237fa81c02
Author: Simon Wright <si...@pushface.org>
Date:   Tue Nov 28 14:56:36 2023 +0100

    Fix PR ada/111909 On Darwin, determine filesystem case sensitivity at
runtime

    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.

    2023-11-22  Simon Wright  <si...@pushface.org>

    gcc/ada/

            PR ada/111909
            * 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