[cfe-dev] [PATCH] [PR9593] Rework -fno-use-cxa-atexit not to invoke local dtors unconditionally.
NAKAMURA Takumi
geek4civic at gmail.com
Wed Jan 11 08:25:38 PST 2012
-fno-use-cxa-atexit is by default on cygming, due to unavailability of
__cxa_atexit().
---
clang/lib/CodeGen/CGDeclCXX.cpp | 93 ++++++++++++++++++++++++++---------
clang/lib/CodeGen/CodeGenFunction.h | 10 ++--
2 files changed, 76 insertions(+), 27 deletions(-)
(Excuse me to resend this, due to my mistake)
This patch can let selfhosting clang built on cygwin (maybe, on mingw).
This breaks 3 tests, to modify semantics of -fno-use-cxa-atexit.
Clang :: CodeGenCXX/arm.cpp
Clang :: CodeGenCXX/cxx-apple-kext.cpp
Clang :: CodeGenCXX/global-dtor-no-atexit.cpp
I wonder how I could tweak on my patch without breaking anything.
FYI, on cygwin-g++-4.4,
- atexit(__tcf_xxx) are emitted on both global objects and static
local (guarded) objects.
on x86_64-centos5-linux-g++-4.4 -fno-use-cxa-atexit,
- atexit(__tcf_xxx) are emitted on static local objects.
- .dtors sections are emitted on global objects.
on ToT clang,
- .dtors are emmitted on both objects, it might be dubious.
Please give me a better way, thank you in advance.
...Takumi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-PR9593-Rework-fno-use-cxa-atexit-not-to-invoke-l.patch.txt
Type: text/x-patch
Size: 6977 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20120112/a9825b06/attachment.bin>
More information about the cfe-dev
mailing list