diff options
| author | bors <bors@rust-lang.org> | 2014-04-16 09:36:33 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-04-16 09:36:33 -0700 |
| commit | baa149bcc7c99dfe3cb5959ae3ba2ff59267d1ae (patch) | |
| tree | bfba5ab3a44c8f3c7612447a8e78d0958ab136ec /src | |
| parent | 72869b6579154d7aa322ddd0f9e3d89fd8abe8c4 (diff) | |
| parent | 7c042cd70b9528051a1a1abba9e5d18657550306 (diff) | |
| download | rust-baa149bcc7c99dfe3cb5959ae3ba2ff59267d1ae.tar.gz rust-baa149bcc7c99dfe3cb5959ae3ba2ff59267d1ae.zip | |
auto merge of #13556 : michaelwoerister/rust/various-fixes, r=alexcrichton
This is a test case verifying that issue #12886 was indeed fixed by PR #13441 from last week. Fixes #12886.
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/debug-info/issue12886.rs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/test/debug-info/issue12886.rs b/src/test/debug-info/issue12886.rs new file mode 100644 index 00000000000..328ed54b5b2 --- /dev/null +++ b/src/test/debug-info/issue12886.rs @@ -0,0 +1,35 @@ +// Copyright 2013-2014 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-android: FIXME(#10381) + +// compile-flags:-g +// debugger:break issue12886.rs:29 +// debugger:run +// debugger:next +// check:[...]30[...]s +// debugger:continue + +// IF YOU MODIFY THIS FILE, BE CAREFUL TO ADAPT THE LINE NUMBERS IN THE DEBUGGER COMMANDS + +// This test makes sure that gdb does not set unwanted breakpoints in inlined functions. If a +// breakpoint existed in unwrap(), then calling `next` would (when stopped at line 27) would stop +// in unwrap() instead of stepping over the function invocation. By making sure that `s` is +// contained in the output, after calling `next` just once, we can be sure that we did not stop in +// unwrap(). (The testing framework doesn't allow for checking that some text is *not* contained in +// the output, which is why we have to make the test in this kind of roundabout way) +fn bar() -> int { + let s = Some(5).unwrap(); + s +} + +fn main() { + let _ = bar(); +} |
