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
18 lines
609 B
C++
18 lines
609 B
C++
// RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited -triple x86_64-linux-gnu %s -o - | FileCheck %s
|
|
|
|
// Make sure that the union type has template parameters.
|
|
|
|
namespace PR15637 {
|
|
template <typename T> union Value { int a; };
|
|
void g(float value) {
|
|
Value<float> tempValue;
|
|
}
|
|
Value<float> f;
|
|
}
|
|
|
|
// CHECK: !DICompositeType(tag: DW_TAG_union_type, name: "Value<float>",
|
|
// CHECK-SAME: templateParams: [[TTPARAM:![0-9]+]]
|
|
// CHECK-SAME: identifier: "_ZTSN7PR156375ValueIfEE"
|
|
// CHECK: [[TTPARAM]] = !{[[PARAMS:.*]]}
|
|
// CHECK: [[PARAMS]] = !DITemplateTypeParameter(name: "T"
|