rust/tests
bors b3df0d7e5e Auto merge of #122580 - saethlin:compiler-builtins-can-panic, r=pnkfelix
"Handle" calls to upstream monomorphizations in compiler_builtins

This is pretty cooked, but I think it works.

compiler-builtins has a long-standing problem that at link time, its rlib cannot contain any calls to `core`. And yet, in codegen we _love_ inserting calls to symbols in `core`, generally from various panic entrypoints.

I intend this PR to attack that problem as completely as possible. When we generate a function call, we now check if we are generating a function call from `compiler_builtins` and whether the callee is a function which was not lowered in the current crate, meaning we will have to link to it.

If those conditions are met, actually generating the call is asking for a linker error. So we don't. If the callee diverges, we lower to an abort with the same behavior as `core::intrinsics::abort`. If the callee does not diverge, we produce an error. This means that compiler-builtins can contain panics, but they'll SIGILL instead of panicking. I made non-diverging calls a compile error because I'm guessing that they'd mostly get into compiler-builtins by someone making a mistake while working on the crate, and compile errors are better than linker errors. We could turn such calls into aborts as well if that's preferred.
2024-03-22 16:55:11 +00:00
..
assembly Auto merge of #122024 - clubby789:remove-spec-option-pe, r=jhpratt 2024-03-22 04:06:25 +00:00
auxiliary
codegen Auto merge of #122456 - maurer:cfi-nonpassed, r=workingjubilee 2024-03-22 06:09:40 +00:00
codegen-units
coverage coverage: Remove incorrect assertions from counter allocation 2024-03-20 18:22:15 +11:00
coverage-run-rustdoc
debuginfo Auto merge of #121885 - reitermarkus:generic-nonzero-inner, r=oli-obk,wesleywiser 2024-03-17 02:27:52 +00:00
incremental Update test directives for `wasm32-wasip1` 2024-03-11 09:36:35 -07:00
mir-opt coverage: Clean up marker statements that aren't needed later 2024-03-22 20:20:41 +11:00
pretty Add MatchKind member to the Match expr for pretty printing & fmt 2024-03-06 00:35:19 -05:00
run-make Auto merge of #122580 - saethlin:compiler-builtins-can-panic, r=pnkfelix 2024-03-22 16:55:11 +00:00
run-make-fulldeps rename items -> free_items 2024-03-21 14:27:11 +01:00
run-pass-valgrind Update test directives for `wasm32-wasip1` 2024-03-11 09:36:35 -07:00
rustdoc tests 2024-03-14 14:51:01 +01:00
rustdoc-gui
rustdoc-js Rollup merge of #122247 - notriddle:notriddle/search-unbox-limit, r=GuillaumeGomez 2024-03-14 15:44:32 +01:00
rustdoc-js-std rustdoc-search: add search query syntax `Fn(T) -> U` 2024-03-11 22:27:22 -07:00
rustdoc-json
rustdoc-ui Bless test fallout (duplicate diagnostics) 2024-03-20 13:00:34 -04:00
ui Auto merge of #122869 - matthiaskrgr:rollup-0navj4l, r=matthiaskrgr 2024-03-22 12:29:42 +00:00
ui-fulldeps Rollup merge of #122405 - celinval:smir-new-const, r=oli-obk 2024-03-14 11:09:58 +01:00
COMPILER_TESTS.md