16bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// RUN: %clang_cc1 -emit-llvm -g %s -o - | FileCheck %s 26bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// rdar://problem/14985269. 36bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// 46bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// Verify that the global init helper function does not get associated 56bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// with any source location. 66bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// 76bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// CHECK: define internal void @_GLOBAL__sub_I_globalinit_loc.cpp 86bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// CHECK: !dbg ![[DBG:.*]] 96bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// CHECK: "_GLOBAL__sub_I_globalinit_loc.cpp", i32 0, {{.*}}, i32 0} ; [ DW_TAG_subprogram ] [line 0] [local] [def] 106bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// CHECK: ![[DBG]] = metadata !{i32 0, i32 0, 116bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines# 99 "someheader.h" 126bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesclass A { 136bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinespublic: 146bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines A(); 156bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines int foo() { return 0; } 166bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines}; 176bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines# 5 "main.cpp" 186bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen HinesA a; 196bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 206bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesint f() { 216bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines return a.foo(); 226bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 236bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 24