re PR c++/23699 (rejects static int as non constant after "extern template")
authorMark Mitchell <mark@codesourcery.com>
Sat, 3 Sep 2005 18:18:48 +0000 (18:18 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Sat, 3 Sep 2005 18:18:48 +0000 (18:18 +0000)
commit2725073463dfe4d70a5111f6723a2f4ea36ba875
treece48d74b7c9e2e53dacefc8aad93e808cce4796a
parent7c95bbfbddcdadec7ca9f7662f55c74159064107
re PR c++/23699 (rejects static int as non constant after "extern template")

PR c++/23699
* decl2.c (mark_used): Always instantiate static data members
initialized by constant expressions.
* pt.c (instantiate_decl): Instantiate the initializers for static
data members initialized by constant expressions.

PR c++/21687
* semantics.c (expand_or_defer_fn): Do not call ggc_collect when
finishing processing for a template function in a local class.
Revert:
2005-09-02  Mark Mitchell  <mark@codesourcery.com>
* parser.c (cp_parser_class_specifier): Push/pop GC contexts
around functions in local classes.

PR c++/23699
* g++.dg/ext/static1.C: New test.

From-SVN: r103806
gcc/cp/ChangeLog
gcc/cp/decl2.c
gcc/cp/parser.c
gcc/cp/semantics.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/static1.C [new file with mode: 0644]