summaryrefslogtreecommitdiffstats
path: root/fixincludes/inclhack.def
diff options
context:
space:
mode:
authorhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>2007-12-18 03:22:37 +0000
committerhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>2007-12-18 03:22:37 +0000
commitcf73d814960bc8ac78c462077c8be2feb292b4ca (patch)
treea21691d865a012c4d9abfbf9583014553f3379ac /fixincludes/inclhack.def
parentfde7512ffc6af5acc2be68af6d0030949e5e2633 (diff)
downloadppe42-gcc-cf73d814960bc8ac78c462077c8be2feb292b4ca.tar.gz
ppe42-gcc-cf73d814960bc8ac78c462077c8be2feb292b4ca.zip
* inclhack.def: (glibc_c99_inline_1a, glibc_c99_inline_5): New.
* fixincl.x: Regenerate. * tests/base/wchar.h: Update. * tests/base/features.h: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131031 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'fixincludes/inclhack.def')
-rw-r--r--fixincludes/inclhack.def33
1 files changed, 33 insertions, 0 deletions
diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def
index 75f83478f21..859042a8da2 100644
--- a/fixincludes/inclhack.def
+++ b/fixincludes/inclhack.def
@@ -1348,6 +1348,24 @@ EOT;
/*
+ * Similar, but a version that didn't have __NO_INLINE__
+ */
+fix = {
+ hackname = glibc_c99_inline_1a;
+ files = features.h, '*/features.h';
+ select = "(\\) && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__)\n"
+ "(#[ \t]*define[ \t]*__USE_EXTERN_INLINES[ \t]*1)";
+ c_fix = format;
+ c_fix_arg = "%1 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)\n%2";
+ test_text = <<-EOT
+#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__
+# define __USE_EXTERN_INLINES 1
+#endif
+EOT;
+};
+
+
+/*
* The glibc_c99_inline_1 fix should have fixed everything. Unfortunately
* there are many glibc headers which do not respect __USE_EXTERN_INLINES.
* The remaining glibc_c99_inline_* fixes deal with some of those headers.
@@ -1408,6 +1426,21 @@ fix = {
};
+fix = {
+ hackname = glibc_c99_inline_5;
+ files = wchar.h, '*/wchar.h';
+ bypass = "__STDC_VERSION__";
+ select = "(^| )extern __inline";
+ c_fix = format;
+ c_fix_arg = "\n#ifdef __GNUC_GNU_INLINE__\nextern\n#endif\n__inline";
+ test_text = <<-EOT
+ __extension__ extern __inline double
+ __extension__ __extern_inline long
+ extern __inline unsigned int
+ EOT;
+};
+
+
/* glibc-2.3.5 defines pthread mutex initializers incorrectly,
* so we replace them with versions that correspond to the
* definition.
OpenPOWER on IntegriCloud