* c-tree.h (enum c_storage_class): New.
commit9c08427a470bf0244808f4dcb633490d43f1fb8b
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 11 Sep 2004 22:15:14 +0000 (11 22:15 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 11 Sep 2004 22:15:14 +0000 (11 22:15 +0000)
tree5528b98778c3ae40214dcdbfb32a36d789c31c3a
parent09e39ca0571f3aed171610ba415fa0600df2f2d2
* 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@87376 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/c-tree.h