summaryrefslogtreecommitdiff
path: root/fixincludes/inclhack.def
diff options
context:
space:
mode:
authorBernd Edlinger <bernd.edlinger@hotmail.de>2016-08-09 17:58:00 +0000
committerBernd Edlinger <edlinger@gcc.gnu.org>2016-08-09 17:58:00 +0000
commitef19a444b3945c11a99ffac1512c39e5cbf8efd8 (patch)
tree1d6018ced7a53f2e2e09b4f3cfda9db1d5d3a773 /fixincludes/inclhack.def
parent408702b44570a4c92e4f9d05cd97f98cf12a4eb4 (diff)
re PR bootstrap/72833 (error in fortran/parse.c (unexpected_eof) on Mac OS X 10.7)
2016-08-09 Bernd Edlinger <bernd.edlinger@hotmail.de> PR bootstrap/72833 * fixincl.tpl (version-compare): Fix generation with autogen 5.18. * inclhack.def (darwin_longjmp_noreturn): New fix. * fixincl.x: Regenerated. * tests/base/i386/setjmp.h [DARWIN_LONGJMP_NORETURN_CHECK]: new test. From-SVN: r239301
Diffstat (limited to 'fixincludes/inclhack.def')
-rw-r--r--fixincludes/inclhack.def15
1 files changed, 15 insertions, 0 deletions
diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def
index 8adb07678bc..2f758802831 100644
--- a/fixincludes/inclhack.def
+++ b/fixincludes/inclhack.def
@@ -1395,6 +1395,21 @@ fix = {
};
/*
+ * Before Mac OS X 10.8 <i386/setjmp.h> doesn't mark longjump noreturn.
+ */
+fix = {
+ hackname = darwin_longjmp_noreturn;
+ mach = "*-*-darwin*";
+ files = "i386/setjmp.h";
+ bypass = "__dead2";
+ select = "(.*longjmp\\(.*jmp_buf.*[^)]+\\));";
+ c_fix = format;
+ c_fix_arg = "%1 __attribute__ ((__noreturn__));";
+
+ test_text = "void siglongjmp(sigjmp_buf, int);";
+};
+
+/*
* __private_extern__ doesn't exist in FSF GCC. Even if it did,
* why would you ever put it in a system header file?
*/