diff options
| author | bors <bors@rust-lang.org> | 2025-01-22 19:33:19 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2025-01-22 19:33:19 +0000 |
| commit | 649b995a9febd658b2570160703dff6fdc038ab2 (patch) | |
| tree | 0e9544521bdad4503d4e0816e5879b62c90524e4 /compiler/rustc_codegen_llvm/src | |
| parent | dee7d0e730a3a3ed98c89dd33c4ac16edc82de8a (diff) | |
| parent | e0b4ba3737bb635a75a2d3e860e37cc946fa88c5 (diff) | |
| download | rust-649b995a9febd658b2570160703dff6fdc038ab2.tar.gz rust-649b995a9febd658b2570160703dff6fdc038ab2.zip | |
Auto merge of #135893 - matthiaskrgr:rollup-2qqo647, r=matthiaskrgr
Rollup of 10 pull requests Successful merges: - #133372 (Refactor dyn-compatibility error and suggestions) - #134396 (AIX: use align 8 for byval parameter) - #135156 (Make our `DIFlags` match `LLVMDIFlags` in the LLVM-C API) - #135816 (Use `structurally_normalize` instead of manual `normalizes-to` goals in alias relate errors) - #135823 (make UI tests that use `--test` work on panic=abort targets) - #135850 (Update the `wasm-component-ld` tool) - #135858 (rustdoc: Finalize dyn compatibility renaming) - #135866 (Don't pick `T: FnPtr` nested goals as the leaf goal in diagnostics for new solver) - #135874 (Enforce that all spans are lowered in ast lowering) - #135875 (Remove `Copy` bound from `enter_forall`) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/llvm/ffi.rs | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs index 9349ae212d2..009d15a932f 100644 --- a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs +++ b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs @@ -741,8 +741,11 @@ pub mod debuginfo { pub type DIEnumerator = DIDescriptor; pub type DITemplateTypeParameter = DIDescriptor; - // These values **must** match with LLVMRustDIFlags!! bitflags! { + /// Must match the layout of `LLVMDIFlags` in the LLVM-C API. + /// + /// Each value declared here must also be covered by the static + /// assertions in `RustWrapper.cpp` used by `fromRust(LLVMDIFlags)`. #[repr(transparent)] #[derive(Clone, Copy, Default)] pub struct DIFlags: u32 { @@ -752,7 +755,7 @@ pub mod debuginfo { const FlagPublic = 3; const FlagFwdDecl = (1 << 2); const FlagAppleBlock = (1 << 3); - const FlagBlockByrefStruct = (1 << 4); + const FlagReservedBit4 = (1 << 4); const FlagVirtual = (1 << 5); const FlagArtificial = (1 << 6); const FlagExplicit = (1 << 7); @@ -763,10 +766,21 @@ pub mod debuginfo { const FlagStaticMember = (1 << 12); const FlagLValueReference = (1 << 13); const FlagRValueReference = (1 << 14); - const FlagExternalTypeRef = (1 << 15); + const FlagReserved = (1 << 15); + const FlagSingleInheritance = (1 << 16); + const FlagMultipleInheritance = (2 << 16); + const FlagVirtualInheritance = (3 << 16); const FlagIntroducedVirtual = (1 << 18); const FlagBitField = (1 << 19); const FlagNoReturn = (1 << 20); + // The bit at (1 << 21) is unused, but was `LLVMDIFlagMainSubprogram`. + const FlagTypePassByValue = (1 << 22); + const FlagTypePassByReference = (1 << 23); + const FlagEnumClass = (1 << 24); + const FlagThunk = (1 << 25); + const FlagNonTrivial = (1 << 26); + const FlagBigEndian = (1 << 27); + const FlagLittleEndian = (1 << 28); } } |
