| // RUN: %llvmgcc %s -Os -S -g -o - | grep DW_TAG_structure_type | count 1 | |
| // Variable 'a' is optimized but the debug info should preserve its type info. | |
| #include <stdlib.h> | |
| struct foo { | |
| int Attribute; | |
| }; | |
| void *getfoo(void) __attribute__((noinline)); | |
| void *getfoo(void) | |
| { | |
| int *x = malloc(sizeof(int)); | |
| *x = 42; | |
| return (void *)x; | |
| } | |
| int main(int argc, char *argv[]) { | |
| struct foo *a = (struct foo *)getfoo(); | |
| return a->Attribute; | |
| } | |