summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-01-03Drop 'svn' suffix from the version number.llvm_60-amp-20180630release_60-f1b37feef3d-amp-20180630Hans Wennborg
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/branches/release_60@321739 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-03Creating release_60 branch off revision 321711Hans Wennborg
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/branches/release_60@321718 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-29Try again, this time with the correct addressJonathan Roelofs
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@321569 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-29Update CREDITS.txt with personal email addressJonathan Roelofs
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@321564 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-12[libcxxabi] Pass LIBCXXABI_SYSROOT and LIBCXXABI_GCC_TOOLCHAIN to litPetr Hosek
These are expected to be set by the shared lit scripts used from libc++. Differential Revision: https://reviews.llvm.org/D40818 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@320445 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-04[libcxxabi] Set up .arcconfig to point to new Diffusion CXXA repositoryBen Hamilton
Summary: We want to automatically copy the appropriate mailing list for review requests to the libc++abi repository. For context, see the proposal and discussion here: http://lists.llvm.org/pipermail/cfe-dev/2017-November/056032.html Similar to D40500, I set up a new Diffusion repository with callsign "CXXA" for libc++abi: https://reviews.llvm.org/source/libcxxabi/ This explicitly updates libcxxabi's .arcconfig to point to the new CXX repository in Diffusion, which will let us use Herald rule H268. Reviewers: phosek, beanz, EricWF, compnerd Reviewed By: phosek Subscribers: cfe-commits, klimek, sammccall, dlj, bkramer Differential Revision: https://reviews.llvm.org/D40501 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@319713 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-30[libc++abi] Add install-cxxabi-stripped targetShoaib Meenai
LLVM is gaining install-*-stripped targets to perform stripped installs, and in order for this to be useful for install-distribution, all potential distribution components should have stripped installation targets. LLVM has a function to create these install targets, but since we can't use LLVM CMake functions in libc++abi, let's do it manually. Differential Revision: https://reviews.llvm.org/D40681 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@319499 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-28Insert padding before the __cxa_exception header to ensure the thrownAkira Hatanaka
object is sufficiently aligned. r303175 annotated field unwindHeader of __cxa_exception with attribute 'aligned' to ensure the thrown object following the __cxa_exception header was sufficiently aligned. This caused changes in the field offsets of __cxa_exception relative to the start of the thrown object, which was an ABI breaking change for some clients. Instead of annotating field unwindHeader, this commit inserts extra space before the header. This ensures the thrown object following the header is sufficiently aligned without changing the field offsets, thus avoiding any ABI breakages. rdar://problem/25364625 rdar://problem/35556163 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@319123 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-22[demangler] Support for abi_tag attributeErik Pilkington
Differential revision: https://reviews.llvm.org/D40279 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@318874 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-21[demangler] Document some features that the demangler doesn't yet support, NFCErik Pilkington
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@318765 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-17[libcxxabi][CMake] Provide option to disable installing of the libraryPetr Hosek
This is useful in cases where we only build static library and libc++abi.a is combined with libc++.a into a single archive in which case we don't want to have libc++abi.a installed separately. The same option is already provided by libcxx CMake build. Differential Revision: https://reviews.llvm.org/D40194 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@318568 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-17[CMake][libcxxabi] Support merging objects when statically linking unwinderPetr Hosek
When using LLVM unwinder and static unwinder option is set, merge libunwind and libc++abi objects into a single archive. libc++ already supports merging libc++abi.a and libc++.a into a single archive; with this change, it is possible to also include libunwind.a in the same archive which is useful when doing static link and using libc++ as a default C++ library and compiler-rt as a default runtime library. Differential Revision: https://reviews.llvm.org/D39949 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@318563 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-13Remove excess whitespace from syslog message; NFCStephan Bergmann
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@318043 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-14Fix ASAN build with older compiler-rt versions.Eric Fiselier
compiler-rt recently added the __asan_handle_no_return() function that libc++abi needs to use, however older versions of compiler-rt don't declare this interface publicly and that breaks the libc++abi build. This patch attempts to fix the issues by declaring the asan function explicitly, so we don't depend on compiler-rt to provide the declaration. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@313308 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-14[libc++abi] Fix ASAN build with older compiler-rt versions.Eric Fiselier
Summary: compiler-rt recently added the `__asan_handle_no_return()` function that libc++abi needs to use, however older versions of compiler-rt don't provide this interface and that breaks the libc++abi build. This patch attempts to fix the issues by using a macro to detect if `asan_interface.h` is new enough to provide the function. See D37871 Reviewers: phosek, vitalybuka Reviewed By: phosek, vitalybuka Subscribers: dberris, cfe-commits Differential Revision: https://reviews.llvm.org/D37872 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@313304 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-13Reland "When built with ASan, __cxa_throw calls __asan_handle_no_return"Petr Hosek
The ASan runtime on many systems intercepts cxa_throw just so it can call asan_handle_no_return first. Some newer systems such as Fuchsia don't use interceptors on standard library functions at all, but instead use sanitizer-instrumented versions of the standard libraries. When libc++abi is built with ASan, cxa_throw can just call asan_handle_no_return itself so no interceptor is required. Patch by Roland McGrath Differential Revision: https://reviews.llvm.org/D37229 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@313215 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-06Revert "[libcxxabi] When built with ASan, __cxa_throw calls ↵Petr Hosek
__asan_handle_no_return" This reverts commit r312606 because it's causing an error on libcxx-libcxxabi-x86_64-linux-ubuntu-asan bot. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@312609 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-06[libcxxabi] When built with ASan, __cxa_throw calls __asan_handle_no_returnPetr Hosek
The ASan runtime on many systems intercepts cxa_throw just so it can call asan_handle_no_return first. Some newer systems such as Fuchsia don't use interceptors on standard library functions at all, but instead use sanitizer-instrumented versions of the standard libraries. When libc++abi is built with ASan, cxa_throw can just call asan_handle_no_return itself so no interceptor is required. This is a re-land of r311045, which has become safe after r311869 changed compiler-rt to declare __asan_handle_no_return. Patch by Roland McGrath Differential Revision: https://reviews.llvm.org/D37229 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@312606 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-16Revert "[libcxxabi] When built with ASan, __cxa_throw calls ↵Petr Hosek
__asan_handle_no_return" This reverts commit r311045 because it's causing an error on libcxx-libcxxabi-x86_64-linux-ubuntu-asan bot. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@311047 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-16[libcxxabi] When built with ASan, __cxa_throw calls __asan_handle_no_returnPetr Hosek
The ASan runtime on many systems intercepts cxa_throw just so it can call asan_handle_no_return first. Some newer systems such as Fuchsia don't use interceptors on standard library functions at all, but instead use sanitizer-instrumented versions of the standard libraries. When libc++abi is built with ASan, cxa_throw can just call asan_handle_no_return itself so no interceptor is required. Patch by Roland McGrath Differential Revision: https://reviews.llvm.org/D36599 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@311045 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-10[demangler] Fix some more -Wshadow warnings I missed in r310535Erik Pilkington
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@310546 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-09[demangler] Fix a bunch of -Wshadow warningsErik Pilkington
These were causing failures in -Werror builds. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@310535 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-09Mark test as unsupported c++98/03 to fix buildbotsErik Pilkington
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@310530 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-09[demangler] Improve representation of substitutions/templatesErik Pilkington
Differential revision: https://reviews.llvm.org/D36427 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@310525 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-08[demangler] Rename some variables, NFCErik Pilkington
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@310415 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-08[libc++abi] Use proper calling convention for TLS destructorShoaib Meenai
This is needed when using Windows threading. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@310329 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-06[demangler] Fix another oss-fuzz bugErik Pilkington
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@310226 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-01[demangler] Fix another bug found by oss-fuzz in r309340Erik Pilkington
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@309650 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-01[demangler] Use _LIBCPP_UNREACHABLE()Erik Pilkington
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@309649 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-31libcxxabi: Suppress LLVM_ENABLE_MODULESNAKAMURA Takumi
Differential Revision: https://reviews.llvm.org/D35542 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@309551 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-30[demangler] Fix some bugs in r309340 found by oss-fuzzErik Pilkington
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@309520 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-28[demangler] Fix some overzealous -Wreturn-type errorsErik Pilkington
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@309349 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-28[demangler] Attempt to fix linux bots, include <cstdio>Erik Pilkington
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@309342 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-28[demangler] Use an AST to represent demangled namesErik Pilkington
The demangler now demangles by producing an AST, then traverses that AST to produce a demangled name. This is done for performance reasons, now the demangler doesn't manuiplate std::strings, which hurt performance and caused string operations to be inlined into the parser, leading to large code size and stack usage. Differential revision: https://reviews.llvm.org/D35159 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@309340 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-19Update version to 6.0.0svnHans Wennborg
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@308461 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-13[demangler] Respect try_to_parse_template_argsErik Pilkington
Fixes an exponential parse found by oss-fuzz. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@307941 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-12Remove dependancy on __refstring header; use local copy instead.Eric Fiselier
This patch removes the dependancy on libc++'s __refstring header, which was only a header in the first place so that libc++abi could build library code using it, and not because libc++ needed it in the headers. This patch allows libc++ to stop shipping <__refstring> publicaly at the cost of duplicating it across projects. Ideally libc++abi would always require the libc++ sources when building, but that's a separate discussion I plan to start on the mailing lists shortly. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@307748 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-11[libcxxabi][CMake] Add install path variable to allow overriding the destinationPetr Hosek
This is going to be used by the runtime build in the multi-target setup to allow using different install prefix for each target. Differential Revision: https://reviews.llvm.org/D33761 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@307611 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-08[Demangler] NFC: Don't make the parse_* functions templatesErik Pilkington
Differential revision: https://reviews.llvm.org/D35158 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@307482 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-08[Demangler] NFC: Move Db struct to beginning of fileErik Pilkington
Differential revision: https://reviews.llvm.org/D35158 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@307481 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-06Fix incomplete type test on OS X; workaround weird DYLD_LIBRARY_PATH behaviorEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@307230 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-22Add some catch(...) blocks to the tests so that if they fail, we get a good ↵Marshall Clow
error message. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@305977 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-15Use _LIBCPP_FALLTHROUGH() to avoid warnings about [[gnu::fallthrough]] being ↵Eric Fiselier
unsupported git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@305500 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-13Set a default value for LIBCXXABI_LIBDIR_SUFFIX, fixes installing into lib64 ↵Ismail Donmez
after r304374 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@305278 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-11build: use cmake to pass -std=c++11Saleem Abdulrasool
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. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@305175 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-11build: use POSITION_INDEPENDENT_CODE CMake propertySaleem Abdulrasool
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. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@305174 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-11cxa_demangle: fix -Wimplicit-fallthrough for GCC:7Saleem Abdulrasool
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 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@305173 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-11private_typeinfo: add missing field initializersSaleem Abdulrasool
Cleanup the -Wmissing-field-initializers warnings from gcc:7 builds. NFC. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@305172 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-03[libcxxabi] HandleLLVMOptions in out of tree buildMartell Malone
Differential revision: https://reviews.llvm.org/D33753 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@304664 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-01[libcxxabi] Rework CMakeLists.txt into modulesMartell Malone
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 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@304374 91177308-0d34-0410-b5e6-96231b3b80d8