2018-08-22 18:42:56 +02:00
|
|
|
/* PR middle-end/87052 - STRING_CST printing incomplete in Gimple dumps
|
|
|
|
{ dg-do compile }
|
|
|
|
{ dg-options "-fdump-tree-gimple" } */
|
|
|
|
|
|
|
|
void sink (const void*, ...);
|
|
|
|
|
|
|
|
void test (void)
|
|
|
|
{
|
|
|
|
const char a[3] = "\000ab";
|
|
|
|
|
|
|
|
/* Expect the following in the dump:
|
|
|
|
a = "\x00ab"; */
|
|
|
|
|
|
|
|
const char b[] = { 'a', 0, 'b', 'c' };
|
|
|
|
|
|
|
|
/* Expect the following:
|
|
|
|
b = "a\x00bc"; */
|
|
|
|
|
|
|
|
const char c[] = "";
|
|
|
|
|
|
|
|
/* Expect the following:
|
|
|
|
c = ""; */
|
|
|
|
|
|
|
|
const char d[0] = { };
|
|
|
|
|
2021-12-21 05:27:33 +01:00
|
|
|
/* Expect nothing. */
|
2018-08-22 18:42:56 +02:00
|
|
|
|
|
|
|
const char e[0] = "";
|
|
|
|
|
|
|
|
/* Expect nothing. */
|
|
|
|
|
|
|
|
sink (a, b, c, d, e);
|
|
|
|
}
|
|
|
|
|
|
|
|
/* { dg-final { scan-tree-dump-times "a = \"\\\\x00ab\";" 1 "gimple" } }
|
|
|
|
{ dg-final { scan-tree-dump-times "b = \"a\\\\x00bc\";" 1 "gimple" } }
|
|
|
|
{ dg-final { scan-tree-dump-times "c = \"\";" 1 "gimple" } }
|
2021-12-21 05:27:33 +01:00
|
|
|
{ dg-final { scan-tree-dump-times "d = " 1 "gimple" } }
|
|
|
|
{ dg-final { scan-tree-dump-times "d = {CLOBBER\\(eol\\)}" 1 "gimple" } }
|
2018-08-22 18:42:56 +02:00
|
|
|
{ dg-final { scan-tree-dump-times "e = " 1 "gimple" } }
|
2022-02-02 14:24:39 +01:00
|
|
|
{ dg-final { scan-tree-dump-times "e = {CLOBBER\\(eol\\)}" 1 "gimple" } } */
|