blob: 22005ed035032f289db4c3b0d57a766eb9aa99a2 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O0 -gctf -dA" } */
/* This tests the following scenario:
1. struct foo;
2. struct foo *a_foo;
3. struct foo { int bar; };
4. void baz (struct foo *f) { f->bar = 0; }
At 2. a forward for struct foo is generated and at 3. the struct
type is fully defined. When a pointer to foo is encountered at 4.,
an additional CTF type for the completed struct shall be emitted as
well. The linker will deduplicate both types. */
struct foo;
struct foo *a_foo;
struct foo { int bar; };
void baz (struct foo *f) { f->bar = 0; }
/* { dg-final { scan-assembler-times "\[\t \]\"bar.0\"\[\t \]+\[^\n\]*ctf_string" 1 } } */