diff options
| author | bors <bors@rust-lang.org> | 2018-12-03 11:59:11 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-12-03 11:59:11 +0000 |
| commit | 9cd3bef4cfaaac2a608682d4b0834cda344249e0 (patch) | |
| tree | 9d76d2956c5130a1225e96b17fb664434fe1dca9 /src/test/codegen | |
| parent | 7139e1c3ab0f6b912955f27a0f7df13c582ce5ec (diff) | |
| parent | fb204cb92f5da2cd0b630ee4b6be85b02404823e (diff) | |
| download | rust-9cd3bef4cfaaac2a608682d4b0834cda344249e0.tar.gz rust-9cd3bef4cfaaac2a608682d4b0834cda344249e0.zip | |
Auto merge of #55010 - tromey:Bug-9224-generic-parameters, r=michaelwoerister
Add template parameter debuginfo to generic types
This changes debuginfo generation to add template parameters to
generic types. With this change the DWARF now has
DW_TAG_template_type_param for types, not just for functions, like:
<2><40d>: Abbrev Number: 6 (DW_TAG_structure_type)
<40e> DW_AT_name : (indirect string, offset: 0x375): Generic<i32>
<412> DW_AT_byte_size : 4
<413> DW_AT_alignment : 4
...
<3><41f>: Abbrev Number: 8 (DW_TAG_template_type_param)
<420> DW_AT_type : <0x42a>
<424> DW_AT_name : (indirect string, offset: 0xa65e): T
Closes #9224
Diffstat (limited to 'src/test/codegen')
| -rw-r--r-- | src/test/codegen/generic-debug.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/codegen/generic-debug.rs b/src/test/codegen/generic-debug.rs new file mode 100644 index 00000000000..9d5dbf1cc0a --- /dev/null +++ b/src/test/codegen/generic-debug.rs @@ -0,0 +1,28 @@ +// Copyright 2018 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// ignore-tidy-linelength +// ignore-windows + +// compile-flags: -g -C no-prepopulate-passes + +// CHECK-LABEL: @main +// CHECK: {{.*}}DICompositeType{{.*}}tag: DW_TAG_structure_type,{{.*}}name: "Generic<i32>",{{.*}} +// CHECK: {{.*}}DITemplateTypeParameter{{.*}}name: "Type",{{.*}} + +#![allow(dead_code)] +#![allow(unused_variables)] +#![allow(unused_assignments)] + +pub struct Generic<Type>(Type); + +fn main () { + let generic = Generic(10); +} |
