re PR c++/56998 (ICE in value_dependent_expression_p, at cp/pt.c:19598)
PR c++/56998 * semantics.c (potential_constant_expression_1): Make sure the called function is potentially constant. * call.c (null_ptr_cst_p): Revert earlier change. From-SVN: r198881
This commit is contained in:
parent
d4c52634ce
commit
1a2887689b
|
@ -1,3 +1,10 @@
|
|||
2013-05-14 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/56998
|
||||
* semantics.c (potential_constant_expression_1): Make sure the
|
||||
called function is potentially constant.
|
||||
* call.c (null_ptr_cst_p): Revert earlier change.
|
||||
|
||||
2013-05-13 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/56998
|
||||
|
|
|
@ -554,7 +554,7 @@ null_ptr_cst_p (tree t)
|
|||
if (CP_INTEGRAL_TYPE_P (TREE_TYPE (t)))
|
||||
{
|
||||
/* Core issue 903 says only literal 0 is a null pointer constant. */
|
||||
if (cxx_dialect < cxx0x && !TREE_SIDE_EFFECTS (t))
|
||||
if (cxx_dialect < cxx0x)
|
||||
t = maybe_constant_value (fold_non_dependent_expr_sfinae (t, tf_none));
|
||||
STRIP_NOPS (t);
|
||||
if (integer_zerop (t) && !TREE_OVERFLOW (t))
|
||||
|
|
|
@ -8476,7 +8476,11 @@ potential_constant_expression_1 (tree t, bool want_rval, tsubst_flags_t flags)
|
|||
}
|
||||
}
|
||||
else
|
||||
fun = get_first_fn (fun);
|
||||
{
|
||||
if (!potential_constant_expression_1 (fun, true, flags))
|
||||
return false;
|
||||
fun = get_first_fn (fun);
|
||||
}
|
||||
/* Skip initial arguments to base constructors. */
|
||||
if (DECL_BASE_CONSTRUCTOR_P (fun))
|
||||
i = num_artificial_parms_for (fun);
|
||||
|
|
Loading…
Reference in New Issue