blob: f081f8e0289a7a5a63aaa40212ecc8d879aab29c [file] [log] [blame]
// Test for transaction_safe mangling.
// { dg-options -fgnu-tm }
// { dg-final { scan-assembler "_Z1fPDxFvvE" } }
void f(void (*)() transaction_safe) {}
// { dg-final { scan-assembler "_Z1fPDxFvvEPFvvE" } }
void f(void (*)() transaction_safe, void (*)()) {}
// { dg-final { scan-assembler "_Z1fPDxFvvES0_" } }
void f(void (*)() transaction_safe, void (*)() transaction_safe) {}
// { dg-final { scan-assembler "_Z1f1AIKDxFvvEE" } }
template <class T> struct A { };
void f(A<void () const transaction_safe>) { }
// { dg-final { scan-assembler "_Z1fM1AIiEKDxFvvE" } }
void f(void (A<int>::*)() const transaction_safe) { }