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