diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2023-01-26 06:15:27 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-26 06:15:27 +0100 |
| commit | a8b5e5d9dba8a8dce32c89882c40e28de2134cc5 (patch) | |
| tree | c41b4d5e0f7a7ac2cc266eec9a1ad4bdb555241c /compiler/rustc_codegen_llvm/src/debuginfo | |
| parent | a8e8406e609972350f9fd10189895d3e8e341cd9 (diff) | |
| parent | adc18904483fbd9df409291da4c4e299c8b6cb3e (diff) | |
| download | rust-a8b5e5d9dba8a8dce32c89882c40e28de2134cc5.tar.gz rust-a8b5e5d9dba8a8dce32c89882c40e28de2134cc5.zip | |
Rollup merge of #107248 - erikdesjardins:addrspace, r=oli-obk
abi: add AddressSpace field to Primitive::Pointer ...and remove it from `PointeeInfo`, which isn't meant for this. There are still various places (marked with FIXMEs) that assume all pointers have the same size and alignment. Fixing this requires parsing non-default address spaces in the data layout string (and various other changes), which will be done in a followup. (That is, if it's actually worth it to support multiple different pointer sizes. There is a lot of code that would be affected by that.) Fixes #106367 r? ``@oli-obk`` cc ``@Patryk27``
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/debuginfo')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/mod.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/mod.rs b/compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/mod.rs index 564ab351bd4..54e850f2599 100644 --- a/compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/mod.rs +++ b/compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/mod.rs @@ -122,7 +122,8 @@ fn tag_base_type<'ll, 'tcx>( Primitive::Int(t, _) => t, Primitive::F32 => Integer::I32, Primitive::F64 => Integer::I64, - Primitive::Pointer => { + // FIXME(erikdesjardins): handle non-default addrspace ptr sizes + Primitive::Pointer(_) => { // If the niche is the NULL value of a reference, then `discr_enum_ty` will be // a RawPtr. CodeView doesn't know what to do with enums whose base type is a // pointer so we fix this up to just be `usize`. |
