diff options
author | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-11 21:29:42 +0000 |
---|---|---|
committer | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-11 21:29:42 +0000 |
commit | feb04535441d2d17f8c75f021514e47745d658b8 (patch) | |
tree | 2e7db2782d1466e19e91914d252ee32d24f2052e /gcc/testsuite/gcc.dg/declspec-6.c | |
parent | 8ddedbd6c3206a87db9280026457154e28883603 (diff) | |
download | gcc-feb04535441d2d17f8c75f021514e47745d658b8.tar.gz |
* c-tree.h (enum c_storage_class): New.
(struct c_declspecs): Add storage_class, inline_p and thread_p.
* c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
declarations and "auto" or "register" in file scope empty
declarations. Give more specific warnings for other cases of
storage class specifiers in empty declarations.
(grokdeclarator): Update for new structures. Don't check for
multiple storage classes. Diagnose file-scope "register" if
pedantic.
(build_null_declspecs): Update.
(declspecs_add_scspec): Update. Diagnose multiple storage class
specifiers and invalid uses of "__thread".
testsuite:
* gcc.dg/declspec-4.c, gcc.dg/declspec-5.c, gcc.dg/declspec-6.c,
gcc.dg/tls/diag-2.c: Update expected messages.
* gcc.dg/991209-1.c: Specify compilation options. Update expected
messages.
* gcc.dg/pr14289-2.c, gcc.dg/pr14289-3.c: Remove.
* gcc.dg/declspec-7.c, gcc.dg/declspec-8.c, gcc.dg/declspec-9.c,
gcc.dg/declspec-10.c, gcc.dg/declspec-11.c, gcc.dg/tls/diag-4.c,
gcc.dg/tls/diag-5.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87374 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.dg/declspec-6.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/declspec-6.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/testsuite/gcc.dg/declspec-6.c b/gcc/testsuite/gcc.dg/declspec-6.c index 91a5d82b842..305eed78bd9 100644 --- a/gcc/testsuite/gcc.dg/declspec-6.c +++ b/gcc/testsuite/gcc.dg/declspec-6.c @@ -22,7 +22,7 @@ int; /* { dg-error "error: useless type name in empty declaration" } */ long; /* { dg-warning "warning: useless keyword or type name in empty declaration" } */ /* { dg-error "error: empty declaration" "long" { target *-*-* } 22 } */ T; /* { dg-error "error: useless type name in empty declaration" } */ -static const; /* { dg-warning "warning: useless keyword or type name in empty declaration" } */ +static const; /* { dg-warning "warning: useless storage class specifier in empty declaration" } */ /* { dg-error "error: empty declaration" "long" { target *-*-* } 25 } */ union { long b; }; /* { dg-error "error: unnamed struct/union that defines no instances" } */ |