+2014-02-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60225
+ * semantics.c (ensure_literal_type_for_constexpr_object): Use
+ strip_array_types.
+
+2014-02-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60215
+ * semantics.c (cxx_eval_constant_expression, [COMPONENT_REF]):
+ During error recovery allow_non_constant may be false.
+
2014-02-18 Adam Butcher <adam@jessamine.co.uk>
PR c++/60190
if (VAR_P (decl) && DECL_DECLARED_CONSTEXPR_P (decl)
&& !processing_template_decl)
{
- if (CLASS_TYPE_P (type) && !COMPLETE_TYPE_P (complete_type (type)))
+ tree stype = strip_array_types (type);
+ if (CLASS_TYPE_P (stype) && !COMPLETE_TYPE_P (complete_type (stype)))
/* Don't complain here, we'll complain about incompleteness
when we try to initialize the variable. */;
else if (!literal_type_p (type))
build_non_dependent_expr, because any expression that
calls or takes the address of the function will have
pulled a FUNCTION_DECL out of the COMPONENT_REF. */
- gcc_checking_assert (allow_non_constant);
+ gcc_checking_assert (allow_non_constant || errorcount);
*non_constant_p = true;
return t;
}
+2014-02-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60225
+ * g++.dg/cpp0x/constexpr-ice10.C: New.
+
+2014-02-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60215
+ * g++.dg/cpp0x/pr60215.C: New.
+
2014-02-18 Tobias Burnus <burnus@net-b.de>
PR fortran/49397