aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/declspec-4.c
diff options
context:
space:
mode:
authorJoseph Myers <jsm@polyomino.org.uk>2004-09-11 22:29:42 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2004-09-11 22:29:42 +0100
commit9a26d6ee086c424a32fefd09f55ff314afc2a051 (patch)
tree2e7db2782d1466e19e91914d252ee32d24f2052e /gcc/testsuite/gcc.dg/declspec-4.c
parente6858057449b72a53389616073b72b3778c2cf63 (diff)
downloadgcc-9a26d6ee086c424a32fefd09f55ff314afc2a051.zip
gcc-9a26d6ee086c424a32fefd09f55ff314afc2a051.tar.gz
gcc-9a26d6ee086c424a32fefd09f55ff314afc2a051.tar.bz2
c-tree.h (enum c_storage_class): New.
* 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. From-SVN: r87374
Diffstat (limited to 'gcc/testsuite/gcc.dg/declspec-4.c')
-rw-r--r--gcc/testsuite/gcc.dg/declspec-4.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/testsuite/gcc.dg/declspec-4.c b/gcc/testsuite/gcc.dg/declspec-4.c
index 0610e05..fbc6c36 100644
--- a/gcc/testsuite/gcc.dg/declspec-4.c
+++ b/gcc/testsuite/gcc.dg/declspec-4.c
@@ -22,7 +22,7 @@ int; /* { dg-warning "warning: useless type name in empty declaration" } */
long; /* { dg-warning "warning: useless keyword or type name in empty declaration" } */
/* { dg-warning "warning: empty declaration" "long" { target *-*-* } 22 } */
T; /* { dg-warning "warning: 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-warning "warning: empty declaration" "long" { target *-*-* } 25 } */
union { long b; }; /* { dg-warning "warning: unnamed struct/union that defines no instances" } */