diff options
author | hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-12-18 03:22:37 +0000 |
---|---|---|
committer | hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-12-18 03:22:37 +0000 |
commit | cf73d814960bc8ac78c462077c8be2feb292b4ca (patch) | |
tree | a21691d865a012c4d9abfbf9583014553f3379ac /fixincludes/inclhack.def | |
parent | fde7512ffc6af5acc2be68af6d0030949e5e2633 (diff) | |
download | ppe42-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.def | 33 |
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. |