repo.or.cz
/
official-gcc.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
strub: enable conditional support
[official-gcc.git]
/
gcc
/
testsuite
/
g++.dg
/
torture
/
pr10148.C
blob
ed278f9f8d85933a99f71ee372d80cf10d46de35
1
/* { dg-do run } */
2
3
#include <stdlib.h>
4
#include <assert.h>
5
6
static bool flag = false;
7
8
class C
9
{
10
bool prev;
11
12
public:
13
C() : prev(flag)
14
{
15
flag = true;
16
}
17
18
~C() {
19
flag = prev;
20
}
21
};
22
23
void* operator new(size_t size)
24
{
25
assert(flag);
26
return malloc(size);
27
}
28
29
void operator delete(void *p)
30
{
31
free(p);
32
}
33
34
void g(int* p)
35
{
36
delete p;
37
}
38
39
void f()
40
{
41
int* p;
42
{
43
C c;
44
p = new int;
45
}
46
g(p);
47
}
48
49
int main(int, char**)
50
{
51
f();
52
}