From 64d98f8ee037282c35007b64c2649055c56af1db Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:03 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- .../partitioning/local-transitive-inlining.rs | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 tests/codegen-units/partitioning/local-transitive-inlining.rs (limited to 'tests/codegen-units/partitioning/local-transitive-inlining.rs') diff --git a/tests/codegen-units/partitioning/local-transitive-inlining.rs b/tests/codegen-units/partitioning/local-transitive-inlining.rs new file mode 100644 index 000000000..03c37954d --- /dev/null +++ b/tests/codegen-units/partitioning/local-transitive-inlining.rs @@ -0,0 +1,46 @@ +// +// We specify incremental here because we want to test the partitioning for +// incremental compilation +// incremental +// compile-flags:-Zprint-mono-items=lazy +// compile-flags:-Zinline-in-all-cgus + +#![allow(dead_code)] +#![crate_type="rlib"] + +mod inline { + + //~ MONO_ITEM fn inline::inlined_function @@ local_transitive_inlining-indirect_user[Internal] + #[inline(always)] + pub fn inlined_function() + { + + } +} + +mod direct_user { + use super::inline; + + //~ MONO_ITEM fn direct_user::foo @@ local_transitive_inlining-indirect_user[Internal] + #[inline(always)] + pub fn foo() { + inline::inlined_function(); + } +} + +pub mod indirect_user { + use super::direct_user; + + //~ MONO_ITEM fn indirect_user::bar @@ local_transitive_inlining-indirect_user[External] + pub fn bar() { + direct_user::foo(); + } +} + +pub mod non_user { + + //~ MONO_ITEM fn non_user::baz @@ local_transitive_inlining-non_user[External] + pub fn baz() { + + } +} -- cgit v1.2.3