re PR c++/59571 ([C++11] ICE when casting inside static member constexpr brace initializer)

/cp
2014-03-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59571
	* typeck2.c (check_narrowing): Use fold_non_dependent_expr_sfinae.

/testsuite
2014-03-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59571
	* g++.dg/cpp0x/constexpr-ice13.C: New.

From-SVN: r208619
This commit is contained in:
Paolo Carlini 2014-03-17 14:53:05 +00:00 committed by Paolo Carlini
parent ab2ffbeb33
commit 50e4d1ec16
4 changed files with 19 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2014-03-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59571
* typeck2.c (check_narrowing): Use fold_non_dependent_expr_sfinae.
2014-03-14 Jason Merrill <jason@redhat.com>
PR c++/60532

View File

@ -861,7 +861,7 @@ check_narrowing (tree type, tree init)
return;
}
init = maybe_constant_value (init);
init = maybe_constant_value (fold_non_dependent_expr_sfinae (init, tf_none));
if (TREE_CODE (type) == INTEGER_TYPE
&& TREE_CODE (ftype) == REAL_TYPE)

View File

@ -1,3 +1,8 @@
2014-03-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59571
* g++.dg/cpp0x/constexpr-ice13.C: New.
2014-03-17 Marek Polacek <polacek@redhat.com>
PR middle-end/60534

View File

@ -0,0 +1,8 @@
// PR c++/59571
// { dg-do compile { target c++11 } }
template <class>
struct foo
{
static constexpr int bar{(int)-1};
};