diff options
author | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-05 19:58:39 +0000 |
---|---|---|
committer | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-05 19:58:39 +0000 |
commit | 2292b3cfadecad9c4b8bf72cbfcf0d624478aac7 (patch) | |
tree | 3d54f3fac62131960b9bc0fcfd664e54c7bfe590 | |
parent | 2d7a881f4ed589a3a7dd08f6dde445383700e383 (diff) |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88571 138bc75d-0d04-0410-961f-82ee72b054a4
-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 71f86e0e474..f3b9b84c2eb 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 415a7579239..a723c258d61 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 b95a6ee9ed1..2ade3dd839b 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 00000000000..85adcde2a78 --- /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 00000000000..752d7f26d61 --- /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; |