Tests.
Namely, a regression test for issue #69798 (export added), and the inverse of that test (export removd).
This commit is contained in:
parent
e542f4fa59
commit
12207f6c66
2 changed files with 52 additions and 0 deletions
|
|
@ -0,0 +1,26 @@
|
|||
// revisions: cfail1 cfail2
|
||||
// build-pass
|
||||
|
||||
// rust-lang/rust#69798:
|
||||
//
|
||||
// This is analgous to cgu_invalidated_when_import_added, but it covers a
|
||||
// problem uncovered where a change to the *export* set caused a link failure
|
||||
// when reusing post-LTO optimized object code.
|
||||
|
||||
pub struct Foo {}
|
||||
impl Drop for Foo {
|
||||
fn drop(&mut self) {
|
||||
println!("Dropping Foo");
|
||||
}
|
||||
}
|
||||
#[no_mangle]
|
||||
pub extern "C" fn run() {
|
||||
thread_local! { pub static FOO : Foo = Foo { } ; }
|
||||
|
||||
#[cfg(cfail2)]
|
||||
{
|
||||
FOO.with(|_f| ())
|
||||
}
|
||||
}
|
||||
|
||||
pub fn main() { run() }
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
// revisions: cfail1 cfail2
|
||||
// build-pass
|
||||
|
||||
// rust-lang/rust#69798:
|
||||
//
|
||||
// This is analgous to cgu_invalidated_when_export_added, but it covers the
|
||||
// other direction. This is analogous to cgu_invalidated_when_import_added: we
|
||||
// include it, because it may uncover bugs in variant implementation strategies.
|
||||
|
||||
pub struct Foo {}
|
||||
impl Drop for Foo {
|
||||
fn drop(&mut self) {
|
||||
println!("Dropping Foo");
|
||||
}
|
||||
}
|
||||
#[no_mangle]
|
||||
pub extern "C" fn run() {
|
||||
thread_local! { pub static FOO : Foo = Foo { } ; }
|
||||
|
||||
#[cfg(cfail1)]
|
||||
{
|
||||
FOO.with(|_f| ())
|
||||
}
|
||||
}
|
||||
|
||||
pub fn main() { run() }
|
||||
Loading…
Add table
Add a link
Reference in a new issue