blob: eac5438313877f5a49a3a685365c7a8f510811a6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
// { dg-do "compile" }
// { dg-options "-fgnu-tm" }
class Obj
{
int dummy;
};
__attribute__((transaction_safe))
Obj* allocate()
{
return new Obj;
}
__attribute__((transaction_safe))
void deallocate(Obj * o)
{
delete o;
}
__attribute__((transaction_safe))
Obj* allocatearray()
{
return new Obj[2];
}
__attribute__((transaction_safe))
void deallocatearray(Obj *o[])
{
delete [] o;
}
/* The delete/new operators are handled by the libitm runtime. */
/* { dg-final { scan-assembler "_ZGTtnw\[mj\]" } } */
/* { dg-final { scan-assembler "_ZGTtna\[mj\]" } } */
/* { dg-final { scan-assembler "_ZGTtdlPv" } } */
/* { dg-final { scan-assembler "_ZGTtdaPv" } } */
|