PR c++/60186
* typeck2.c (massage_init_elt): Call fold_non_dependent_expr_sfinae.
From-SVN: r208027
2014-02-21 Jason Merrill <jason@redhat.com>
+ PR c++/60186
+ * typeck2.c (massage_init_elt): Call fold_non_dependent_expr_sfinae.
+
PR c++/60187
* parser.c (cp_parser_enum_specifier): Call
check_for_bare_parameter_packs.
init = TARGET_EXPR_INITIAL (init);
/* When we defer constant folding within a statement, we may want to
defer this folding as well. */
- init = maybe_constant_init (init);
+ tree t = fold_non_dependent_expr_sfinae (init, complain);
+ t = maybe_constant_value (t);
+ if (TREE_CONSTANT (t))
+ init = t;
return init;
}
--- /dev/null
+// PR c++/60186
+// { dg-require-effective-target c++11 }
+
+template<typename> void foo(int i)
+{
+ constexpr int a[] = { i }; // { dg-error "" }
+}