diff options
| author | Ralf Jung <post@ralfj.de> | 2024-12-14 09:13:12 +0100 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2025-01-21 06:59:15 -0700 |
| commit | 56c90dc31e86bbaf486826a21a33d7c56e8f742f (patch) | |
| tree | 6b953e5db742226ed1297f87196a69c1d51bd1d7 /tests/codegen | |
| parent | 341f60327fa5302732a4be366949c16f91870b6a (diff) | |
| download | rust-56c90dc31e86bbaf486826a21a33d7c56e8f742f.tar.gz rust-56c90dc31e86bbaf486826a21a33d7c56e8f742f.zip | |
remove support for the #[start] attribute
Diffstat (limited to 'tests/codegen')
| -rw-r--r-- | tests/codegen/gdb_debug_script_load.rs | 28 | ||||
| -rw-r--r-- | tests/codegen/mainsubprogramstart.rs | 14 |
2 files changed, 24 insertions, 18 deletions
diff --git a/tests/codegen/gdb_debug_script_load.rs b/tests/codegen/gdb_debug_script_load.rs index 30d518c0bcb..3e92eba10b1 100644 --- a/tests/codegen/gdb_debug_script_load.rs +++ b/tests/codegen/gdb_debug_script_load.rs @@ -4,14 +4,34 @@ //@ ignore-wasm //@ ignore-emscripten -//@ compile-flags: -g -C no-prepopulate-passes +//@ compile-flags: -g -C no-prepopulate-passes -Cpanic=abort -#![feature(start)] +#![feature(lang_items)] +#![no_std] +#[panic_handler] +fn panic_handler(_: &core::panic::PanicInfo) -> ! { + loop {} +} + +#[no_mangle] +extern "C" fn rust_eh_personality() { + loop {} +} + +// Needs rustc to generate `main` as that's where the magic load is inserted. +// IOW, we cannot write this test with `#![no_main]`. // CHECK-LABEL: @main // CHECK: load volatile i8, {{.+}} @__rustc_debug_gdb_scripts_section__ -#[start] -fn start(_: isize, _: *const *const u8) -> isize { +#[lang = "start"] +fn lang_start<T: 'static>( + _main: fn() -> T, + _argc: isize, + _argv: *const *const u8, + _sigpipe: u8, +) -> isize { return 0; } + +fn main() {} diff --git a/tests/codegen/mainsubprogramstart.rs b/tests/codegen/mainsubprogramstart.rs deleted file mode 100644 index 0bcb311644d..00000000000 --- a/tests/codegen/mainsubprogramstart.rs +++ /dev/null @@ -1,14 +0,0 @@ -//@ ignore-apple -//@ ignore-wasi wasi codegens the main symbol differently - -//@ compile-flags: -g -C no-prepopulate-passes - -#![feature(start)] - -// CHECK-LABEL: @main -// CHECK: {{.*}}DISubprogram{{.*}}name: "start",{{.*}}DI{{(SP)?}}FlagMainSubprogram{{.*}} - -#[start] -fn start(_: isize, _: *const *const u8) -> isize { - return 0; -} |
