131
|
1 /* PR middle-end/87052 - STRING_CST printing incomplete in Gimple dumps
|
|
2 { dg-do compile }
|
|
3 { dg-options "-fdump-tree-gimple" } */
|
|
4
|
|
5 void sink (const void*, ...);
|
|
6
|
|
7 void test (void)
|
|
8 {
|
|
9 const char a[3] = "\000ab";
|
|
10
|
|
11 /* Expect the following in the dump:
|
|
12 a = "\x00ab"; */
|
|
13
|
|
14 const char b[] = { 'a', 0, 'b', 'c' };
|
|
15
|
|
16 /* Expect the following:
|
|
17 b = "a\x00bc"; */
|
|
18
|
|
19 const char c[] = "";
|
|
20
|
|
21 /* Expect the following:
|
|
22 c = ""; */
|
|
23
|
|
24 const char d[0] = { };
|
|
25
|
|
26 /* Expect the following:
|
|
27 d = ""; */
|
|
28
|
|
29 const char e[0] = "";
|
|
30
|
|
31 /* Expect nothing. */
|
|
32
|
|
33 sink (a, b, c, d, e);
|
|
34 }
|
|
35
|
|
36 /* { dg-final { scan-tree-dump-times "a = \"\\\\x00ab\";" 1 "gimple" } }
|
|
37 { dg-final { scan-tree-dump-times "b = \"a\\\\x00bc\";" 1 "gimple" } }
|
|
38 { dg-final { scan-tree-dump-times "c = \"\";" 1 "gimple" } }
|
|
39 { dg-final { scan-tree-dump-times "d = { *};" 1 "gimple" } }
|
|
40 { dg-final { scan-tree-dump-times "e = " 1 "gimple" } }
|
|
41 { dg-final { scan-tree-dump-times "e = {CLOBBER}" 1 "gimple" } } */
|