OSDN Git Service

* c-tree.h (enum c_storage_class): New.
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 11 Sep 2004 21:29:42 +0000 (21:29 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 11 Sep 2004 21:29:42 +0000 (21:29 +0000)
commitfeb04535441d2d17f8c75f021514e47745d658b8
tree2e7db2782d1466e19e91914d252ee32d24f2052e
parent8ddedbd6c3206a87db9280026457154e28883603
* 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
17 files changed:
gcc/ChangeLog
gcc/c-decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/991209-1.c
gcc/testsuite/gcc.dg/declspec-10.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/declspec-11.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/declspec-4.c
gcc/testsuite/gcc.dg/declspec-5.c
gcc/testsuite/gcc.dg/declspec-6.c
gcc/testsuite/gcc.dg/declspec-7.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/declspec-8.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/declspec-9.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr14289-2.c [deleted file]
gcc/testsuite/gcc.dg/pr14289-3.c [deleted file]
gcc/testsuite/gcc.dg/tls/diag-2.c
gcc/testsuite/gcc.dg/tls/diag-4.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tls/diag-5.c [new file with mode: 0644]