12f2b260eddbdeaa1a41410cb13fcbf210c423ba |
|
12-Jul-2017 |
Eric Fiselier <eric@efcs.ca> |
Remove <__refstring> header; Move it into source directory. The libc++ <__refstring> headers has no real reason why it should be a public header that libc++ ships. The only reason it was in the include directory was because libc++abi needed it to build the library. However keeping <__refstring> a header had other problems, like requiring its dependancies to also be in the headers. For that reason this patch moves it into the source directory. To work around libc++abi's need for this header a duplicated copy was added to libc++abi in r307748. While duplicating the code is an unfortunate solution it's the best solution that's currently possible. In the future I would like to start a discussion on the mailing lists about making libc++abi build as a sub-project of libc++, requiring the libc++ sources always be present. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@307749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
cfc5515b9d463558331d716bb0edf899757a1853 |
|
03-Jan-2017 |
Eric Fiselier <eric@efcs.ca> |
Recommit r290839 - Fix configuring and building libc++ w/o an ABI library. This patch re-commits a previous attempt to support building libc++ w/o an ABI library. That patch was originally reverted because: 1) It forgot to teach the test suite about "default" ABI libraries. 2) Some LLVM builders don't clear the CMake cache between builds. The previous patch caused those builders to fail since their old cache entry for LIBCXX_CXX_ABI="" is no longer valid. The updated patch addresses both issues. It works around (2) by adding a hack to force the builders to update their cache entries. The hack will be removed shortly once all LLVM builders have run. Original commit message ----------------------- Typically libc++ uses libc++abi or libcxxrt to provide the ABI and runtime bits of the C++ STL. However we also support building w/o an ABI library entirely. This patch fixes building libc++ w/o an ABI library (and incorporates the `~type_info()` fix in D28211). The main changes in this patch are: 1) Add `-DLIBCXX_CXX_ABI=default` instead of using the empty string to mean "default". 2) Fix CMake bits which treated "none" as "default" on OS X. 3) Teach the source files to respect `-D_LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY`. 4) Define ~type_info() when _LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY is defined. Unfortunately this patch doesn't help clean up the macro mess that we use to configure for different ABI libraries. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
983f38443b0756e06628b962ed3fdb75c69cf69c |
|
02-Jan-2017 |
Eric Fiselier <eric@efcs.ca> |
Revert r290839 - Fix configuring and building libc++ w/o an ABI library git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
ea38cde827cdb83134adb7eade860a9b77a486b6 |
|
02-Jan-2017 |
Eric Fiselier <eric@efcs.ca> |
Fix configuring and building libc++ w/o an ABI library. Typically libc++ uses libc++abi or libcxxrt to provide the ABI and runtime bits of the C++ STL. However we also support building w/o an ABI library entirely. This patch fixes building libc++ w/o an ABI library (and incorporates the `~type_info()` fix in D28211). The main changes in this patch are: 1) Add `-DLIBCXX_CXX_ABI=default` instead of using the empty string to mean "default". 2) Fix CMake bits which treated "none" as "default" on OS X. 3) Teach the source files to respect `-D_LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY`. 4) Define ~type_info() when _LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY is defined. Unfortunately this patch doesn't help clean up the macro mess that we use to configure for different ABI libraries. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
6979a42e4412d366e4528e3bf83e3846d1520097 |
|
25-Oct-2016 |
Eric Fiselier <eric@efcs.ca> |
[libc++] Fix modules build - Rework __refstring definition Summary: `__libcpp_refstring` currently has two different definitions. First there is the complete definition in `<__refstring>` but there is also a second in `<stdexcept>`. The historical reason for this split is because both libc++ and libc++abi need to see the inline definitions of __libcpp_refstrings methods, but the `<stdexcept>` header doesn't. However this is an ODR violation and breaks the modules build. This patch fixes the issue by creating a single class definition in `<stdexcept>` and changing `<__refstring>` to contain only the inline method definitions. This way both `libcxx/src/stdexcept.cpp` and `libcxxabi/src/stdexcept.cpp` see the same declaration in `<stdexcept>` and definitions in `<__refstring>` Reviewers: mclow.lists, EricWF Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D25603 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@285100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
8f6e763c49701838c47ab105e81634fc21bc77cf |
|
16-Oct-2015 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix an unfortunate yet old typo that never got attention before r250507. Should fix the xcode libc++ build. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@250508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
99290c6ec8fb6804b168a12ebe19b2c3a79c35e0 |
|
16-Oct-2015 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove a long-standing __has_include hack. 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. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@250507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
55622073f48d56027735468408da513417527569 |
|
30-Apr-2014 |
Joerg Sonnenberger <joerg@bec.de> |
Exceptions store the message as reference counted string for compatibility to libstdc++. Move the implementation into a header for easier sharing with libc++abi. Merge a number of improvements from that version. Provide a POD definition for <stdexcept>'s public use to avoid cast dances. Discussed with Marshall Clow. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@207695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
63fbfd688347d6d53b699a3f076dd6388733329c |
|
17-Jan-2014 |
Alp Toker <alp@nuanti.com> |
Adjust build fix from r199494 to use C++ casts Change suggested by Joerg Sonnenberger! git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@199500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
5f58b89ecdd1fe7b67bcb568545cdc83bdf90052 |
|
17-Jan-2014 |
Alp Toker <alp@nuanti.com> |
Build fix for gcc builtin The __sync_add_and_fetch() builtin parameter is volatile but clang has 'different' type checking and ends up accepting this code. Undo the C++ cast from r198505 to get libc++/LLVM building with g++ while this is investigated. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@199494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
4a07e0e15964e07f60d470471cc5df0cba081750 |
|
07-Jan-2014 |
Joerg Sonnenberger <joerg@bec.de> |
Replace casts of __impl_ with the correct reinterpret_cast of the address. Restores the assembly of before r198504. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@198698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
4c6acb5ecd7fab26583353261fd52a9f7ba2f1e0 |
|
04-Jan-2014 |
Joerg Sonnenberger <joerg@bec.de> |
Switch to using C++ style casts. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@198505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
d0d308f54baaa977292b6ea586a9577aa6e2a8e4 |
|
07-Oct-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Make it possible to link against libstdc++ as well as libsupc++ with CMake. Linking against libstdc++, rather than libsupc++, is probably better for people who need to link against clients of libstdc++. Because libsupc++ is provided only as a static library, its globals are not shared between the static library and the copy linked into libstdc++. This has been found to cause at least one test failure. This also removes a number of symbols which were multiply defined between libstdc++ and libc++, only when linking with libstdc++. Differential Revision: http://llvm-reviews.chandlerc.com/D1825 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@192075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
9844b6796b54516b6bcb5afd2cd3c10f722c47a4 |
|
05-Oct-2013 |
Howard Hinnant <hhinnant@apple.com> |
G M: A small patch to fix a couple of warnings in stdexcept.cpp for cl.exe which does not support #pragma visibility. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@191988 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
e31c432a33c0181dc52aa9992558243982b9d0ce |
|
22-Aug-2013 |
Howard Hinnant <hhinnant@apple.com> |
Glen: replace obsolete _LIBCPP_CANTTHROW with _NOEXCEPT. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189046 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
09ca5d49e179f7b078e3456c64c0baf7ef17c68f |
|
30-Jun-2013 |
Howard Hinnant <hhinnant@apple.com> |
Matthew Dempsky: Same as stdexcept.cpp in libc++abi: we've already computed 'len strlen(msg)', so we can use memcpy() instead of strcpy(). git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@185274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
dece7fe6706591d80e4694a986446f756611733c |
|
18-Mar-2013 |
Marshall Clow <mclow@qualcomm.com> |
Removed raw references to __APPLE__; now just check to see if it is defined. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@177297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
460b4cadde3f0e7679ddd12151517e949493b691 |
|
03-Sep-2012 |
Howard Hinnant <hhinnant@apple.com> |
Some minor mingw64 porting tweaks from Glen. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@163120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
4490c4aaed9e24f5dd57bc1260319214ccb97970 |
|
08-Aug-2012 |
Howard Hinnant <hhinnant@apple.com> |
Change size of reference count field in __libcpp_nmstr from 32 bits to 64 bits for 64 bit targets. This is controls the data layout of all exceptions defined in <stdexcept>. This aligns the ABI with that of gcc-4.2. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@161497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
c756f5b4e8b2eb4b8c808840f6bc81e504670cf8 |
|
19-Apr-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
libc++: only #include <cxxabi.h> if it exists. This allows libc++ to build out of the box on Linux systems. If you're building against libc++abi, you still need to make sure it can find <cxxabi.h> so it knows not to export symbols which libc++abi provides. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@155091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
e1642e1c00d30993616c7293959b33fe2007ba2e |
|
17-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Move typeinfos for exceptions in <stdexcept> to the abi git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@150835 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
1e15fd1856a34a4bc0f7c1d649d2e22df9033326 |
|
26-May-2011 |
Howard Hinnant <hhinnant@apple.com> |
Applied noexcept to everything in [diagnostics] (Chapter 19) git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@132137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
b64f8b07c104c6cc986570ac8ee0ed16a9f23976 |
|
16-Nov-2010 |
Howard Hinnant <hhinnant@apple.com> |
license change git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
04acacadca196a2587b52942c33d4fea51411e1b |
|
04-Sep-2010 |
Daniel Dunbar <daniel@zuster.org> |
Fix typos, noticed by Clang. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
adff4895b2746f30b271bc219713e7ded5ae9677 |
|
24-May-2010 |
Howard Hinnant <hhinnant@apple.com> |
patch by Jeffrey Yasskin for porting to Ubuntu Hardy. Everything was accepted except there were some bug fixes needed in <locale> for the __nolocale_* series. For the apple branch I ended up using templates instead of the var_args solution because it seemed both safer and more efficient. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@104516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
f5256e16dfc425c1d466f6308d4026d529ce9e0b |
|
11-May-2010 |
Howard Hinnant <hhinnant@apple.com> |
Wiped out some non-ascii characters that snuck into the copyright. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@103516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|
bc8d3f97eb5c958007f2713238472e0c1c8fe02c |
|
11-May-2010 |
Howard Hinnant <hhinnant@apple.com> |
libcxx initial import git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@103490 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/stdexcept.cpp
|