diff options
| author | Mark Simulacrum <mark.simulacrum@gmail.com> | 2017-05-19 14:16:26 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-05-19 14:16:26 -0600 |
| commit | 040cd6d15dcc8c1f66726293d52df93abd2e4b76 (patch) | |
| tree | 58817f4ea75abe5821f5df9fc2b039be1bf9de84 /src/test/debuginfo | |
| parent | 5ded76ca214a9786582e5dd0cb81408006daeef3 (diff) | |
| parent | b5acbd3f0360b221e9885be4c99957272b0ede82 (diff) | |
| download | rust-040cd6d15dcc8c1f66726293d52df93abd2e4b76.tar.gz rust-040cd6d15dcc8c1f66726293d52df93abd2e4b76.zip | |
Rollup merge of #42100 - michaelwoerister:fix-osx-multi-cgu-debuginfo, r=jdm
debuginfo: Generate unique DW_AT_names for compilation units to work around OSX linker bug This should fix issue #39160 and does not seem to cause any problems. cc @tromey, @Manishearth r? @jdm
Diffstat (limited to 'src/test/debuginfo')
| -rw-r--r-- | src/test/debuginfo/multi-cgu.rs | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/src/test/debuginfo/multi-cgu.rs b/src/test/debuginfo/multi-cgu.rs new file mode 100644 index 00000000000..f4f9f92396f --- /dev/null +++ b/src/test/debuginfo/multi-cgu.rs @@ -0,0 +1,67 @@ +// Copyright 2017 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. + + +// This test case makes sure that we get proper break points for binaries +// compiled with multiple codegen units. (see #39160) + + +// min-lldb-version: 310 + +// compile-flags:-g -Ccodegen-units=2 + +// === GDB TESTS =============================================================== + +// gdb-command:run + +// gdb-command:print xxx +// gdb-check:$1 = 12345 +// gdb-command:continue + +// gdb-command:print yyy +// gdb-check:$2 = 67890 +// gdb-command:continue + + +// === LLDB TESTS ============================================================== + +// lldb-command:run + +// lldb-command:print xxx +// lldb-check:[...]$0 = 12345 +// lldb-command:continue + +// lldb-command:print yyy +// lldb-check:[...]$1 = 67890 +// lldb-command:continue + + +#![feature(omit_gdb_pretty_printer_section)] +#![omit_gdb_pretty_printer_section] + +mod a { + pub fn foo(xxx: u32) { + super::_zzz(); // #break + } +} + +mod b { + pub fn bar(yyy: u64) { + super::_zzz(); // #break + } +} + +fn main() { + a::foo(12345); + b::bar(67890); +} + +#[inline(never)] +fn _zzz() {} |
