mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-28 03:56:07 +00:00

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
28 lines
1.3 KiB
C++
28 lines
1.3 KiB
C++
// RUN: %clang_cc1 %s -debug-info-kind=limited -triple %itanium_abi_triple -fno-use-cxa-atexit -S -emit-llvm -o - \
|
|
// RUN: | FileCheck %s --check-prefix=CHECK-NOKEXT
|
|
// RUN: %clang_cc1 %s -debug-info-kind=limited -triple %itanium_abi_triple -fno-use-cxa-atexit -fapple-kext -S -emit-llvm -o - \
|
|
// RUN: | FileCheck %s --check-prefix=CHECK-KEXT
|
|
|
|
class A {
|
|
public:
|
|
A() {}
|
|
virtual ~A() {}
|
|
};
|
|
|
|
A glob;
|
|
A array[2];
|
|
|
|
void foo() {
|
|
static A stat;
|
|
}
|
|
|
|
// CHECK-NOKEXT: !DISubprogram(name: "__cxx_global_var_init",{{.*}} line: 12,{{.*}} isLocal: true, isDefinition: true
|
|
// CHECK-NOKEXT: !DISubprogram(name: "__dtor_glob",{{.*}} line: 12,{{.*}} isLocal: true, isDefinition: true
|
|
// CHECK-NOKEXT: !DISubprogram(name: "__cxx_global_var_init.1",{{.*}} line: 13,{{.*}} isLocal: true, isDefinition: true
|
|
// CHECK-NOKEXT: !DISubprogram(name: "__cxx_global_array_dtor",{{.*}} line: 13,{{.*}} isLocal: true, isDefinition: true
|
|
// CHECK-NOKEXT: !DISubprogram(name: "__dtor_array",{{.*}} line: 13,{{.*}} isLocal: true, isDefinition: true
|
|
// CHECK-NOKEXT: !DISubprogram(name: "__dtor__ZZ3foovE4stat",{{.*}} line: 16,{{.*}} isLocal: true, isDefinition: true
|
|
// CHECK-NOKEXT: !DISubprogram({{.*}} isLocal: true, isDefinition: true
|
|
|
|
// CHECK-KEXT: !DISubprogram({{.*}} isLocal: true, isDefinition: true
|