about summary refs log tree commit diff
path: root/tests/codegen/naked-fn
AgeCommit message (Collapse)AuthorLines
2025-07-22Rename `tests/codegen` into `tests/codegen-llvm`Guillaume Gomez-397/+0
2025-07-19Mitigate `#[align]` name resolution ambiguity regression with a renameJieyou Xu-3/+8
From `#[align]` -> `#[rustc_align]`. Attributes starting with `rustc` are always perma-unstable and feature-gated by `feature(rustc_attrs)`. See regression RUST-143834. For the underlying problem where even introducing new feature-gated unstable built-in attributes can break user code such as ```rs macro_rules! align { () => { /* .. */ }; } pub(crate) use align; // `use` here becomes ambiguous ``` refer to RUST-134963. Since the `#[align]` attribute is still feature-gated by `feature(fn_align)`, we can rename it as a mitigation. Note that `#[rustc_align]` will obviously mean that current unstable user code using `feature(fn_aling)` will need additionally `feature(rustc_attrs)`, but this is a short-term mitigation to buy time, and is expected to be changed to a better name with less collision potential. See <https://rust-lang.zulipchat.com/#narrow/channel/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202025-07-17/near/529290371> where mitigation options were considered.
2025-07-06Skip `align` tests on wasmJules Bertholet-0/+2
2025-06-18add `#[align]` attributeFolkert de Vries-3/+3
Right now it's used for functions with `fn_align`, in the future it will get more uses (statics, struct fields, etc.)
2025-04-20stabilize `naked_functions`Folkert de Vries-5/+4
2025-04-19Make `#[naked]` an unsafe attributeFolkert de Vries-50/+46
2025-03-11naked functions: on windows emit `.endef` without the symbol nameFolkert de Vries-24/+48
also add test with `fastcall`, which on i686 uses a different mangling scheme
2025-02-24tests: use minicore moreDavid Wood-18/+6
minicore makes it much easier to add new language items to all of the existing `no_core` tests.
2025-02-11tests/codegen: use -Copt-level=3 instead of -OJubilee Young-1/+1
2025-01-10add `-Zmin-function-alignment`Folkert de Vries-0/+44
2024-12-10make naked function generics test stricterFolkert de Vries-4/+5
2024-12-10codegen `#[naked]` functions using `global_asm!`Folkert-72/+311
2024-10-06disallow `asm!` in `#[naked]` functionsFolkert de Vries-8/+8
also disallow the `noreturn` option, and infer `naked_asm!` as `!`
2024-10-06use `naked_asm!` in naked-function testsFolkert-3/+3
2024-08-27add repr to the allowlist for naked functions, and test that it worksjdonszelmann-0/+20
2024-06-14Use `-Zno-profiler-runtime` instead of `//@ needs-profiler-support`Zalathar-1/+1
For PGO/coverage tests that don't need to build or run an actual artifact, we can use `-Zno-profiler-runtime` to run the test even when the profiler runtime is not available.
2024-05-31Run rustfmt on `tests/codegen/`.Nicholas Nethercote-5/+2
Except for `simd-intrinsic/`, which has a lot of files containing multiple types like `u8x64` which really are better when hand-formatted. There is a surprising amount of two-space indenting in this directory. Non-trivial changes: - `rustfmt::skip` needed in `debug-column.rs` to preserve meaning of the test. - `rustfmt::skip` used in a few places where hand-formatting read more nicely: `enum/enum-match.rs` - Line number adjustments needed for the expected output of `debug-column.rs` and `coroutine-debug.rs`.
2024-04-12do not add prolog for variadic naked functionsGuy Shefy-1/+1
fixes #99858
2024-02-22[AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives许杰友 Jieyou Xu (Joe)-9/+9
2023-07-29tests/codegen/naked-* -> naked-fn/naked-*Jubilee Young-0/+82