Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.dg/plugin/diagnostic-test-inlining-4.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 /* { dg-do compile } */ | |
2 /* { dg-options "-Wno-attributes -fdiagnostics-show-caret" } */ | |
3 | |
4 extern void __emit_warning (const char *message); | |
5 | |
6 __attribute__((always_inline)) | |
7 static void depth_0 (void) | |
8 { | |
9 __emit_warning ("message"); | |
10 } | |
11 | |
12 __attribute__((always_inline)) | |
13 static void depth_1 (void) | |
14 { | |
15 depth_0 (); | |
16 } | |
17 | |
18 __attribute__((always_inline)) | |
19 static void depth_2 (void) | |
20 { | |
21 depth_1 (); | |
22 } | |
23 | |
24 __attribute__((always_inline)) | |
25 static void depth_3 (void) | |
26 { | |
27 depth_2 (); | |
28 } | |
29 | |
30 __attribute__((always_inline)) | |
31 static void depth_4 (void) | |
32 { | |
33 depth_3 (); | |
34 } | |
35 | |
36 int main() | |
37 { | |
38 depth_4 (); | |
39 return 0; | |
40 } | |
41 | |
42 /* Verify that the diagnostic subsytem describes the chain of inlining | |
43 when reporting the warning, for an example showing many levels of | |
44 inlining. */ | |
45 | |
46 /* { dg-regexp "In function 'depth_0'," "" } */ | |
47 /* { dg-regexp " inlined from 'depth_1' at .+/diagnostic-test-inlining-4.c:15:3," "" } */ | |
48 /* { dg-regexp " inlined from 'depth_2' at .+/diagnostic-test-inlining-4.c:21:3," "" } */ | |
49 /* { dg-regexp " inlined from 'depth_3' at .+/diagnostic-test-inlining-4.c:27:3," "" } */ | |
50 /* { dg-regexp " inlined from 'depth_4' at .+/diagnostic-test-inlining-4.c:33:3," "" } */ | |
51 /* { dg-regexp " inlined from 'main' at .+/diagnostic-test-inlining-4.c:38:3:" "" } */ | |
52 /* { dg-warning "3: message" "" { target *-*-* } 9 } */ | |
53 /* { dg-begin-multiline-output "" } | |
54 __emit_warning ("message"); | |
55 ^~~~~~~~~~~~~~~~~~~~~~~~~~ | |
56 { dg-end-multiline-output "" } */ |