xref: /llvm-project/clang/test/CodeGen/assignment-tracking/nested-scope.cpp (revision 78b0689ff289f3ab52d5a90fc782d556c05f21ed)
1 // RUN: %clang_cc1 -triple x86_64-none-linux-gnu -debug-info-kind=standalone -O0 \
2 // RUN:     -emit-llvm  -fexperimental-assignment-tracking=forced %s -o -        \
3 // RUN:     -disable-O0-optnone                                                  \
4 // RUN: | FileCheck %s
5 
6 // Check that dbg.assign intrinsics get a !dbg with with the same scope as
7 // their variable.
8 
9 // CHECK: call void @llvm.dbg.assign({{.+}}, metadata [[local:![0-9]+]], {{.+}}, {{.+}}, {{.+}}), !dbg [[dbg:![0-9]+]]
10 // CHECK-DAG: [[local]] = !DILocalVariable(name: "local", scope: [[scope:![0-9]+]],
11 // CHECK-DAG: [[dbg]] = !DILocation({{.+}}, scope: [[scope]])
12 // CHECK-DAG: [[scope]] = distinct !DILexicalBlock
13 
14 void ext(int*);
15 void fun() {
16   {
17     int local;
18   }
19 }
20 
21