175c12bf46d5175060d0adeab992a886f22ef7ef8David Blaikie// RUN: %clang_cc1 -emit-llvm -g < %s | FileCheck %s 2d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patel// Test to check number of lexical scope identified in debug info. 375c12bf46d5175060d0adeab992a886f22ef7ef8David Blaikie// CHECK: DW_TAG_lexical_block 475c12bf46d5175060d0adeab992a886f22ef7ef8David Blaikie// CHECK: DW_TAG_lexical_block 575c12bf46d5175060d0adeab992a886f22ef7ef8David Blaikie// CHECK: DW_TAG_lexical_block 675c12bf46d5175060d0adeab992a886f22ef7ef8David Blaikie// CHECK: DW_TAG_lexical_block 7d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patel 8d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patelextern int bar(); 9d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patelextern void foobar(); 10d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patelvoid foo(int s) { 11d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patel unsigned loc = 0; 12d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patel if (s) { 13d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patel if (bar()) { 14d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patel foobar(); 15d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patel } 16d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patel } else { 17d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patel loc = 1; 18d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patel if (bar()) { 19d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patel loc = 2; 20d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patel } 21d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patel } 22d19429f01a4169b573cafa466dd7a09a51e5fd92Devang Patel} 23