Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/g++.dg/coroutines/torture/alloc-02-fail-new-grooaf-check.C @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 // { dg-do run } | |
2 | |
3 /* check the code-gen for the failed alloc return. | |
4 In this case, we use an operator new that always fails. | |
5 So the g-r-o-o-a-f should fire. */ | |
6 | |
7 #define PROVIDE_GROOAF | |
8 #define USE_FAILING_OP_NEW | |
9 #include "../coro1-allocators.h" | |
10 | |
11 int used_grooaf = 0; | |
12 int used_failing_new = 0; | |
13 | |
14 struct coro1 | |
15 f () noexcept | |
16 { | |
17 PRINT ("coro1: about to return"); | |
18 co_return; | |
19 } | |
20 | |
21 int main () | |
22 { | |
23 /* nest a scope so that we can check the counts. */ | |
24 { | |
25 PRINT ("main: create coro1"); | |
26 struct coro1 x = f (); | |
27 /* we don't expect to be able to do anything. */ | |
28 if (used_failing_new != 1) | |
29 { | |
30 PRINT ("main: we should have used the failing op new"); | |
31 abort (); | |
32 } | |
33 if (used_grooaf != 1) | |
34 { | |
35 PRINT ("main: we should have used the GROOAF"); | |
36 abort (); | |
37 } | |
38 } | |
39 PRINT ("main: returning"); | |
40 return 0; | |
41 } |