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