diff options
| author | bors <bors@rust-lang.org> | 2022-08-28 09:45:27 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-08-28 09:45:27 +0000 |
| commit | 3fdd578d72a24d4efc2fe2ad18eec3b6ba72271e (patch) | |
| tree | c16a91467031dd1db4408c338037e1a0206799cd /compiler/rustc_codegen_llvm/src | |
| parent | d5ef528bebbe0d8e350e547316fdc7d7476614d2 (diff) | |
| parent | b3a4bc51d7df23cde0ad96ee4dbd27c0f9311b82 (diff) | |
| download | rust-3fdd578d72a24d4efc2fe2ad18eec3b6ba72271e.tar.gz rust-3fdd578d72a24d4efc2fe2ad18eec3b6ba72271e.zip | |
Auto merge of #101115 - matthiaskrgr:rollup-iy14ztr, r=matthiaskrgr
Rollup of 13 pull requests Successful merges: - #97015 (std::io: migrate ReadBuf to BorrowBuf/BorrowCursor) - #98301 (Add GDB/LLDB pretty-printers for NonZero types) - #99570 (Box::from(slice): Clarify that contents are copied) - #100296 (Add standard C error function aliases to last_os_error) - #100520 (Add mention of `BufReader` in `Read::bytes` docs) - #100885 (Export Cancel from std::os::fortanix_sgx::usercalls::raw) - #100955 (Some papercuts on error::Error) - #101002 (Provide structured suggestion for `hashmap[idx] = val`) - #101038 (no alignment check during interning) - #101055 (Use smaller span for suggestions) - #101091 (Extend attrs if local_def_id exists) - #101098 (rustc_middle: Remove `Visibility::Invisible`) - #101102 (unstable-book-gen: use std::fs::write) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs b/compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs index 25a989bdf05..d0a6f216858 100644 --- a/compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs +++ b/compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs @@ -1500,24 +1500,18 @@ fn vcall_visibility_metadata<'ll, 'tcx>( // If there is not LTO and the visibility in public, we have to assume that the vtable can // be seen from anywhere. With multiple CGUs, the vtable is quasi-public. (Lto::No | Lto::ThinLocal, Visibility::Public, _) - | (Lto::No, Visibility::Restricted(_) | Visibility::Invisible, false) => { - VCallVisibility::Public - } + | (Lto::No, Visibility::Restricted(_), false) => VCallVisibility::Public, // With LTO and a quasi-public visibility, the usages of the functions of the vtable are // all known by the `LinkageUnit`. // FIXME: LLVM only supports this optimization for `Lto::Fat` currently. Once it also // supports `Lto::Thin` the `VCallVisibility` may have to be adjusted for those. (Lto::Fat | Lto::Thin, Visibility::Public, _) - | ( - Lto::ThinLocal | Lto::Thin | Lto::Fat, - Visibility::Restricted(_) | Visibility::Invisible, - false, - ) => VCallVisibility::LinkageUnit, + | (Lto::ThinLocal | Lto::Thin | Lto::Fat, Visibility::Restricted(_), false) => { + VCallVisibility::LinkageUnit + } // If there is only one CGU, private vtables can only be seen by that CGU/translation unit // and therefore we know of all usages of functions in the vtable. - (_, Visibility::Restricted(_) | Visibility::Invisible, true) => { - VCallVisibility::TranslationUnit - } + (_, Visibility::Restricted(_), true) => VCallVisibility::TranslationUnit, }; let trait_ref_typeid = typeid_for_trait_ref(cx.tcx, trait_ref); |
