diff options
| author | Mark Mitchell <mark@codesourcery.com> | 2006-02-18 08:36:11 +0000 | 
|---|---|---|
| committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2006-02-18 08:36:11 +0000 | 
| commit | d174af6c5853a9adef67ed509faa51a79ad9d320 (patch) | |
| tree | c096019ad738deb34504520ca833df4491508a99 /libcpp/include/cpplib.h | |
| parent | 8305d7868da2a057825734b31113455ef97d9a76 (diff) | |
| download | gcc-d174af6c5853a9adef67ed509faa51a79ad9d320.zip gcc-d174af6c5853a9adef67ed509faa51a79ad9d320.tar.gz gcc-d174af6c5853a9adef67ed509faa51a79ad9d320.tar.bz2 | |
re PR c++/26266 (Trouble with static const data members in template classes)
	PR c++/26266
	* cp-tree.h (cp_finish_decl): Adjust declaration.
	(grokbitfield): Likewise.
	(finish_static_data_member_decl): Likewise.
	* init.c (constant_value_1): Ensure processing_template_decl when
	folding non-dependent initializers for static data members of
	dependent types.  Return error_mark_node for erroneous
	initailizers.
	* class.c (get_vtable_decl): Use finish_decl, not cp_finish_decl.
	* decl.c (cp_make_fname_decl): Adjust call to cp_finish_decl.
	(cp_finish_decl): Add init_const_expr_p parameter.  Set
	DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P here.
	(finish_decl): Adjust call to cp_finish_decl.
	(compute_array_index_type): Robustify.
	(start_method): Use finish_decl, not cp_finish_decl.
	* rtti.c (emit_tinfo_decl): Likewise.
	* except.c (initialize_handler_parm): Adjust call to
	cp_finish_decl.
	(expand_start_catch_block): Likewise.
	* cvt.c (build_up_reference): Adjust call to cp_finish_decl.
	* pt.c (instantiate_class_template): Adjust call to
	finish_static_data_member_decl.
	(tsubst_expr): Use finish_decl, not cp_finish_decl.
	(instantiate_decl): Adjust call to cp_finish_decl.
	* name-lookup.c (pushdecl_top_level_1): Use finish_decl, not
	cp_finish_decl.
	* decl2.c (finish_static_data_member_decl): Add init_const_expr_p
	parameter.
	(grokfield): Likewise.
	* parser.c (cp_parser_condition): Check for constant initializers.
	(cp_parser_init_declarator): Adjust calls to grokfield and
	cp_finish_decl.  Don't set
	DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P here.
	(cp_parser_member_declaration): Likewise.
	(cp_parser_objc_class_ivars): Likewise.
	PR c++/26266
	* g++.dg/template/static22.C: New test.
	* g++.dg/template/static23.C: New test.
	* g++.dg/template/static24.C: New test.
	* g++.dg/template/non-dependent13.C: New test.
From-SVN: r111229
Diffstat (limited to 'libcpp/include/cpplib.h')
0 files changed, 0 insertions, 0 deletions
