c-tree.h (enum c_typespec_keyword): New.
authorJoseph Myers <jsm@polyomino.org.uk>
Fri, 17 Sep 2004 18:18:05 +0000 (19:18 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Fri, 17 Sep 2004 18:18:05 +0000 (19:18 +0100)
commit98c3a782774396163f6bcacf91515131e3abe375
tree065e742552e8a8e99595de375f55074a900b5eb3
parent254ea84c129481587eae80d78783b08d8d6cd507
c-tree.h (enum c_typespec_keyword): New.

* c-tree.h (enum c_typespec_keyword): New.
(struct c_declspecs): Adjust description of "type".  Remove
specbits, explicit_int_p and explicit_char_p.  Rename
typedef_signed_p to explicit_signed_p.  Add default_int_p, long_p,
short_p, signed_p, unsigned_p and complex_p.
(finish_declspecs): New.
* c-parse.in (datadef, datadecl, setspecs, decl, component_decl,
typename): Call finish_declspecs.
* c-decl.c (finish_declspecs): New.
(declspecs_add_type): Check for combinations which cannot occur in
valid specifier lists.  Update comments.
(shadow_tag_warned): Remove checks done in finish_declspecs.
Don't report useless type name if type defaulted to int.
(grokdeclarator): Remove checks and actions done in
finish_declspecs.  Don't allow for type being NULL.  Update for
datastructures changes.  Initialize decl_attr.
(build_null_declspecs, quals_from_declspecs): Update for
datastructures changes.

testsuite:
* gcc.dg/declspec-4.c, gcc.dg/declspec-5.c, gcc.dg/declspec-6.c:
Update expected messages.
* gcc.dg/declspec-13.c: New test.

From-SVN: r87660
gcc/ChangeLog
gcc/c-decl.c
gcc/c-parse.in
gcc/c-tree.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/declspec-13.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