1 // { dg-options "-fdiagnostics-show-caret" }
2 
3 #define TEST_1_DEPTH_0 throw bad_alloc; // { dg-line define_TEST_1_DEPTH_0 }
4 
test_1()5 void test_1 ()
6 {
7   TEST_1_DEPTH_0 // { dg-line use_TEST_1_DEPTH_0 }
8 }
9 
10 // { dg-error "'bad_alloc' was not declared in this scope" "" { target *-*-* } define_TEST_1_DEPTH_0 }
11 /* { dg-begin-multiline-output "" }
12  #define TEST_1_DEPTH_0 throw bad_alloc;
13                               ^~~~~~~~~
14    { dg-end-multiline-output "" } */
15 // { dg-message "in expansion of macro 'TEST_1_DEPTH_0'" "" { target *-*-* } use_TEST_1_DEPTH_0 }
16 /* { dg-begin-multiline-output "" }
17    TEST_1_DEPTH_0
18    ^~~~~~~~~~~~~~
19    { dg-end-multiline-output "" } */
20 
21 
22 #define TEST_2_DEPTH_0 throw bad_alloc; // { dg-line define_TEST_2_DEPTH_0 }
23 #define TEST_2_DEPTH_1 TEST_2_DEPTH_0 // { dg-line define_TEST_2_DEPTH_1 }
24 
test_2()25 void test_2 ()
26 {
27   TEST_2_DEPTH_1 // { dg-line use_TEST_2_DEPTH_1 }
28 }
29 
30 // { dg-error "'bad_alloc' was not declared in this scope" "" { target *-*-* } define_TEST_2_DEPTH_0 }
31 /* { dg-begin-multiline-output "" }
32  #define TEST_2_DEPTH_0 throw bad_alloc;
33                               ^~~~~~~~~
34    { dg-end-multiline-output "" } */
35 // { dg-message "in expansion of macro 'TEST_2_DEPTH_0'" "" { target *-*-* } define_TEST_2_DEPTH_1 }
36 /* { dg-begin-multiline-output "" }
37  #define TEST_2_DEPTH_1 TEST_2_DEPTH_0
38                         ^~~~~~~~~~~~~~
39    { dg-end-multiline-output "" } */
40 // { dg-message "in expansion of macro 'TEST_2_DEPTH_1'" "" { target *-*-* } use_TEST_2_DEPTH_1 }
41 /* { dg-begin-multiline-output "" }
42    TEST_2_DEPTH_1
43    ^~~~~~~~~~~~~~
44    { dg-end-multiline-output "" } */
45