| /* { 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 } } */ |