(cp_gimplify_expr): Handle array default-initialization via
VEC_INIT_EXPR.
- * pt.c (lookup_template_class): push_tinst_level around call to
- coerce_template_parms.
-
* tree.c (stabilize_expr): Handle xvalues properly.
* call.c (build_over_call): Use argarray[0] for 'this' argument.
arglist = bound_args;
}
else
- {
- push_tinst_level (templ);
- arglist
- = coerce_template_parms (INNERMOST_TEMPLATE_PARMS (parmlist),
- INNERMOST_TEMPLATE_ARGS (arglist),
- gen_tmpl,
- complain,
- /*require_all_args=*/true,
- /*use_default_args=*/true);
- pop_tinst_level ();
- }
+ arglist
+ = coerce_template_parms (INNERMOST_TEMPLATE_PARMS (parmlist),
+ INNERMOST_TEMPLATE_ARGS (arglist),
+ gen_tmpl,
+ complain,
+ /*require_all_args=*/true,
+ /*use_default_args=*/true);
if (arglist == error_mark_node)
/* We were unable to bind the arguments. */
* gfortran.dg/namelist_66.f90: New test.
* gfortran.dg/fmt_t_6.f: Fix whitespace.
-2010-10-26 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/arg8.C: Test for helpful diagnostic.
-
2010-10-26 Janus Weil <janus@gcc.gnu.org>
PR fortran/42647
+++ /dev/null
-// Test for a message indicating what template we're trying to convert
-// arguments for. We can't actually test for it directly because it
-// doesn't have an associated line number, but we can test for the
-// "instantiated from here" message that follows.
-
-template <int I>
-struct A { };
-
-int i;
-A<i> a; // { dg-message "instantiated from here" }
-// { dg-error "not a valid template argument" "" { target *-*-* } 10 }
-// { dg-error "invalid type in declaration" "" { target *-*-* } 10 }