summaryrefslogtreecommitdiff
path: root/test/FrontendC/2010-02-16-DbgVarScope.c
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2010-02-17 02:20:34 +0000
committerDevang Patel <dpatel@apple.com>2010-02-17 02:20:34 +0000
commit22fb4b2a5708c2987a04a823df98b6f9fda60d0c (patch)
tree66dc0d7ced7216b9b9d45213a3c5700835500739 /test/FrontendC/2010-02-16-DbgVarScope.c
parent785d16fe75a4ea0d465f2641f0a19033e0d9badc (diff)
downloadllvm-22fb4b2a5708c2987a04a823df98b6f9fda60d0c.tar.gz
llvm-22fb4b2a5708c2987a04a823df98b6f9fda60d0c.tar.bz2
llvm-22fb4b2a5708c2987a04a823df98b6f9fda60d0c.tar.xz
Before setting scope end marker, pay attention to scope begin marker and existing scope end marker, if any. Scope must begin before it ends and nested inlined scope do not truncate surrounding scope.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96445 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/FrontendC/2010-02-16-DbgVarScope.c')
-rw-r--r--test/FrontendC/2010-02-16-DbgVarScope.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/FrontendC/2010-02-16-DbgVarScope.c b/test/FrontendC/2010-02-16-DbgVarScope.c
new file mode 100644
index 0000000000..1d912d0f5e
--- /dev/null
+++ b/test/FrontendC/2010-02-16-DbgVarScope.c
@@ -0,0 +1,30 @@
+// RUN: %llvmgcc -S -O0 -g %s -o - | \
+// RUN: llc --disable-fp-elim -o %t.s -O0 -relocation-model=pic
+// RUN: %compile_c %t.s -o %t.o
+// RUN: %link %t.o -o %t.exe
+// RUN: echo {break 24\nrun\np loc\n} > %t.in
+// RN: gdb -q -batch -n -x %t.in %t.exe | tee %t.out | \
+// RN: grep {$1 = 1}
+
+int g1 = 1;
+int g2 = 2;
+
+int __attribute__((always_inline)) bar() {
+ return g2 - g1;
+}
+void foobar() {}
+
+void foo(int s) {
+ unsigned loc = 0;
+ if (s) {
+ loc = 1;
+ foobar();
+ } else {
+ loc = bar();
+ foobar();
+ }
+}
+
+int main() {
+ foo(0);
+}