// RUN: %clang_cc1 -g -emit-llvm < %s | FileCheck %s // RUN: %clang_cc1 -gline-tables-only -emit-llvm < %s | FileCheck --check-prefix=GMLT %s // Two variables with same name in separate scope. // Radar 8330217. int main() { int j = 0; int k = 0; // CHECK: !MDLocalVariable(tag: DW_TAG_auto_variable, name: "i" // CHECK-NEXT: !MDLexicalBlock( // FIXME: Looks like we don't actually need both these lexical blocks (disc 2 // just refers to disc 1, nothing actually uses disc 2). // GMLT-NOT: !MDLexicalBlock // GMLT: !MDLexicalBlockFile({{.*}}, discriminator: 2) // GMLT-NOT: !MDLexicalBlock // GMLT: !MDLexicalBlockFile({{.*}}, discriminator: 1) // Make sure we don't have any more lexical blocks because we don't need them in // -gmlt. // GMLT-NOT: !MDLexicalBlock for (int i = 0; i < 10; i++) j++; // CHECK: !MDLocalVariable(tag: DW_TAG_auto_variable, name: "i" // CHECK-NEXT: !MDLexicalBlock( // GMLT-NOT: !MDLexicalBlock for (int i = 0; i < 10; i++) k++; return 0; }