summaryrefslogtreecommitdiff
path: root/fixincludes/inclhack.def
diff options
context:
space:
mode:
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2007-10-09 23:22:02 +0000
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2007-10-09 23:22:02 +0000
commit1908d6ac212df06330b3cd61773a532cc804758b (patch)
treee3e08b9ed5c05eba9e1eba811c389ff072a90d53 /fixincludes/inclhack.def
parente8f535c26ca1f58d34c0c329e41c0344cb31913c (diff)
downloadgcc-1908d6ac212df06330b3cd61773a532cc804758b.tar.gz
* inclhack.def (darwin_externc): New.
* fixincl.x: Regenerate. * tests/base/mach-o/swap.h: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129188 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'fixincludes/inclhack.def')
-rw-r--r--fixincludes/inclhack.def26
1 files changed, 26 insertions, 0 deletions
diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def
index fde081652fe..08989c9e750 100644
--- a/fixincludes/inclhack.def
+++ b/fixincludes/inclhack.def
@@ -1167,6 +1167,32 @@ fix = {
/*
+ * On darwin8 and earlier, mach-o/swap.h isn't properly guarded
+ * by 'extern "C"'. On darwin7 some mach/ headers aren't properly guarded.
+ */
+fix = {
+ hackname = darwin_externc;
+ mach = "*-*-darwin*";
+ files = mach-o/swap.h;
+ files = mach/mach_time.h;
+ files = mach/mach_traps.h;
+ files = mach/message.h;
+ files = mach/mig.h;
+ files = mach/semaphore.h;
+ bypass = "extern \"C\"";
+ bypass = "__BEGIN_DECLS";
+ c_fix = wrap;
+ c_fix_arg = "#ifdef __cplusplus\n"
+ "extern \"C\" {\n"
+ "#endif\n";
+ c_fix_arg = "#ifdef __cplusplus\n"
+ "}\n"
+ "#endif\n";
+ test_text = "extern void swap_fat_header();\n";
+};
+
+
+/*
* AvailabilityMacros.h on Darwin breaks with GCC 4.0, because of
* bad __GNUC__ tests.
*/