[clang] [MS][clang] Add support for vector deleting destructors (PR #126240)
Mariya Podchishchaeva via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 18 11:15:51 PDT 2025
Fznamznon wrote:
> I think the `.SCOV$M` section globals should be in the `??_EClassA@@UEAAPEXI at Z` comdat group. I think sanitizer coverage (sancov) is one of the lesser-used sanitizers here, and it may lack some sophistication when it comes to comdat groups. I wasn't aware of this creative use of `blockaddress` until just now.
I see that similar globals generated for scalar deleting destructors are actually in the corresponding comdat groups. I suppose it might be due to this check
https://github.com/llvm/llvm-project/blob/19970535f92c0f2dcda01b7fc60f95945166e424/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp#L748
that `F.isInterposable()` . It then calls `isInterposableLinkage()` that returns false for weak non-odr linkage which is used for vector deleting dtor. I am now wondering if we should not emit vector deleting destructors with weak linkage.
https://github.com/llvm/llvm-project/pull/126240
More information about the cfe-commits
mailing list