diff options
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/parser.c | 10 |
2 files changed, 13 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index aaf1956..756bc91 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2004-06-28 Mark Mitchell <mark@codesourcery.com> + + * parser.c (cp_parser_set_decl_spec_type): Fix thinko. + 2004-06-27 Gabriel Dos Reis <gdr@integrable-solutions.net> PR c++/14123 diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 174c56a..56605de 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -15439,13 +15439,21 @@ cp_parser_set_decl_spec_type (cp_decl_specifier_seq *decl_specs, || decl_specs->specs[(int) ds_short] || decl_specs->specs[(int) ds_unsigned] || decl_specs->specs[(int) ds_signed])) - decl_specs->redefined_builtin_type = type_spec; + { + decl_specs->redefined_builtin_type = type_spec; + if (!decl_specs->type) + { + decl_specs->type = type_spec; + decl_specs->user_defined_type_p = false; + } + } else if (decl_specs->type) decl_specs->multiple_types_p = true; else { decl_specs->type = type_spec; decl_specs->user_defined_type_p = user_defined_p; + decl_specs->redefined_builtin_type = NULL_TREE; } } |