diff options
| author | Jubilee <workingjubilee@gmail.com> | 2025-06-23 12:48:23 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-23 12:48:23 -0700 |
| commit | b7a9cd871c06d97aa7dadbbcf018c6aec24b1ffd (patch) | |
| tree | 26d624ba1b9891e96ea8688943c4224fe3c1f0fa /tests | |
| parent | 1569f14961384d1d389803992bdcef5913fc17b5 (diff) | |
| parent | 81476465311b1b89cd70f3ade586faa322891a0c (diff) | |
| download | rust-b7a9cd871c06d97aa7dadbbcf018c6aec24b1ffd.tar.gz rust-b7a9cd871c06d97aa7dadbbcf018c6aec24b1ffd.zip | |
Rollup merge of #142923 - folkertdev:min-function-alignment-no-attributes, r=workingjubilee
fix `-Zmin-function-alignment` on functions without attributes tracking issue: https://github.com/rust-lang/rust/issues/82232 related: https://github.com/rust-lang/rust/pull/142854 The minimum function alignment was skipped on functions without attributes (because the logic was in a loop that only runs if there is at least one attribute). The underlying reason we didn't catch this before is that in our testing we generally apply `#[no_mangle]` to functions that are tested. I've added a test now that deliberately has no attributes. r? `@workingjubilee`
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/codegen/min-function-alignment.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/tests/codegen/min-function-alignment.rs b/tests/codegen/min-function-alignment.rs index 75f845572a4..78989ec5df2 100644 --- a/tests/codegen/min-function-alignment.rs +++ b/tests/codegen/min-function-alignment.rs @@ -1,17 +1,19 @@ //@ revisions: align16 align1024 -//@ compile-flags: -C no-prepopulate-passes -Z mir-opt-level=0 +//@ compile-flags: -C no-prepopulate-passes -Z mir-opt-level=0 -Clink-dead-code //@ [align16] compile-flags: -Zmin-function-alignment=16 //@ [align1024] compile-flags: -Zmin-function-alignment=1024 #![crate_type = "lib"] #![feature(fn_align)] -// functions without explicit alignment use the global minimum +// Functions without explicit alignment use the global minimum. // -// CHECK-LABEL: @no_explicit_align +// NOTE: this function deliberately has zero (0) attributes! That is to make sure that +// `-Zmin-function-alignment` is applied regardless of whether attributes are used. +// +// CHECK-LABEL: no_explicit_align // align16: align 16 // align1024: align 1024 -#[no_mangle] pub fn no_explicit_align() {} // CHECK-LABEL: @lower_align |
