URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [tm/] [attrib-4.C] - Rev 762
Go to most recent revision | Compare with Previous | Blame | View Log
// { dg-do compile }
// { dg-options "-fgnu-tm" }
#define __ts __attribute__((transaction_safe))
#define __tc __attribute__((transaction_callable))
#define __tp __attribute__((transaction_pure))
#define __tu __attribute__((transaction_unsafe))
struct __ts A
{
virtual void f();
virtual void g();
};
struct __tc B : public A
{
void f() __tc; // { dg-error ".transaction_callable. overriding .transaction_safe." }
void g();
virtual void h();
};
struct C : public B
{
void g() __tc; // { dg-error ".transaction_callable. overriding .transaction_safe." }
};
struct C2 : public B
{
void g() __ts;
void h() __tu; // { dg-error ".transaction_unsafe. overriding .transaction_callable." }
};
struct D
{
virtual void f() __tp;
virtual void g() __tp;
};
struct E : public D
{
void f() __ts; // { dg-error ".transaction_safe. overriding .transaction_pure." }
void g();
};
struct F : public E
{
void g() __ts; // { dg-error ".transaction_safe. overriding .transaction_pure." }
};
Go to most recent revision | Compare with Previous | Blame | View Log