diff options
author | Joseph Myers <jsm@polyomino.org.uk> | 2004-10-05 20:58:39 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2004-10-05 20:58:39 +0100 |
commit | 7fdc3e09525674e714c5e304b3d7977d55c4028c (patch) | |
tree | 3d54f3fac62131960b9bc0fcfd664e54c7bfe590 | |
parent | 1b36c8183586b92176cd67dc2250623632120a4c (diff) | |
download | gcc-7fdc3e09525674e714c5e304b3d7977d55c4028c.zip gcc-7fdc3e09525674e714c5e304b3d7977d55c4028c.tar.gz gcc-7fdc3e09525674e714c5e304b3d7977d55c4028c.tar.bz2 |
c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in system headers.
* c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
system headers.
testsuite:
* gcc.dg/complex-2.c, gcc.dg/complex-2.h: New test.
From-SVN: r88571
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-decl.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/complex-2.c | 7 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/complex-2.h | 6 |
5 files changed, 23 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 71f86e0..f3b9b84 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk> + * c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in + system headers. + +2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk> + * c-decl.c (pushdecl): When an extern declaration at block scope refers to a visible entity with internal linkage, use the old DECL rather than the new one. diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 415a757..a723c25 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -6816,7 +6816,7 @@ declspecs_add_type (struct c_declspecs *specs, tree type) break; case RID_COMPLEX: dupe = specs->complex_p; - if (pedantic && !flag_isoc99) + if (pedantic && !flag_isoc99 && !in_system_header) pedwarn ("ISO C90 does not support complex types"); if (specs->typespec_word == cts_void) error ("both %<complex%> and %<void%> in " diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b95a6ee..2ade3dd 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,9 @@ 2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk> + * gcc.dg/complex-2.c, gcc.dg/complex-2.h: New test. + +2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk> + * gcc.c-torture/compile/20041005-1.c: New test. 2004-10-05 Nathan Sidwell <nathan@codesourcery.com> diff --git a/gcc/testsuite/gcc.dg/complex-2.c b/gcc/testsuite/gcc.dg/complex-2.c new file mode 100644 index 0000000..85adcde --- /dev/null +++ b/gcc/testsuite/gcc.dg/complex-2.c @@ -0,0 +1,7 @@ +/* Allow complex types in system headers even with -std=iso9899:1990 + -pedantic-errors. */ +/* Origin: Joseph Myers <jsm@polyomino.org.uk> */ +/* { dg-do compile } */ +/* { dg-options "-std=iso9899:1990 -pedantic-errors" } */ + +#include "complex-2.h" diff --git a/gcc/testsuite/gcc.dg/complex-2.h b/gcc/testsuite/gcc.dg/complex-2.h new file mode 100644 index 0000000..752d7f2 --- /dev/null +++ b/gcc/testsuite/gcc.dg/complex-2.h @@ -0,0 +1,6 @@ +/* Allow complex types in system headers even with -std=iso9899:1990 + -pedantic-errors. Header file. */ + +#pragma GCC system_header + +_Complex double x; |