[PATCH] D55229: [COFF, ARM64] Make -flto-visibility-public-std a driver and cc1 flag

Mandeep Singh Grang via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Dec 3 13:35:46 PST 2018


mgrang added a comment.

In D55229#1317333 <https://reviews.llvm.org/D55229#1317333>, @rnk wrote:

> I think @compnerd arranged things this way. I don't know why -flto-visibility-public-std is involved, I have no idea what that does. I think we should do what MSVC does here, which is to leave _CxxThrowException unannotated and let the linker synthesize import thunks.
>
> Here is the code in question that applies dllimport: https://github.com/llvm-git-prototype/llvm/blob/master/clang/lib/CodeGen/CodeGenModule.cpp#L2955
>
> My suggestion would be to make it check `isWindowsItaniumEnvironment` so we can avoid this behavior which isn't desired under either mingw or MSVC.


Even with the isWindowsItaniumEnvironment check I see it generate __imp__CxxThrowException and break the unit test CodeGenCXX/runtime-dllstorage.cpp. However, with the isOSWindows check it generates __CxxThrowException but ends up breaking a few more unit tests.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55229/new/

https://reviews.llvm.org/D55229





More information about the cfe-commits mailing list