libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / plugin / crash-test-write-though-null-sarif.c
blobd5d824d75fc063d39bb3db5efa8db42d0fb90da7
1 /* { dg-do compile } */
2 /* { dg-options "-fdiagnostics-format=sarif-file" } */
3 /* { dg-additional-options "-fno-report-bug" } */
5 extern void inject_write_through_null (void);
7 void test_inject_write_through_null (void)
9 inject_write_through_null (); /* { dg-ice "" } */
10 /* { dg-regexp "during GIMPLE pass: crash_test" } */
13 /* Verify that some JSON was written to a file with the expected name. */
14 /* { dg-final { verify-sarif-file } } */
16 /* We expect various properties.
17 The indentation here reflects the expected hierarchy, though these tests
18 don't check for that, merely the string fragments we expect.
20 { dg-final { scan-sarif-file "\"version\": \"2.1.0\"" } }
21 { dg-final { scan-sarif-file "\"runs\": \\\[" } }
22 { dg-final { scan-sarif-file "\"artifacts\": \\\[" } }
23 { dg-final { scan-sarif-file "\"location\": " } }
24 { dg-final { scan-sarif-file "\"uri\": " } }
26 { dg-final { scan-sarif-file "\"sourceLanguage\": \"c\"" { target c } } }
27 { dg-final { scan-sarif-file "\"sourceLanguage\": \"cplusplus\"" { target c++ } } }
29 { dg-final { scan-sarif-file "\"contents\": " } }
30 { dg-final { scan-sarif-file "\"text\": " } }
31 { dg-final { scan-sarif-file "\"tool\": " } }
32 { dg-final { scan-sarif-file "\"driver\": " } }
33 { dg-final { scan-sarif-file "\"name\": \"GNU C" } }
34 { dg-final { scan-sarif-file "\"fullName\": \"GNU C" } }
35 { dg-final { scan-sarif-file "\"informationUri\": \"" } }
36 { dg-final { scan-sarif-file "\"extensions\": \\\[" } }
37 { dg-final { scan-sarif-file "\"name\": \"crash_test_plugin\"" } }
39 We expect no results:
40 { dg-final { scan-sarif-file "\"results\": \\\[\\\]" } }
42 but instead should have an invocations array...
44 { dg-final { scan-sarif-file "\"invocations\": \\\[" } }
46 ...containing this:
47 { dg-final { scan-sarif-file "\"executionSuccessful\": false" } }
48 { dg-final { scan-sarif-file "\"toolExecutionNotifications\": \\\[" } }
50 ...containing this notification:
51 { dg-final { scan-sarif-file "\"level\": \"error\"" } }
52 { dg-final { scan-sarif-file "\"locations\": \\\[" } }
53 { dg-final { scan-sarif-file "\"logicalLocations\": \\\[" } }
54 { dg-final { scan-sarif-file "\"kind\": \"function\"" } }
55 { dg-final { scan-sarif-file "\"name\": \"test_inject_write_through_null\"" } }
56 { dg-final { scan-sarif-file "\"physicalLocation\": " } }
57 { dg-final { scan-sarif-file "\"contextRegion\": " } }
58 { dg-final { scan-sarif-file "\"artifactLocation\": " } }
59 { dg-final { scan-sarif-file "\"region\": " } }
60 { dg-final { scan-sarif-file "\"startLine\": 9" } }
61 { dg-final { scan-sarif-file "\"startColumn\": 3" } }
62 { dg-final { scan-sarif-file "\"endColumn\": 31" } }
63 { dg-final { scan-sarif-file "\"message\": " } }
64 { dg-final { scan-sarif-file "\"text\": \"Segmentation \[Ff\]ault" } } */