Test case for r103800.
authorDevang Patel <dpatel@apple.com>
Fri, 14 May 2010 21:04:45 +0000 (21:04 +0000)
committerDevang Patel <dpatel@apple.com>
Fri, 14 May 2010 21:04:45 +0000 (21:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103801 91177308-0d34-0410-b5e6-96231b3b80d8

test/FrontendC/2010-05-14-Optimized-VarType.c [new file with mode: 0644]

diff --git a/test/FrontendC/2010-05-14-Optimized-VarType.c b/test/FrontendC/2010-05-14-Optimized-VarType.c
new file mode 100644 (file)
index 0000000..2aa85b5
--- /dev/null
@@ -0,0 +1,23 @@
+// 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;
+}
+