From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- src/test/ui/lto/auxiliary/debuginfo-lto-aux.rs | 29 ++++++++++++++++++++++ src/test/ui/lto/auxiliary/dylib.rs | 6 +++++ .../ui/lto/auxiliary/lto-duplicate-symbols1.rs | 6 +++++ .../ui/lto/auxiliary/lto-duplicate-symbols2.rs | 6 +++++ .../lto/auxiliary/lto-rustc-loads-linker-plugin.rs | 6 +++++ src/test/ui/lto/auxiliary/msvc-imp-present.rs | 11 ++++++++ src/test/ui/lto/auxiliary/thin-lto-inlines-aux.rs | 7 ++++++ 7 files changed, 71 insertions(+) create mode 100644 src/test/ui/lto/auxiliary/debuginfo-lto-aux.rs create mode 100644 src/test/ui/lto/auxiliary/dylib.rs create mode 100644 src/test/ui/lto/auxiliary/lto-duplicate-symbols1.rs create mode 100644 src/test/ui/lto/auxiliary/lto-duplicate-symbols2.rs create mode 100644 src/test/ui/lto/auxiliary/lto-rustc-loads-linker-plugin.rs create mode 100644 src/test/ui/lto/auxiliary/msvc-imp-present.rs create mode 100644 src/test/ui/lto/auxiliary/thin-lto-inlines-aux.rs (limited to 'src/test/ui/lto/auxiliary') diff --git a/src/test/ui/lto/auxiliary/debuginfo-lto-aux.rs b/src/test/ui/lto/auxiliary/debuginfo-lto-aux.rs new file mode 100644 index 000000000..dd471154b --- /dev/null +++ b/src/test/ui/lto/auxiliary/debuginfo-lto-aux.rs @@ -0,0 +1,29 @@ +// compile-flags: -g --crate-type=rlib + +pub struct StructWithLifetime<'a>(&'a i32); +pub fn mk_struct_with_lt<'a>(x: &'a i32) -> StructWithLifetime<'a> { + StructWithLifetime(x) +} + +pub struct RegularStruct(u32); +pub fn mk_regular_struct(x: u32) -> RegularStruct { + RegularStruct(x) +} + +pub fn take_fn(f: fn(i32) -> i32, x: i32) -> i32 { + f(x) +} + +pub fn with_closure(x: i32) -> i32 { + let closure = |i| { x + i }; + + closure(1) + closure(2) +} + +pub fn generic_fn(x: T) -> (T, u32) { + (x, 1) +} + +pub fn user_of_generic_fn(x: f32) -> (f32, u32) { + generic_fn(x) +} diff --git a/src/test/ui/lto/auxiliary/dylib.rs b/src/test/ui/lto/auxiliary/dylib.rs new file mode 100644 index 000000000..e8b7f8f9f --- /dev/null +++ b/src/test/ui/lto/auxiliary/dylib.rs @@ -0,0 +1,6 @@ +// compile-flags: -Z thinlto -C codegen-units=8 + +#[inline] +pub fn foo(b: u8) { + b.to_string(); +} diff --git a/src/test/ui/lto/auxiliary/lto-duplicate-symbols1.rs b/src/test/ui/lto/auxiliary/lto-duplicate-symbols1.rs new file mode 100644 index 000000000..ec6d05603 --- /dev/null +++ b/src/test/ui/lto/auxiliary/lto-duplicate-symbols1.rs @@ -0,0 +1,6 @@ +// no-prefer-dynamic + +#![crate_type = "rlib"] + +#[no_mangle] +pub extern "C" fn foo() {} diff --git a/src/test/ui/lto/auxiliary/lto-duplicate-symbols2.rs b/src/test/ui/lto/auxiliary/lto-duplicate-symbols2.rs new file mode 100644 index 000000000..ec6d05603 --- /dev/null +++ b/src/test/ui/lto/auxiliary/lto-duplicate-symbols2.rs @@ -0,0 +1,6 @@ +// no-prefer-dynamic + +#![crate_type = "rlib"] + +#[no_mangle] +pub extern "C" fn foo() {} diff --git a/src/test/ui/lto/auxiliary/lto-rustc-loads-linker-plugin.rs b/src/test/ui/lto/auxiliary/lto-rustc-loads-linker-plugin.rs new file mode 100644 index 000000000..d24375b2d --- /dev/null +++ b/src/test/ui/lto/auxiliary/lto-rustc-loads-linker-plugin.rs @@ -0,0 +1,6 @@ +// compile-flags: -Clinker-plugin-lto +// no-prefer-dynamic + +#![crate_type = "rlib"] + +pub fn foo() {} diff --git a/src/test/ui/lto/auxiliary/msvc-imp-present.rs b/src/test/ui/lto/auxiliary/msvc-imp-present.rs new file mode 100644 index 000000000..933af050a --- /dev/null +++ b/src/test/ui/lto/auxiliary/msvc-imp-present.rs @@ -0,0 +1,11 @@ +// no-prefer-dynamic +// compile-flags: -Z thinlto -C codegen-units=8 -C prefer-dynamic + +#![crate_type = "rlib"] +#![crate_type = "dylib"] + +pub static A: u32 = 43; + +pub mod a { + pub static A: u32 = 43; +} diff --git a/src/test/ui/lto/auxiliary/thin-lto-inlines-aux.rs b/src/test/ui/lto/auxiliary/thin-lto-inlines-aux.rs new file mode 100644 index 000000000..5fd3f1996 --- /dev/null +++ b/src/test/ui/lto/auxiliary/thin-lto-inlines-aux.rs @@ -0,0 +1,7 @@ +// no-prefer-dynamic + +#![crate_type = "rlib"] + +pub fn bar() -> u32 { + 3 +} -- cgit v1.2.3