diff mbox series

fixincludes: Update darwin_flt_eval_method for macOS 14

Message ID yddo7j6lrpg.fsf@CeBiTec.Uni-Bielefeld.DE
State New
Headers show
Series fixincludes: Update darwin_flt_eval_method for macOS 14 | expand

Commit Message

Rainer Orth Aug. 16, 2023, 7:20 p.m. UTC
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?

	Rainer

Comments

Iain Sandoe Aug. 16, 2023, 7:25 p.m. UTC | #1
Hi Rainer,

> On 16 Aug 2023, at 20:20, Rainer Orth <ro@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  <ro@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 */
> 
>
Bruce Korb Aug. 16, 2023, 7:27 p.m. UTC | #2
Looks reasonable to me!

On 8/16/23 12:20, Rainer Orth 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?
> 
> 	Rainer
>
diff mbox series

Patch

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