re PR c++/83824 (ICE on invalid C++ code with alignas: in chainon, at tree.c:3037)
authorJakub Jelinek <jakub@redhat.com>
Wed, 17 Jan 2018 23:42:36 +0000 (00:42 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 17 Jan 2018 23:42:36 +0000 (00:42 +0100)
commitcfb14840b842698f12ad82ab42ed4b8445af8992
treec2feaf80b936a5497948de764c734bf6578d3319
parenta3b11faf7e1920d972eb98b86dc826b107f979a0
re PR c++/83824 (ICE on invalid C++ code with alignas: in chainon, at tree.c:3037)

PR c++/83824
* parser.c (attr_chainon): New function.
(cp_parser_label_for_labeled_statement, cp_parser_decl_specifier_seq,
cp_parser_namespace_definition, cp_parser_init_declarator,
cp_parser_type_specifier_seq, cp_parser_parameter_declaration,
cp_parser_gnu_attributes_opt): Use it.
(cp_parser_member_declaration, cp_parser_objc_class_ivars,
cp_parser_objc_struct_declaration): Likewise.  Don't reset
prefix_attributes if attributes is error_mark_node.

* g++.dg/cpp0x/pr83824.C: New test.

From-SVN: r256823
gcc/cp/ChangeLog
gcc/cp/parser.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/pr83824.C [new file with mode: 0644]