mirror of
https://github.com/llvm/llvm-project.git
synced 2025-05-10 01:56:06 +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
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"
|