Commit 112eadc7 by Paolo Carlini

re PR c++/51150 ([C++11][4.6/4.7 Regression] ICE when result of -> initializes…

re PR c++/51150 ([C++11][4.6/4.7 Regression] ICE when result of -> initializes const variable of different type)

/cp
2011-11-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51150
	* pt.c (tsubst_copy_and_build): Handle FIX_TRUNC_EXPR.

/testsuite
2011-11-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51150
	* g++.dg/cpp0x/pr51150.C: New.

From-SVN: r181478
parent 39cc8c3d
2011-11-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51150
* pt.c (tsubst_copy_and_build): Handle FIX_TRUNC_EXPR.
2011-11-18 Dodji Seketeli <dodji@redhat.com>
PR c++/51191
......
......@@ -13387,6 +13387,10 @@ tsubst_copy_and_build (tree t,
return build_x_unary_op (TREE_CODE (t), RECUR (TREE_OPERAND (t, 0)),
complain);
case FIX_TRUNC_EXPR:
return cp_build_unary_op (FIX_TRUNC_EXPR, RECUR (TREE_OPERAND (t, 0)),
0, complain);
case ADDR_EXPR:
op1 = TREE_OPERAND (t, 0);
if (TREE_CODE (op1) == LABEL_DECL)
......
2011-11-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51150
* g++.dg/cpp0x/pr51150.C: New.
2011-11-18 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/50605
......@@ -16,7 +21,7 @@
2011-11-17 Andrew MacLeod <amacleod@redhat.com>
* gcc.dg/atomic-generic-aux.c (__atomic_compare_exchange): Fail if
* gcc.dg/atomic-generic-aux.c (__atomic_compare_exchange): Fail if
memory model parameters don't match expected values.
* gcc.dg/atomic-generic.c: Pass specific memory model parameters to
__atomic_compare_exchange.
......
// PR c++/51150
// { dg-options "-std=c++0x" }
struct Clock {
double Now();
};
template <class T> void Foo(Clock* clock) {
const int now = clock->Now();
}
template void Foo<float>(Clock*);
template <class T> void Boo(int val) {
const int now1 = (double)(val);
const int now2 = const_cast<double>(val); // { dg-error "invalid" }
const int now3 = static_cast<double>(val);
const int now4 = reinterpret_cast<double>(val); // { dg-error "invalid" }
}
template void Boo<float>(int);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment