URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [tm/] [noexcept-2.C] - Rev 693
Compare with Previous | Blame | View Log
// { dg-do compile }
// { dg-options "-fgnu-tm -std=c++0x" }
// All of these must fail, because they are not constant expressions.
template<typename T> int foo(int x, T t)
{
__transaction_atomic noexcept(t) { x++; } /* { dg-error "not a constant" } */
return __transaction_atomic noexcept(t) (x+1); /* { dg-error "not a constant" } */
}
int bar(int x)
{
__transaction_atomic noexcept(x == 23) { x++; } /* { dg-error "not a constant" } */
return __transaction_atomic noexcept(x == 42) (x+1); /* { dg-error "not a constant" } */
}
int f(int x)
{
return foo<bool>(x, true);
}