[PATCH] D20677: Make it possible to build a -fno-exceptions libc++abi variant.

Asiri Rathnayake via cfe-commits cfe-commits at lists.llvm.org
Mon May 30 17:24:03 PDT 2016


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 small part of `test_vector1.pass.cpp`, most of this test and other vector tests are to do with how exceptions are dealt with
- Added tests for the new functions introduced to `cxa_noexceptions.cpp`. These are mostly trivial.
- Added tests for the `__cxa_bad_cast` and `__cxa_bad_typeid` functions. Could not manage to invoke `__cxa_throw_bad_array_new_length`, which does not seem to work like documented in [1]. Need to take this offline.

[1] http://en.cppreference.com/w/cpp/memory/new/bad_array_new_length


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
  src/cxa_noexception.cpp
  test/CMakeLists.txt
  test/backtrace_test.pass.cpp
  test/catch_array_01.pass.cpp
  test/catch_array_02.pass.cpp
  test/catch_class_01.pass.cpp
  test/catch_class_02.pass.cpp
  test/catch_class_03.pass.cpp
  test/catch_class_04.pass.cpp
  test/catch_const_pointer_nullptr.pass.cpp
  test/catch_function_01.pass.cpp
  test/catch_function_02.pass.cpp
  test/catch_in_noexcept.pass.cpp
  test/catch_member_data_pointer_01.pass.cpp
  test/catch_member_function_pointer_01.pass.cpp
  test/catch_member_pointer_nullptr.pass.cpp
  test/catch_multi_level_pointer.pass.cpp
  test/catch_pointer_nullptr.pass.cpp
  test/catch_pointer_reference.pass.cpp
  test/catch_ptr.pass.cpp
  test/catch_ptr_02.pass.cpp
  test/cxa_bad_cast.pass.cpp
  test/cxa_bad_typeid.pass.cpp
  test/incomplete_type.sh.cpp
  test/inherited_exception.pass.cpp
  test/libcxxabi/test/config.py
  test/lit.site.cfg.in
  test/noexception1.pass.cpp
  test/noexception2.pass.cpp
  test/noexception3.pass.cpp
  test/noexception4.pass.cpp
  test/test_aux_runtime.pass.cpp
  test/test_aux_runtime_op_array_new.pass.cpp
  test/test_guard.pass.cpp
  test/test_vector1.pass.cpp
  test/test_vector2.pass.cpp
  test/test_vector3.pass.cpp
  test/uncaught_exceptions.pass.cpp
  test/unwind_01.pass.cpp
  test/unwind_02.pass.cpp
  test/unwind_03.pass.cpp
  test/unwind_04.pass.cpp
  test/unwind_05.pass.cpp
  test/unwind_06.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20677.59009.patch
Type: text/x-patch
Size: 29952 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160531/673957f6/attachment-0001.bin>


More information about the cfe-commits mailing list