On 7 Sep 2016 6:23 pm, "Peter Collingbourne" <pe...@pcc.me.uk> wrote:
pcc marked 4 inline comments as done.

================
Comment at: lib/CodeGen/CGVTables.cpp:588
@@ +587,3 @@
+        if (auto *F = dyn_cast<llvm::Function>(Cache))
+          F->setUnnamedAddr(llvm::GlobalValue::UnnamedAddr::Global);
+        Cache = llvm::ConstantExpr::getBitCast(Cache, CGM.Int8PtrTy);
----------------
rsmith wrote:
> Do you have any idea why we're doing this? It looks wrong to me. These
ABI entry points are exposed and could certainly have their addresses taken
and used in this translation unit.
I introduced this in D18071. Although a translation unit can take the
address of one of these functions, that would involve declaring a function
with a reserved name, so I believe we'd be allowed to impose restrictions
such as `unnamed_addr` on the address.


These are declared by <cxxabi.h>, and thus presumably intended to be
useable by programs, so I'm not convinced that reasoning applies. Do we
gain anything from this?


Repository:
  rL LLVM

https://reviews.llvm.org/D22642
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to