rust/compiler/rustc_codegen_llvm
Matthias Krüger 33b1264540
Rollup merge of #131519 - davidlattimore:intrinsics-default-vis, r=Urgau
Use Default visibility for rustc-generated C symbol declarations

Non-default visibilities should only be used for definitions, not declarations, otherwise linking can fail.

This is based on https://github.com/rust-lang/rust/pull/123994.

Issue https://github.com/rust-lang/rust/issues/123427

When I changed `default-hidden-visibility` to `default-visibility` in https://github.com/rust-lang/rust/pull/130005, I updated all places in the code that used `default-hidden-visibility`, replicating the hidden-visibility bug to also happen for protected visibility.

Without this change, trying to build rustc with `-Z default-visibility=protected` fails with a link error.
2024-10-11 15:36:52 +02:00
..
src Rollup merge of #131519 - davidlattimore:intrinsics-default-vis, r=Urgau 2024-10-11 15:36:52 +02:00
Cargo.toml compiler: Factor rustc_target::abi out of cg_llvm 2024-10-08 18:24:56 -07:00
messages.ftl codegen_ssa: consolidate tied feature checking 2024-09-24 15:48:49 +01:00
README.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00

The codegen crate contains the code to convert from MIR into LLVM IR, and then from LLVM IR into machine code. In general it contains code that runs towards the end of the compilation process.

For more information about how codegen works, see the rustc dev guide.