summaryrefslogtreecommitdiffstats
path: root/libcxx
Commit message (Collapse)AuthorAgeFilesLines
...
* Only disable linker script when LIBCXX_CXX_ABI_LIBNAME is noneEric Fiselier2015-10-222-15/+15
| | | | llvm-svn: 251063
* Disable linker scripts when the ABI library is not specified or is none.Eric Fiselier2015-10-221-1/+4
| | | | llvm-svn: 251062
* Detect relaxed constexpr rules for gcc versionsMarshall Clow2015-10-201-1/+4
| | | | llvm-svn: 250802
* Fix an unfortunate yet old typo that never got attention before r250507.Benjamin Kramer2015-10-161-1/+1
| | | | | | Should fix the xcode libc++ build. llvm-svn: 250508
* Remove a long-standing __has_include hack.Benjamin Kramer2015-10-164-25/+8
| | | | | | | | | This was put in to get libc++ building without libcxxabi. We now have macros that show that we are building against libcxxabi so use that instead. This guards against existing but broken cxxabi.h headers on the system. llvm-svn: 250507
* Re-enable linker scripts after fixing bad CMakeEric Fiselier2015-10-152-4/+4
| | | | llvm-svn: 250472
* Quickly fix bad commitEric Fiselier2015-10-151-1/+2
| | | | llvm-svn: 250471
* [libcxx] Make libc++.so a linker script by default on most platforms.Eric Fiselier2015-10-154-6/+48
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch turns on `LIBCXX_ENABLE_ABI_LINKER_SCRIPT` by default whenever `LLVM_HAVE_LINK_VERSION_SCRIPT` is ON. This turns out to be whenever: 1. WIN32 is not defined. 2 UNIX is defined. 3. APPLE is not defined. While `LLVM_HAVE_LINK_VERSION_SCRIPT` is meant to reflect exactly what we are asking I think it's close enough. After committing this patch Linux users will no longer have to use "-lc++abi" explicitly! Reviewers: mclow.lists, danalbert, compnerd, jroelofs Subscribers: emaste, rengolin, cbergstrom, cfe-commits Differential Revision: http://reviews.llvm.org/D13739 llvm-svn: 250469
* Fix handling of -Wno-pedanticEric Fiselier2015-10-151-2/+3
| | | | llvm-svn: 250452
* Add links to libc++ code coverage and buildersEric Fiselier2015-10-151-2/+4
| | | | llvm-svn: 250361
* Update issues statusEric Fiselier2015-10-141-2/+2
| | | | llvm-svn: 250336
* Use correct CMake variable for the libnameEric Fiselier2015-10-141-1/+1
| | | | llvm-svn: 250329
* Link to new documentation from existing homepageEric Fiselier2015-10-141-0/+10
| | | | llvm-svn: 250325
* Update testing guide for libc++Eric Fiselier2015-10-141-7/+56
| | | | llvm-svn: 250323
* [libcxx] Make it drastically simpler to link libc++.Eric Fiselier2015-10-144-2/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Currently on most platforms you have to manually link the c++ abi library used with libc++ whenever you use libc++. So your typical libc++ command like invocation might look like: ``` clang++ -stdlib=libc++ foo.cpp -lc++abi ``` Having to manually link `libc++abi.so` makes it harder for libc++ to be used generically. This patch fixes that by generating a linker script for `libc++.so` that correctly links the ABI library. On linux the linker script for libc++abi would look like: ``` # libc++.so INPUT(libc++.so.1 -lc++abi) ``` With the linker script you can now use libc++ using only `-stdlib=libc++`. This is the technique that is used on FreeBSD in ordered to link cxxrt and I think it's the best approach to make our users lives simpler. The CMake option used to enable this is `LIBCXX_ENABLE_ABI_LINKER_SCRIPT`. In future I would like to enable this by default on all platforms except for Darwin. Reviewers: mclow.lists, danalbert, rsmith, jroelofs, EricWF Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D12508 llvm-svn: 250319
* Split out config_site logic so libc++abi can use itEric Fiselier2015-10-141-12/+15
| | | | llvm-svn: 250312
* [libcxx] Use __config_site to configure the test suite features.Eric Fiselier2015-10-143-70/+57
| | | | | | | | | | | | | | | Summary: This patch changes the tests to use the "__config_site" header if present instead of manually configuring for each option. This patch also removes the test flags for configuring some of these options. For example "lit -sv --param=enable_threads=OFF" no longer works. However lit will still correctly configure if the CMake option "-DLIBCXX_ENABLE_THREADS=OFF" is given at build time. This patch will fix the libc++abi test configuration for `LIBCXX_ABI_VERSION` and `LIBCXX_ABI_UNSTABLE` one we teach it about 'project_obj_dir' . I would like to land this ASAP to prevent more work blockage. Reviewers: mclow.lists, danalbert, eugenis, ed, jroelofs Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D13714 llvm-svn: 250308
* Fix GCC atomic implementation in C++03Eric Fiselier2015-10-141-3/+8
| | | | llvm-svn: 250279
* Use __config_site when building libc++. Also cleanup ABI versioning docEric Fiselier2015-10-145-4/+10
| | | | llvm-svn: 250261
* Workaround -pedantic flag added by LLVMEric Fiselier2015-10-131-0/+4
| | | | llvm-svn: 250256
* ABI versioning macros for libc++.Evgeniy Stepanov2015-10-1311-12/+85
| | | | | | | | C++ macros and CMake options that specify the default ABI version of the library, and can be overridden to pick up new ABI-changing features. llvm-svn: 250254
* Fix use of libc++ <foo.h> headers from within an 'extern "C"' context in C++98.Richard Smith2015-10-132-0/+45
| | | | | | Previously, this resulted in us declaring a template for static_assert emulation within the 'extern "C"' context, which is ill-formed. llvm-svn: 250247
* Fix whitespace in docEric Fiselier2015-10-131-1/+1
| | | | llvm-svn: 250238
* Remove __config module to avoid #include cycle when libc headers include ↵Richard Smith2015-10-131-1/+5
| | | | | | libc++'s <foo.h> headers. llvm-svn: 250236
* [libcxx] Capture configuration information when installing the libc++ headersEric Fiselier2015-10-136-7/+173
| | | | | | | | | | | | | | | | | Summary: Hi all, This patch is a successor to D11963. However it has changed dramatically and I felt it would be best to start a new review thread. Please read the design documentation added in this patch for a description of how it works. Reviewers: mclow.lists, danalbert, jroelofs, EricWF Subscribers: vkalintiris, rnk, ed, espositofulvio, asl, eugenis, cfe-commits Differential Revision: http://reviews.llvm.org/D13407 llvm-svn: 250235
* Mark 2447 and 2466 as completed.Marshall Clow2015-10-121-5/+5
| | | | llvm-svn: 250061
* [Darwin] Reworking r250003 to use lit.util.capture instead of subprocess.Chris Bieneman2015-10-121-6/+2
| | | | llvm-svn: 250007
* [Darwin] Need to add -isysroot on OS X otherwise the tests will fail if you ↵Chris Bieneman2015-10-121-0/+21
| | | | | | | | don't have the command line tools package installed. This mirrors how other LLVM suites are configured for running on OS X. llvm-svn: 250003
* Turn off -pedantic by default when building due to #include_next. :-(Eric Fiselier2015-10-101-1/+3
| | | | llvm-svn: 249939
* Revert r249931 - Remove same_decls.pass.cpp because it fails on OS X and in ↵Eric Fiselier2015-10-101-517/+0
| | | | | | C++03 mode. llvm-svn: 249938
* Get some of wchar_h.pass.cpp working on apple.Eric Fiselier2015-10-101-10/+16
| | | | llvm-svn: 249936
* Unrevert r249889, and XFAIL the test for Darwin, where the libc apparently ↵Richard Smith2015-10-103-19/+161
| | | | | | doesn't provide a correct overload set for some functions. llvm-svn: 249932
* Add a test that we declare the right set of C library function signatures in ::Richard Smith2015-10-101-0/+517
| | | | | | and std::, and that the names in :: and std:: are declaring the same entity. llvm-svn: 249931
* Split <string.h> out of <cstring>.Richard Smith2015-10-102-18/+86
| | | | | | | | Also fix the overload set for the five functions whose signatures change in the case where we can fix it. This is already covered by existing tests for the affected systems. llvm-svn: 249929
* Revert r249889 due to bot failure.Manman Ren2015-10-103-155/+19
| | | | llvm-svn: 249926
* Split <wctype.h> out of <cwctype>.Richard Smith2015-10-092-18/+79
| | | | llvm-svn: 249890
* Split <wchar.h> out of <cwchar>.Richard Smith2015-10-093-19/+155
| | | | llvm-svn: 249889
* Split <stdlib.h> out of <cstdlib>.Richard Smith2015-10-093-22/+152
| | | | llvm-svn: 249800
* Split <stdio.h> out of <cstdio>.Richard Smith2015-10-093-10/+147
| | | | | | As with <stddef.h>, skip our custom header if __need_FILE or __need___FILE is defined. llvm-svn: 249798
* PR25118: move system_header pragma before uses of include_next to avoid ↵Richard Smith2015-10-099-14/+29
| | | | | | extension warnings for people finding libc++ headers via -I paths. llvm-svn: 249788
* Fix test failure in C++98 mode due to imperfect static_assert emulation.Richard Smith2015-10-081-1/+1
| | | | llvm-svn: 249780
* Split <stddef.h> out of <cstddef>.Richard Smith2015-10-083-2/+80
| | | | | | | | | | | | | | There are a bunch of macros (__need_size_t etc) that request just one piece of <stddef.h>; if any one of these is defined, we just directly include the underlying header. Note that <stddef.h> provides a ::nullptr_t. We don't want that available to includers of <cstddef>, so instead of following the usual pattern where <cfoo> includes <foo.h> then pulls things from :: into std:: with using-declarations, we implement <stddef.h> and <cstddef> separately; both include <__nullptr> for the definition of std::nullptr_t. llvm-svn: 249761
* Fix incorrect file header. This is <cfenv> not <cctype>.Richard Smith2015-10-081-1/+1
| | | | llvm-svn: 249749
* Split <setjmp.h> out of <csetjmp>.Richard Smith2015-10-083-4/+44
| | | | llvm-svn: 249743
* Split <math.h> out of <cmath>.Richard Smith2015-10-085-1178/+2314
| | | | llvm-svn: 249742
* Split <inttypes.h> out of <cinttypes>.Richard Smith2015-10-083-5/+537
| | | | llvm-svn: 249741
* Split <float.h> out of <cfloat>.Richard Smith2015-10-082-8/+78
| | | | llvm-svn: 249740
* Split <errno.h> out of <cerrno>.Richard Smith2015-10-082-360/+393
| | | | llvm-svn: 249739
* Split <ctype.h> out of <cctype>.Richard Smith2015-10-083-32/+82
| | | | llvm-svn: 249738
* Factor definition of std::nullptr_t out of <cstddef> into a header that can ↵Richard Smith2015-10-082-44/+67
| | | | | | also be used by <stddef.h>. llvm-svn: 249737
OpenPOWER on IntegriCloud