Commit 583c0b05 by Dirk Mueller Committed by Dirk Mueller

re PR bootstrap/30510 (Gcc failed to bootstrap)

2007-02-05  Dirk Mueller  <dmueller@suse.de>

       PR bootstrap/30510
       * parser.c (cp_parser_class_specifier): Always initialize bases.

From-SVN: r121596
parent 55d6f631
2007-02-05 Dirk Mueller <dmueller@suse.de>
PR bootstrap/30510
* parser.c (cp_parser_class_specifier): Always initialize bases.
2007-02-05 Paolo Bonzini <bonzini@gnu.org> 2007-02-05 Paolo Bonzini <bonzini@gnu.org>
* cp-tree.h (OMP_ATOMIC_CODE): Delete. * cp-tree.h (OMP_ATOMIC_CODE): Delete.
......
...@@ -13398,6 +13398,10 @@ cp_parser_class_specifier (cp_parser* parser) ...@@ -13398,6 +13398,10 @@ cp_parser_class_specifier (cp_parser* parser)
class-key attributes nested-name-specifier [opt] template-id class-key attributes nested-name-specifier [opt] template-id
base-clause [opt] base-clause [opt]
Upon return BASES is initialized to the list of base classes (or
NULL, if there are none) in the same form returned by
cp_parser_base_clause.
Returns the TYPE of the indicated class. Sets Returns the TYPE of the indicated class. Sets
*NESTED_NAME_SPECIFIER_P to TRUE iff one of the productions *NESTED_NAME_SPECIFIER_P to TRUE iff one of the productions
involving a nested-name-specifier was used, and FALSE otherwise. involving a nested-name-specifier was used, and FALSE otherwise.
...@@ -13432,6 +13436,8 @@ cp_parser_class_head (cp_parser* parser, ...@@ -13432,6 +13436,8 @@ cp_parser_class_head (cp_parser* parser,
type. */ type. */
num_templates = 0; num_templates = 0;
*bases = NULL_TREE;
/* Look for the class-key. */ /* Look for the class-key. */
class_key = cp_parser_class_key (parser); class_key = cp_parser_class_key (parser);
if (class_key == none_type) if (class_key == none_type)
...@@ -13722,7 +13728,6 @@ cp_parser_class_head (cp_parser* parser, ...@@ -13722,7 +13728,6 @@ cp_parser_class_head (cp_parser* parser,
struct A::C : B {}; struct A::C : B {};
is valid. */ is valid. */
*bases = NULL_TREE;
/* Get the list of base-classes, if there is one. */ /* Get the list of base-classes, if there is one. */
if (cp_lexer_next_token_is (parser->lexer, CPP_COLON)) if (cp_lexer_next_token_is (parser->lexer, CPP_COLON))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment