diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2023-08-17 10:16:57 +0200 |
---|---|---|
committer | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2023-08-17 10:16:57 +0200 |
commit | 93f803d53b5ccaabded9d7b4512b54da81c1c616 (patch) | |
tree | 88206f336f90d957b570d4a58ddb9cb0f64327e1 /fixincludes | |
parent | 0beac9209f0ae230b34ad31e76e7b0b633a5fb21 (diff) | |
download | gcc-93f803d53b5ccaabded9d7b4512b54da81c1c616.zip gcc-93f803d53b5ccaabded9d7b4512b54da81c1c616.tar.gz gcc-93f803d53b5ccaabded9d7b4512b54da81c1c616.tar.bz2 |
fixincludes: Update darwin_flt_eval_method for macOS 14
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.
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.
Diffstat (limited to 'fixincludes')
-rw-r--r-- | fixincludes/fixincl.x | 8 | ||||
-rw-r--r-- | fixincludes/inclhack.def | 7 | ||||
-rw-r--r-- | fixincludes/tests/base/math.h | 1 |
3 files changed, 9 insertions, 7 deletions
diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x index 416d2c2..e52f11d 100644 --- a/fixincludes/fixincl.x +++ b/fixincludes/fixincl.x @@ -2,11 +2,11 @@ * * DO NOT EDIT THIS FILE (fixincl.x) * - * It has been AutoGen-ed January 22, 2023 at 09:03:29 PM by AutoGen 5.18.12 + * It has been AutoGen-ed August 17, 2023 at 10:16:38 AM by AutoGen 5.18.12 * From the definitions inclhack.def * and the template file fixincl */ -/* DO NOT SVN-MERGE THIS FILE, EITHER Sun Jan 22 21:03:29 CET 2023 +/* DO NOT SVN-MERGE THIS FILE, EITHER Thu Aug 17 10:16:38 CEST 2023 * * You must regenerate it. Use the ./genfixes script. * @@ -3674,7 +3674,7 @@ tSCC* apzDarwin_Flt_Eval_MethodMachs[] = { * content selection pattern - do fix if pattern found */ tSCC zDarwin_Flt_Eval_MethodSelect0[] = - "^#if __FLT_EVAL_METHOD__ == 0$"; + "^#if __FLT_EVAL_METHOD__ == 0( \\|\\| __FLT_EVAL_METHOD__ == -1)?$"; #define DARWIN_FLT_EVAL_METHOD_TEST_CT 1 static tTestDesc aDarwin_Flt_Eval_MethodTests[] = { @@ -3685,7 +3685,7 @@ static tTestDesc aDarwin_Flt_Eval_MethodTests[] = { */ static const char* apzDarwin_Flt_Eval_MethodPatch[] = { "format", - "#if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == 16", + "%0 || __FLT_EVAL_METHOD__ == 16", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def index 45e0cbc..19e0ea2 100644 --- 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$"; + select = "^#if __FLT_EVAL_METHOD__ == 0( \\|\\| __FLT_EVAL_METHOD__ == -1)?$"; c_fix = format; - c_fix_arg = "#if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == 16"; - test_text = "#if __FLT_EVAL_METHOD__ == 0"; + 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 index 29b6757..7b92f29 100644 --- 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 */ |