Commit df7f7b9c by Mark Mitchell Committed by Mark Mitchell

re PR c++/10432 (ICE in poplevel, at cp/decl.c:1230)

	PR c++/10432
	* cp-tree.h (finish_declarator): Remove.
	* decl.c (cp_finish_decl): Make sure to pop_nested_class even for
	erroneous declarations.
	* semantics.c (finish_declarator): Remove.

	PR c++/10432
	* g++.dg/parse/error1.C: New test.

From-SVN: r67804
parent 04953ac9
2003-06-11 Mark Mitchell <mark@codesourcery.com>
PR c++/10432
* cp-tree.h (finish_declarator): Remove.
* decl.c (cp_finish_decl): Make sure to pop_nested_class even for
erroneous declarations.
* semantics.c (finish_declarator): Remove.
2003-06-11 Roger Sayle <roger@eyesopen.com>
* decl2.c (generate_ctor_or_dtor_function): Avoid expanding a
......
......@@ -4118,7 +4118,6 @@ extern tree finish_unary_op_expr (enum tree_code, tree);
extern tree finish_compound_literal (tree, tree);
extern tree finish_fname (tree);
extern int begin_function_definition (tree, tree, tree);
extern tree finish_declarator (tree, tree, tree, tree, int);
extern void finish_translation_unit (void);
extern tree finish_template_type_parm (tree, tree);
extern tree finish_template_template_parm (tree, tree);
......
......@@ -8023,7 +8023,7 @@ cp_finish_decl (tree decl, tree init, tree asmspec_tree, int flags)
type = TREE_TYPE (decl);
if (type == error_mark_node)
return;
goto finish_end0;
if (TYPE_HAS_MUTABLE_P (type))
TREE_READONLY (decl) = 0;
......
......@@ -1739,21 +1739,6 @@ begin_function_definition (decl_specs, attributes, declarator)
return 1;
}
/* Finish an init-declarator. Returns a DECL. */
tree
finish_declarator (declarator, declspecs, attributes,
prefix_attributes, initialized)
tree declarator;
tree declspecs;
tree attributes;
tree prefix_attributes;
int initialized;
{
return start_decl (declarator, declspecs, initialized, attributes,
prefix_attributes);
}
/* Finish a translation unit. */
void
......
2003-06-11 Mark Mitchell <mark@codesourcery.com>
PR c++/10432
* g++.dg/parse/error1.C: New test.
2003-06-11 Janis Johnson <janis187@us.ibm.com>
* gcc.dg/compat/struct-by-value-11_main.c: New file.
......
struct INCOMPLETE;
template <int> struct X {
static INCOMPLETE value;
};
template <> INCOMPLETE X<1>::value = 0; // { dg-error "" }
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