+Mon Oct 6 09:27:29 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * pt.c (instantiate_decl): Look for the original template.
+ (tsubst): Set DECL_IMPLICIT_INSTANTIATION on partial instantiations
+ of member templates.
+
Wed Oct 1 08:41:38 1997 Jason Merrill <jason@yorick.cygnus.com>
* Makefile.in (g++FAQ.*): New rules.
at_eof = 1;
- if (flag_detailed_statistics)
- dump_tree_statistics ();
-
/* Bad parse errors. Just forget about it. */
if (! global_bindings_p () || current_class_type)
return;
varconst_time += this_time - start_time;
if (flag_detailed_statistics)
- dump_time_statistics ();
+ {
+ dump_tree_statistics ();
+ dump_time_statistics ();
+ }
}
/* This is something of the form 'A()()()()()+1' that has turned out to be an
is an explicit instantiation. */
int
-check_explicit_specialization(declarator, decl, template_count,
- flags)
+check_explicit_specialization (declarator, decl, template_count, flags)
tree declarator;
tree decl;
int template_count;
DECL_INITIAL (new_decl) = DECL_INITIAL (decl);
DECL_TI_TEMPLATE (new_decl) = tmpl;
TREE_TYPE (tmpl) = TREE_TYPE (new_decl);
- DECL_TEMPLATE_INSTANTIATIONS(tmpl) = NULL_TREE;
+ DECL_TEMPLATE_INSTANTIATIONS (tmpl) = NULL_TREE;
+ SET_DECL_IMPLICIT_INSTANTIATION (decl);
/* The template parameters for this new template are all the
template parameters for the old template, except the
tree tmpl = TI_TEMPLATE (ti);
tree args = TI_ARGS (ti);
tree td;
- tree pattern = DECL_TEMPLATE_RESULT (tmpl);
+ tree pattern;
tree save_ti;
int nested = in_function_p ();
int d_defined;
int line = lineno;
char *file = input_filename;
+ while (DECL_TEMPLATE_INSTANTIATION (tmpl))
+ tmpl = DECL_TI_TEMPLATE (tmpl);
+
+ pattern = DECL_TEMPLATE_RESULT (tmpl);
+
if (TREE_CODE (d) == FUNCTION_DECL)
{
d_defined = (DECL_INITIAL (d) != NULL_TREE);
print_obstack_statistics ("decl_obstack", &decl_obstack);
print_obstack_statistics ("permanent_obstack", &permanent_obstack);
print_obstack_statistics ("maybepermanent_obstack", &maybepermanent_obstack);
+ print_inline_obstack_statistics ();
print_search_statistics ();
print_class_statistics ();
#ifdef GATHER_STATISTICS