This revision was automatically updated to reflect the committed changes.
Closed by commit rL271267: [libcxxabi] Introduce a -fno-exceptions libc++abi
libary variant (authored by asiri).
Changed prior to commit:
http://reviews.llvm.org/D20677?vs=59009&id=59044#toc
Repository:
rL LLVM
http:/
EricWF added a comment.
In http://reviews.llvm.org/D20677#443997, @rmaprath wrote:
> Thanks Eric.
>
> I think I noted a few other `assert(true)` statements elsewhere (with similar
> application), will update those separately.
>
> Btw, do you use some systematic way to detect ABI breakages? I've
rmaprath added a comment.
Thanks Eric.
I think I noted a few other `assert(true)` statements elsewhere (with similar
application), will update those separately.
Btw, do you use some systematic way to detect ABI breakages? I've only bumped
into http://lvc.github.io/abi-compliance-checker/ but d
EricWF accepted this revision.
EricWF added a comment.
This revision is now accepted and ready to land.
Just for reference here is a list of symbols which have been removed:
https://gist.github.com/EricWF/bf00dbc5fccc78b779f8d260727a0710
LGTM. Your free to submit it after addressing the inline c
EricWF added a comment.
Nevermind. I figured out why it wasn't working. Phab didn't know the libc++
patch was in a different repo and so it wouldn't apply the patch.
http://reviews.llvm.org/D20677
___
cfe-commits mailing list
cfe-commits@lists.llvm
EricWF added a comment.
For some reason I'm having trouble applying your patch. Could you please upload
it with more context? (ie git diff -U999 or similar)
http://reviews.llvm.org/D20677
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http
rmaprath marked 6 inline comments as done.
rmaprath added a comment.
http://reviews.llvm.org/D20677
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
rmaprath updated this revision to Diff 59009.
rmaprath added a comment.
Addressed review comments from @EricWF:
- Addressed the nits
- Disabled `backtrace_test.pass.cpp` for the moment, need to check if using
`_Unwind_backtrace` with no unwinding tables (-fno-exceptions) makes sense
- Enabled a
EricWF added a comment.
Looking good. I would like to see some tests for the methods we have specificly
defined to have behavior in -fno-exceptions mode.
Comment at: src/cxa_noexception.cpp:27
@@ +26,3 @@
+
+_LIBCXXABI_FUNC_VIS void
+__cxa_increment_exception_refcount(void *thr
rmaprath updated this revision to Diff 59000.
rmaprath added a comment.
Addressing review comments from @EricWF:
- Rather than explicitly decoupling the no-exceptions `libc++` library from the
`__cxa_*` routines (http://reviews.llvm.org/D20784), provide a placeholder
implementation of those fun
rmaprath marked an inline comment as done.
rmaprath added a comment.
http://reviews.llvm.org/D20677
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
rmaprath updated this revision to Diff 58929.
rmaprath added a comment.
Fixed a few typos.
http://reviews.llvm.org/D20677
Files:
CMakeLists.txt
src/CMakeLists.txt
src/cxa_aux_runtime.cpp
src/cxa_handlers.cpp
src/cxa_new_delete.cpp
test/CMakeLists.txt
test/backtrace_test.pass.cpp
rmaprath added inline comments.
Comment at: CMakeLists.txt:111
@@ -110,2 +110,3 @@
# Define options.
+option(LIBCXXABI_ENABLE_EXCEPTIONS "Use exceptions." OFF)
option(LIBCXXABI_ENABLE_ASSERTIONS "Enable assertions independent of build
mode." ON)
My bad, this sh
rmaprath updated this revision to Diff 58927.
rmaprath added a comment.
OK, managed to solve this problem by removing `cxa_exception.cpp` and
`cxa_personality.cpp` from the no-exceptions libcxxabi build.
In order to do this, a small patch was needed for `exception.cpp` of libcxx:
http://reviews
rmaprath added a comment.
> I have a small concern about how difficult this would make things for us
> though - our toolchain setup uses `-ffunction-sections` and `-fdata-sections`
> along with linker's unused-section elimination to get rid of most of the
> stuff not necessary for the final i
rmaprath added a comment.
In http://reviews.llvm.org/D20677#442713, @EricWF wrote:
> In http://reviews.llvm.org/D20677#442687, @rmaprath wrote:
>
> > In http://reviews.llvm.org/D20677#442559, @EricWF wrote:
> >
> > > I have an issue with this change since it allows a libc++abi built
> > > withou
EricWF added a comment.
In http://reviews.llvm.org/D20677#442687, @rmaprath wrote:
> In http://reviews.llvm.org/D20677#442559, @EricWF wrote:
>
> > I have an issue with this change since it allows a libc++abi built without
> > exceptions to be used in a program compiled with them. I assert that
rmaprath added a comment.
In http://reviews.llvm.org/D20677#442559, @EricWF wrote:
> I have an issue with this change since it allows a libc++abi built without
> exceptions to be used in a program compiled with them. I assert that this
> should not be supported in any way.
>
> My personal prefe
EricWF added a comment.
I have an issue with this change since it allows a libc++abi built without
exceptions to be used in a program compiled with them. I assert that this
should not be supported in any way.
My personal preference would be to remove as much of the exception API from the
libra
mclow.lists added a comment.
If you're really going to do this, you should probably empty out most of the
routines in src/cxa_exception.cpp as well.
http://reviews.llvm.org/D20677
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists
rmaprath added a comment.
In http://reviews.llvm.org/D20677#441598, @EricWF wrote:
> I want to take a look at this as well. I'll review it tomorrow.
Thanks! will wait until we have ironed out all the details, no hurry.
/ Asiri
http://reviews.llvm.org/D20677
___
rmaprath added a comment.
In http://reviews.llvm.org/D20677#441407, @bcraig wrote:
> https://mentorembedded.github.io/cxx-abi/abi-eh.html mentions the functions,
> but it doesn't really say what they are for. The C++ standard mentions when
> an exception of std::bad_cast and std::bad_typeid ar
EricWF added a reviewer: mclow.lists.
EricWF added a subscriber: mclow.lists.
EricWF added a comment.
Adding @mclow.lists to this as well.
http://reviews.llvm.org/D20677
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/c
EricWF added a comment.
I want to take a look at this as well. I'll review it tomorrow.
http://reviews.llvm.org/D20677
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
bcraig added a comment.
LGTM. Probably want a "LGTM" from at least one other person though.
In http://reviews.llvm.org/D20677#441085, @rmaprath wrote:
> In http://reviews.llvm.org/D20677#441061, @jroelofs wrote:
>
> > This is the canonical reference for the Itanium ABI:
> > https://mentorembed
rmaprath added a comment.
In http://reviews.llvm.org/D20677#441061, @jroelofs wrote:
> This is the canonical reference for the Itanium ABI:
> https://mentorembedded.github.io/cxx-abi/abi.html
I was indeed looking at this, but couldn't find those exact function signatures
(or something that lo
jroelofs added a comment.
This is the canonical reference for the Itanium ABI:
https://mentorembedded.github.io/cxx-abi/abi.html
http://reviews.llvm.org/D20677
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/ma
rmaprath marked an inline comment as done.
Comment at: src/cxa_aux_runtime.cpp:19-25
@@ -18,5 +18,9 @@
extern "C" {
_LIBCXXABI_FUNC_VIS LIBCXXABI_NORETURN void __cxa_bad_cast(void) {
+#ifndef _LIBCXXABI_NO_EXCEPTIONS
throw std::bad_cast();
+#else
+ std::terminate();
+#endif
bcraig added inline comments.
Comment at: src/cxa_aux_runtime.cpp:19-24
@@ -18,4 +18,8 @@
extern "C" {
_LIBCXXABI_FUNC_VIS LIBCXXABI_NORETURN void __cxa_bad_cast(void) {
+#ifndef _LIBCXXABI_NO_EXCEPTIONS
throw std::bad_cast();
+#else
+ std::terminate();
+#endif
}
--
rmaprath marked 2 inline comments as done.
Comment at: src/cxa_aux_runtime.cpp:19-20
@@ -18,3 +18,4 @@
extern "C" {
_LIBCXXABI_FUNC_VIS LIBCXXABI_NORETURN void __cxa_bad_cast(void) {
+#ifndef _LIBCXXABI_NO_EXCEPTIONS
throw std::bad_cast();
I'm not very famili
rmaprath updated this revision to Diff 58620.
http://reviews.llvm.org/D20677
Files:
CMakeLists.txt
src/cxa_aux_runtime.cpp
src/cxa_handlers.cpp
src/cxa_new_delete.cpp
src/cxa_personality.cpp
test/CMakeLists.txt
test/backtrace_test.pass.cpp
test/catch_array_01.pass.cpp
test/catch
bcraig added inline comments.
Comment at: CMakeLists.txt:359
@@ -350,2 +358,3 @@
else()
- add_subdirectory(test)
+ # libc++abi tests are mostly exceptions related. The only reason we want to
+ # build libc++abi without exceptions is to support the -fno-exceptions libc++
--
rmaprath created this revision.
rmaprath added reviewers: bcraig, jroelofs, EricWF.
rmaprath added a subscriber: cfe-commits.
Support for building a -fno-exceptions libc++ variant was reinstated recently.
However, some of the standard library functions like `std::terminate()` are
currently sprea
33 matches
Mail list logo