summaryrefslogtreecommitdiffstats
path: root/libcxxabi
Commit message (Collapse)AuthorAgeFilesLines
...
* [Demangler] NFC: Move Db struct to beginning of fileErik Pilkington2017-07-081-207/+206
| | | | | | Differential revision: https://reviews.llvm.org/D35158 llvm-svn: 307481
* Fix incomplete type test on OS X; workaround weird DYLD_LIBRARY_PATH behaviorEric Fiselier2017-07-061-1/+5
| | | | llvm-svn: 307230
* Add some catch(...) blocks to the tests so that if they fail, we get a good ↵Marshall Clow2017-06-221-0/+13
| | | | | | error message. No functional change. llvm-svn: 305977
* Use _LIBCPP_FALLTHROUGH() to avoid warnings about [[gnu::fallthrough]] being ↵Eric Fiselier2017-06-151-1/+1
| | | | | | unsupported llvm-svn: 305500
* Set a default value for LIBCXXABI_LIBDIR_SUFFIX, fixes installing into lib64 ↵Ismail Donmez2017-06-131-0/+2
| | | | | | after r304374 llvm-svn: 305278
* build: use cmake to pass -std=c++11Saleem Abdulrasool2017-06-112-5/+18
| | | | | | | | | | Rather than manually checking for support for the spelling of the C++ standard, indicate to CMake that we require that the compiler support C++11 and that we compile without the GNU extensions. This simplifies the flags handling in libc++abi itself by relying on CMake to translate the flag and add it as appropriate. llvm-svn: 305175
* build: use POSITION_INDEPENDENT_CODE CMake propertySaleem Abdulrasool2017-06-112-16/+23
| | | | | | | | | | | | Use the POSITION_INDEPENDENT_CODE target property to indicate that we should be building with -fPIC or the equivalent flag based on the toolchain that we are using. This makes the check more portable and simplifies the flags management. Because we don't want this setting to propagate in the case of an in-tree build, set the property on the targets we construct explicitly rather than setting CMAKE_POSITION_INDEPENDENT_CODE to ON globally. llvm-svn: 305174
* cxa_demangle: fix -Wimplicit-fallthrough for GCC:7Saleem Abdulrasool2017-06-111-1/+1
| | | | | | | Use the C++11 (formalised in C++17) tag to indicate a fallthrough in the switch case. Silences a -Wimplicit-fallthrough warning with gcc:7 llvm-svn: 305173
* private_typeinfo: add missing field initializersSaleem Abdulrasool2017-06-111-3/+3
| | | | | | | Cleanup the -Wmissing-field-initializers warnings from gcc:7 builds. NFC. llvm-svn: 305172
* [libcxxabi] HandleLLVMOptions in out of tree buildMartell Malone2017-06-031-0/+1
| | | | | | Differential revision: https://reviews.llvm.org/D33753 llvm-svn: 304664
* [libcxxabi] Rework CMakeLists.txt into modulesMartell Malone2017-06-015-170/+430
| | | | | | | | | | Refactor cmake to remove dependence on LLVM's cmake modules. This improves handling of cmake checks when cross compiling and brings libcxxabi in line with libcxx and other project modules. Differential revision: https://reviews.llvm.org/D33635 llvm-svn: 304374
* Remove requirement for libunwind sources. Patch by Shiz.Eric Fiselier2017-05-311-19/+0
| | | | | | | | | As per r241993, libunwind_ext.h is not used anymore, and thus only the public libunwind includes are needed. This eases distro packaging efforts and removes an unneeded requirement for out-of-tree building. Reviewed as D33178 llvm-svn: 304359
* [demangler] Fix a exponential string copying bugErik Pilkington2017-05-282-0/+5
| | | | | | | | | | | The problem was that if base_name() was called from a context without an actual base name, it could gulp up the entire string, which can result in recursive duplications. The fix is to be more strict as to what qualifies as a base name. Differential revision: https://reviews.llvm.org/D33637 llvm-svn: 304113
* [libcxxabi] Disable DLL annotations on staticMartell Malone2017-05-281-1/+1
| | | | | | | | rL288692 renames _LIBCXXABI_DISABLE_DLL_IMPORT_EXPORT to _LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS llvm-svn: 304110
* [libcxxabi] iconv is not needed for mingw-w64Martell Malone2017-05-261-1/+1
| | | | llvm-svn: 304026
* [Demangler] Remove a failing assert introduced in r303718Erik Pilkington2017-05-241-3/+1
| | | | llvm-svn: 303806
* __cxa_demangle: Fix constructor cv qualifier handlingTamas Berghammer2017-05-242-0/+3
| | | | | | | | | | | | | | | | | Summary: Previously if we parsed a constructor then we set parsed_ctor_dtor_cv to true and never reseted it. This causes issue when a template argument references a constructor (e.g. type of lambda defined inside a constructor) as we will have the parsed_ctor_dtor_cv flag set what will cause issues when parsing later arguments. Reviewers: EricWF, compnerd Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D33385 llvm-svn: 303737
* [demangler] Fix a crash in the demangler during parsing of a lamdbaErik Pilkington2017-05-242-24/+34
| | | | | | | | | The problem is that multiple types could have been parsed from parse_type(), which the lamdba parameter parsing didn't handle. Differential revision: https://reviews.llvm.org/D33368 llvm-svn: 303718
* [libcxxabi] Fix the test case committed in r303175.Akira Hatanaka2017-05-161-0/+1
| | | | | | | | | | Free the __cxa_exception object allocated with __cxa_allocate_exception. This is an attempt to fix this asan bot: http://lab.llvm.org:8011/builders/libcxx-libcxxabi-x86_64-linux-ubuntu-asan/builds/560 llvm-svn: 303194
* [libcxxabi] Align unwindHeader on a double-word boundary.Akira Hatanaka2017-05-162-0/+53
| | | | | | | | | | | | | | | | | | | | | | | r276215 made a change to annotate _Unwind_Exception with attribute "aligned" so that an exception object following field __cxa_exception is sufficiently aligned. This fix hasn't been incorporated to unwind.h on Darwin since it is an ABI breaking change. Instead of annotating struct _Unwind_Exception with the attribute, this commit annotates field unwindHeader of __cxa_exception. This ensures the exception object is sufficiently aligned without breaking the ABI. This recommits r302978 and r302981, which were reverted in r303016 because a libcxx test was failing on an AArch64 bot. I also modified the libcxxabi test case to check the alignment of the pointer returned by __cxa_allocate_exception rather than compiling the test with -O1 and checking whether it segfaults. rdar://problem/25364625 Differential Revision: https://reviews.llvm.org/D33030 llvm-svn: 303175
* Revert r302978 and r302981.Akira Hatanaka2017-05-142-68/+0
| | | | | | | | | Revert the two commits to understand why the following aarch64 bot is failing. http://lab.llvm.org:8011/builders/libcxx-libcxxabi-libunwind-aarch64-linux llvm-svn: 303016
* [libcxxabi] Do not align field unwindHeader when building for ARM EHABI.Akira Hatanaka2017-05-131-3/+15
| | | | | | | | | For ARM EHABI, _Unwind_Exception is an alias of _Unwind_Control_Block, which is not aligned, so we shouldn't align unwindHeader either. rdar://problem/25364625 llvm-svn: 302981
* [libcxxabi] Align unwindHeader on a double-word boundary.Akira Hatanaka2017-05-132-2/+58
| | | | | | | | | | | | | | | | | | | r276215 made a change to annotate _Unwind_Exception with attribute "aligned" so that an exception object following field __cxa_exception is sufficiently aligned. This fix hasn't been incorporated to unwind.h on Darwin since it is an ABI breaking change. Instead of annotating struct _Unwind_Exception with the attribute, this commit annotates field unwindHeader of __cxa_exception. This ensures the exception object is sufficiently aligned without breaking the ABI. This recommits r302763 with fixes to RUN lines in the test case. rdar://problem/25364625 Differential Revision: https://reviews.llvm.org/D33030 llvm-svn: 302978
* [Libcxxabi]: Support using compiler-rt for MinGW64Martell Malone2017-05-111-3/+8
| | | | | | | | Reviewers: EricWF Differential Revision: https://reviews.llvm.org/D33098 llvm-svn: 302824
* Revert "[libcxxabi] Align unwindHeader on a double-word boundary."Akira Hatanaka2017-05-112-56/+2
| | | | | | | | This reverts commit r302763. The commit caused bot failures. llvm-svn: 302764
* [libcxxabi] Align unwindHeader on a double-word boundary.Akira Hatanaka2017-05-112-2/+56
| | | | | | | | | | | | | | | | | r276215 made a change to annotate _Unwind_Exception with attribute "aligned" so that an exception object following field __cxa_exception is sufficiently aligned. This fix hasn't been incorporated to unwind.h on Darwin since it is an ABI breaking change. Instead of annotating struct _Unwind_Exception with the attribute, this commit annotates field unwindHeader of __cxa_exception. This ensures the exception object is sufficiently aligned without breaking the ABI. rdar://problem/25364625 Differential Revision: https://reviews.llvm.org/D33030 llvm-svn: 302763
* Revert "Rename c++abi.a on Windows to libc++abi to avoid name conflicts"Eric Fiselier2017-05-111-5/+1
| | | | | | This reverts commit r302759 llvm-svn: 302762
* Allow undefined symbols when linking libc++abi.dll on WindowsEric Fiselier2017-05-111-1/+2
| | | | llvm-svn: 302761
* Fix Libc++abi linking under MinGW64Eric Fiselier2017-05-112-1/+8
| | | | llvm-svn: 302760
* Rename c++abi.a on Windows to libc++abi to avoid name conflictsEric Fiselier2017-05-111-1/+5
| | | | llvm-svn: 302759
* Don't use posix_memalign under MinGWEric Fiselier2017-05-111-2/+2
| | | | llvm-svn: 302755
* Apply libc++ MinGW CMake fix to libc++abiEric Fiselier2017-05-111-0/+5
| | | | llvm-svn: 302754
* [libc++abi] Disable libc++ extern templates project-wideShoaib Meenai2017-05-102-1/+3
| | | | | | | | | | | | | | libc++abi can't depend on libc++, so disable extern templates in libc++ headers project-wide. This was previously done in cxa_demangle.cpp, but I consider it more appropriate to do at the cmake level (since none of libc++abi's source files can use libc++ extern templates). I also think the _LIBCPP_NO_EXCEPTIONS in cxa_demangle.cpp is suspicious, but I'm doing one thing at a time. Differential Revision: https://reviews.llvm.org/D32329 llvm-svn: 302739
* Fix use of now removed %exec test substitutionEric Fiselier2017-05-102-2/+2
| | | | llvm-svn: 302698
* Fix use of removed SH test replacement %execEric Fiselier2017-05-101-1/+1
| | | | llvm-svn: 302629
* XFAIL noexcept member function throw/catch test under GCC.Eric Fiselier2017-05-091-0/+4
| | | | | | | I'm still not exactly sure why the test fails, but I suspect it's a bug in GCC. More investigation needed. llvm-svn: 302489
* [libcxxabi][CMake] Set library dir when built under runtimes/Jonas Hahnfeld2017-05-041-1/+5
| | | | | | | | This will put libraries into the build root's lib/ directory by default. Differential Revision: https://reviews.llvm.org/D32735 llvm-svn: 302118
* Fix PR25874 - cxa_thread_atexit_test.pass.cpp has an incorrect XFAIL.Eric Fiselier2017-04-204-10/+0
| | | | llvm-svn: 300925
* [CMake][libcxxabi] Fix the -target and -gcc-toolchain flag handlingPetr Hosek2017-04-162-3/+4
| | | | | | | | | | | | CMake has the problem with the single dash variant because of the space, so use the double dash with equal sign version. These flag need to be included in compile flags to propagate correctly. We also don't have to pass the target triple when checking for compiler-rt since that flag is already included in compile flags now. Differential Revision: https://reviews.llvm.org/D32069 llvm-svn: 300418
* [CMake][libcxxabi] Use -nodefaultlibs for CMake checksPetr Hosek2017-04-073-5/+99
| | | | | | | | | | | | Since libc++abi is built with -nodefaultlibs, we should be using this option even for CMake checks to avoid any inconsistency and also to avoid dependency on a working C++ standard library just for the setting up the build itself. The implementation is largely similar to the one used by libc++. Differential Revision: https://reviews.llvm.org/D31639 llvm-svn: 299797
* Fix exception address alignment test for EHABIAsiri Rathnayake2017-04-044-5/+27
| | | | | | | | | | | | | | | This test fails on ARM bare-metal targets because it assumes the Itanium ABI, whereas EHABI requires the exception address to be 8-byte aligned. I was a bit puzzled at first because this should've failed on the public arm-linux builder too. I think the reason it passes there is because we don't include libunwind headers in the include path when running the libcxxabi tests, so the system unwind.h gets picked up. Reviewers: rengolin, EricWF Differential revision: https://reviews.llvm.org/D31178 llvm-svn: 299435
* Uses quote to include cxxabi.h to make sure the local one is includedMehdi Amini2017-04-042-2/+2
| | | | llvm-svn: 299414
* [libc++abi] Remove missed use of config.hShoaib Meenai2017-03-311-1/+0
| | | | llvm-svn: 299143
* [libc++abi] Delete config.hShoaib Meenai2017-03-3010-26/+0
| | | | | | | | | | | | Summary: It's now completely empty, so we can remove it entirely. Reviewers: mclow.lists, EricWF Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D31502 llvm-svn: 299129
* [libc++abi] Remove unistd.h includeShoaib Meenai2017-03-301-2/+0
| | | | | | | | | | | This was originally there for the _POSIX_THREADS define, to detect the presence of pthreads. That went away with the externalized threading support, so the include can go away too. config.h is now completely empty. A follow-up commit will remove it entirely. llvm-svn: 299087
* Fully Reformat fallback_malloc.cppEric Fiselier2017-03-042-140/+158
| | | | | | | | | | | | This patch fully reformats fallback_malloc.cpp. Previously the test was a mess of different styles and indentations. This made it very hard to work in and read. Therefore I felt it was best to re-format the whole thing. Unfortuantly this means some history will be lost, but hopefully much of it will still be accessible after ignoring whitespace changes. llvm-svn: 296960
* Add missing UNSUPPORTED for -fno-exception modeEric Fiselier2017-03-041-0/+1
| | | | llvm-svn: 296957
* Attempt to suppress test failures on OS XEric Fiselier2017-03-042-0/+14
| | | | llvm-svn: 296955
* Fix CMake configuration errors on OS XEric Fiselier2017-03-041-3/+6
| | | | llvm-svn: 296954
* [libcxxabi] Fix alignment of allocated exceptions in 32 bit buildsEric Fiselier2017-03-044-16/+74
| | | | | | | | | | | | | | | | | Summary: In 32 bit builds on a 64 bit system `std::malloc` does not return correctly aligned memory. This leads to undefined behavior. This patch switches to using `posix_memalign` to allocate correctly aligned memory instead. Reviewers: mclow.lists, danalbert, jroelofs, compnerd Reviewed By: compnerd Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D25417 llvm-svn: 296952
OpenPOWER on IntegriCloud