diff options
Diffstat (limited to 'sys-devel/gcc/files/gcc-13-darwin14-math_h.patch')
-rw-r--r-- | sys-devel/gcc/files/gcc-13-darwin14-math_h.patch | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/sys-devel/gcc/files/gcc-13-darwin14-math_h.patch b/sys-devel/gcc/files/gcc-13-darwin14-math_h.patch new file mode 100644 index 0000000000..124dccf518 --- /dev/null +++ b/sys-devel/gcc/files/gcc-13-darwin14-math_h.patch @@ -0,0 +1,96 @@ +From 93f803d53b5ccaabded9d7b4512b54da81c1c616 Mon Sep 17 00:00:00 2001 +From: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> +Date: Thu, 17 Aug 2023 10:16:57 +0200 +Subject: [PATCH] fixincludes: Update darwin_flt_eval_method for macOS 14 + +On macOS 14, a guard in <math.h> changed: + +@@ -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. +--- + fixincludes/fixincl.x | 8 ++++---- + fixincludes/inclhack.def | 7 ++++--- + fixincludes/tests/base/math.h | 1 + + 3 files changed, 9 insertions(+), 7 deletions(-) + +diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x +index 416d2c2e3a4..e52f11d8460 100644 +--- a/fixincludes/fixincl.x ++++ b/fixincludes/fixincl.x +@@ -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 45e0cbc0c10..19e0ea2df66 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 29b67579748..7b92f29a409 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 */ + + +-- +2.39.3 + |