diff options
| author | Michael Woerister <michaelwoerister@posteo.net> | 2016-04-26 17:04:36 -0400 |
|---|---|---|
| committer | Michael Woerister <michaelwoerister@posteo.net> | 2016-05-01 23:45:33 -0400 |
| commit | 42303536c23ecc27e5571efd87d7116fff712bb8 (patch) | |
| tree | cee900530ae5c1c08c2f40b6190390dddfed58ec /src/test/debuginfo | |
| parent | a4b0481d1c21be290f587a85e8bb342b6d0b7093 (diff) | |
| download | rust-42303536c23ecc27e5571efd87d7116fff712bb8.tar.gz rust-42303536c23ecc27e5571efd87d7116fff712bb8.zip | |
debuginfo: Fix regression in namespace handling for struct types.
Diffstat (limited to 'src/test/debuginfo')
| -rw-r--r-- | src/test/debuginfo/struct-namespace.rs | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/src/test/debuginfo/struct-namespace.rs b/src/test/debuginfo/struct-namespace.rs new file mode 100644 index 00000000000..3fd4cf57b2a --- /dev/null +++ b/src/test/debuginfo/struct-namespace.rs @@ -0,0 +1,70 @@ +// Copyright 2013-2016 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-gdb +// compile-flags:-g +// min-lldb-version: 310 + +// Check that structs get placed in the correct namespace + +// lldb-command:run +// lldb-command:p struct1 +// lldb-check:(struct_namespace::Struct1) $0 = [...] +// lldb-command:p struct2 +// lldb-check:(struct_namespace::Struct2) $1 = [...] + +// lldb-command:p mod1_struct1 +// lldb-check:(struct_namespace::mod1::Struct1) $2 = [...] +// lldb-command:p mod1_struct2 +// lldb-check:(struct_namespace::mod1::Struct2) $3 = [...] + +#![allow(unused_variables)] +#![allow(dead_code)] +#![feature(omit_gdb_pretty_printer_section)] +#![omit_gdb_pretty_printer_section] + +struct Struct1 { + a: u32, + b: u64, +} + +struct Struct2(u32); + +mod mod1 { + + pub struct Struct1 { + pub a: u32, + pub b: u64, + } + + pub struct Struct2(pub u32); +} + + +fn main() { + let struct1 = Struct1 { + a: 0, + b: 1, + }; + + let struct2 = Struct2(2); + + let mod1_struct1 = mod1::Struct1 { + a: 3, + b: 4, + }; + + let mod1_struct2 = mod1::Struct2(5); + + zzz(); // #break +} + +#[inline(never)] +fn zzz() {()} |
