Hi Rainer,

> On 16 Aug 2023, at 20:20, Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote:
> 
> On macOS 14, a guard in <math.h> changed:
> 
> -- MacOSX13.3.sdk/usr/include/math.h  2023-04-19 01:54:44
> +++ MacOSX14.0.sdk/usr/include/math.h 2023-08-01 08:42:43
> @@ -22,0 +23 @@
> +
> @@ -43 +44 @@
> -#if __FLT_EVAL_METHOD__ == 0
> +#if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == -1
> @@ -49 +50 @@
> -#elif __FLT_EVAL_METHOD__ == 2 || __FLT_EVAL_METHOD__ == -1
> +#elif __FLT_EVAL_METHOD__ == 2
> 
> Therefore the darwin_flt_eval_method fixincludes fix doesn't match any
> longer, leading to a large number of testsuite failures like
> 
> /private/var/gcc/regression/master/14-gcc/build/gcc/include-fixed/math.h:69:5:
>  error: #error "Unsupported value of __FLT_EVAL_METHOD__."  
> 
> where __FLT_EVAL_METHOD__ = 16.
> 
> This patch adjusts the fix to allow for both forms.
> 
> Tested with make check in fixincludes on x86_64-apple-darwin23.0.0 and
> verifying that <math.h> has indeed been fixed as expected.
> 
> Ok for trunk?

Yes, thanks (and I suppose subsequent backports are in order)

===

Hopefully Alex's has_feature/extension patch will be approved and I will post my
availability one - and we can start to retire some of these fixincludes.

Iain


> 
>       Rainer
> 
> -- 
> -----------------------------------------------------------------------------
> Rainer Orth, Center for Biotechnology, Bielefeld University
> 
> 
> 2023-08-16  Rainer Orth  <r...@cebitec.uni-bielefeld.de>
> 
>       fixincludes:
>       * inclhack.def (darwin_flt_eval_method): Handle macOS 14 guard
>       variant.
>       * fixincl.x: Regenerate.
>       * tests/base/math.h [DARWIN_FLT_EVAL_METHOD_CHECK]: Update test.
> 
> # HG changeset patch
> # Parent  e7f5115ad4125cf69230cd511f1887327f1b3d4b
> fixincludes: Update darwin_flt_eval_method for macOS 14
> 
> diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def
> --- a/fixincludes/inclhack.def
> +++ b/fixincludes/inclhack.def
> @@ -1819,10 +1819,11 @@ fix = {
>     hackname  = darwin_flt_eval_method;
>     mach      = "*-*-darwin*";
>     files     = math.h;
> -    select    = "^#if __FLT_EVAL_METHOD__ == 0$";
> -    c_fix     = format;
> -    c_fix_arg = "#if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == 16";
> -    test_text = "#if __FLT_EVAL_METHOD__ == 0";
> +    select    = "^#if __FLT_EVAL_METHOD__ == 0( \\|\\| __FLT_EVAL_METHOD__ 
> == -1)?$";
> +    c_fix     = format;
> +    c_fix_arg = "%0 || __FLT_EVAL_METHOD__ == 16";
> +    test_text = "#if __FLT_EVAL_METHOD__ == 0\n"
> +             "#if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == -1";
> };
> 
> /*
> diff --git a/fixincludes/tests/base/math.h b/fixincludes/tests/base/math.h
> --- a/fixincludes/tests/base/math.h
> +++ b/fixincludes/tests/base/math.h
> @@ -32,6 +32,7 @@
> 
> #if defined( DARWIN_FLT_EVAL_METHOD_CHECK )
> #if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == 16
> +#if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == -1 || 
> __FLT_EVAL_METHOD__ == 16
> #endif  /* DARWIN_FLT_EVAL_METHOD_CHECK */
> 
> 

Reply via email to