// Test that transaction_safe_dynamic can only be used on virtual functions. // { dg-options "-fgnu-tm -std=c++14" } void f() transaction_safe_dynamic; // { dg-error "virtual" } auto a = []() transaction_safe_dynamic {}; // { dg-error "virtual" } struct A { void f() transaction_safe_dynamic; // { dg-error "virtual" } virtual void g(); }; struct B: A { void g() transaction_safe_dynamic; };