re PR c++/29024 (storage class specifier accepted for typedef (clause 7.1.1 ; 1))
authorLee Millward <lee.millward@codesourcery.com>
Wed, 11 Oct 2006 19:31:33 +0000 (19:31 +0000)
committerLee Millward <lmillward@gcc.gnu.org>
Wed, 11 Oct 2006 19:31:33 +0000 (19:31 +0000)
commit2610654299771d3fe46c1c55bb797e78810a72cd
treea7b32d64c052d1629ca208252036bb3c64a9f362
parent377d569bdb93c48ccb209288dbddf0625e9ee335
re PR c++/29024 (storage class specifier accepted for typedef (clause 7.1.1 ; 1))

        PR c++/29024
        * cp-tree (struct cp_decl_specifier_seq): Rename to
        conflicting_specifiers_p
        * parser.c (cp_parser_set_storage_class): Set
        conflicting_specifiers_p for the input decl specifier
        if a typedef specifier is present. Rename uses of
        multiple_specifiers_p to conflicting_specifiers_p.
        (cp_parser_decl_specifier_seq) <RID_TYPEDEF>: If a storage
        class specifier has already been set for this declaration,
        set conflicting_specifiers_p to true on the decl_specs.
        * decl.c (grokdeclarator): Rename uses of
        multiple_specifiers_p to conflicting_specifiers_p.

        * g++.dg/parse/typedef8.C: New test.
        * g++.dg/other/mult-stor1.C: Adjust error markers.

From-SVN: r117641
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/parser.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/other/mult-stor1.C
gcc/testsuite/g++.dg/parse/typedef8.C [new file with mode: 0644]