With this change, most 'g' options are rejected by CompilerInvocation.
They remain only as Driver options. The new way to request debug info
from cc1 is with "-debug-info-kind={line-tables-only|limited|standalone}"
and "-dwarf-version={2|3|4}". In the absence of a command-line option
to specify Dwarf version, the Toolchain decides it, rather than placing
Toolchain-specific logic in CompilerInvocation.
Also fix a bug in the Windows compatibility argument parsing
in which the "rightmost argument wins" principle failed.
Differential Revision: http://reviews.llvm.org/D13221
llvm-svn: 249655
27 lines
663 B
C++
27 lines
663 B
C++
// RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited %s -o - | FileCheck %s
|
|
// rdar://problem/14985269.
|
|
//
|
|
// Verify that the global init helper function does not get associated
|
|
// with any source location.
|
|
//
|
|
// CHECK: define internal {{.*}}void @_GLOBAL__sub_I_globalinit_loc.cpp
|
|
// CHECK: !dbg ![[DBG:.*]]
|
|
// CHECK: !DISubprogram(linkageName: "_GLOBAL__sub_I_globalinit_loc.cpp"
|
|
// CHECK-NOT: line:
|
|
// CHECK-SAME: isLocal: true
|
|
// CHECK-SAME: isDefinition: true
|
|
// CHECK: ![[DBG]] = !DILocation(line: 0,
|
|
# 99 "someheader.h"
|
|
class A {
|
|
public:
|
|
A();
|
|
int foo() { return 0; }
|
|
};
|
|
# 5 "main.cpp"
|
|
A a;
|
|
|
|
int f() {
|
|
return a.foo();
|
|
}
|
|
|