a5f0e6c5c1İsmail Dönmez: Change to mktemp template to make it compatible with Linux.
Howard Hinnant
2013-04-25 16:08:55 +00:00
05e7d24b3ddefault_delete needs a static_assert against void types. I had previously thought that sizeof(void) would take care of this. I was wrong.
Howard Hinnant
2013-04-24 19:44:26 +00:00
c5e6aa5f5cAvoid bash specific functionality to work with any POSIX shell implementing $(( )).
Joerg Sonnenberger
2013-04-23 19:53:24 +00:00
f9e75aef34Change makefile comment to refer to libc++ instead of libcpp.
Bob Wilson
2013-04-23 19:26:55 +00:00
9493e27c0fPR15820: Use tar instead of rsync to install the headers.
Bob Wilson
2013-04-23 18:51:51 +00:00
c52fb8d7bfPR12597: Remove "chown -R root:wheel" from the makefile.
Bob Wilson
2013-04-23 17:30:35 +00:00
9c2ce95063Zero-initialize all mbstate_t in the codecvt tests.
Howard Hinnant
2013-04-23 14:09:35 +00:00
08dd25303eModest performance improvement for std::string's operator==.
Howard Hinnant
2013-04-22 23:55:13 +00:00
5544f7e0c7Somehow aligned_union got dropped through the cracks. This adds it. Did a drive-by fix of alignment_of while I was in the neighborhood.
Howard Hinnant
2013-04-22 19:37:49 +00:00
b4e67cfd42After years of telling people: 'If you ever find any of my code that self-move-assigns, send me a bug report.' Somebody finally took me up on it. vector::erase(begin(), begin()) does a self-move-assign of every element in the vector, leaving all of those elements in an unspecified state. I checked the other containers for this same bug and did not find it. Added test case.
Howard Hinnant
2013-04-18 15:02:57 +00:00
2062f37772I believe this finishes up debug mode for list. The testing is a little weak, but I believe all of the functionality is there. Certainly enough for people to checkout and start beating up on.
Howard Hinnant
2013-04-16 21:42:36 +00:00
993248935cAccidentally disallowed explicit tuple conversions when all elements of the tuple can be explicitly converted.
Howard Hinnant
2013-04-14 00:01:13 +00:00
4f67100219Set failbit when strtold sets errno to ERANGE when parsing floating point values.
Howard Hinnant
2013-04-13 18:19:25 +00:00
a5733b3ad3Ruben Van Boxem: Turn islower_l and isupper_l into functions (instead of macros) on Windows only to quell a warning during libc++ building.
Howard Hinnant
2013-04-12 20:22:57 +00:00
0795931deeChange <cwchar> and <cstring> to look out for flags which may or may not be set by the C headers <wchar.h> and <string.h> indicating C support for the C++-altered wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr, strchr, strpbrk, strrchr, memchr, and strstr. This was already done in <cstring> for other platforms using other flags, so just had to add one more flag to the list there.
Howard Hinnant
2013-04-08 18:59:28 +00:00
6dcaf3ee1aFix bug in __libcpp_db::__iterator_copy. Add debug test for swaping lists.
Howard Hinnant
2013-04-05 17:58:52 +00:00
e1e96cb840More list debug mode tests.
Howard Hinnant
2013-04-05 15:04:10 +00:00
79a35570a5More work on debug mode for list.
Howard Hinnant
2013-04-05 00:18:49 +00:00
4aa8b06e67The move / swap members were not correctly taking all of the possible states of the basic_stringbuf into account. Just rewrote these members. Test included. This fixes http://llvm.org/bugs/show_bug.cgi?id=15659.
Howard Hinnant
2013-04-03 20:21:29 +00:00
b777d6a4b2The cmake script is failing to copy cxxabi.h to the right place because it was generating to destination path like so /include// and dstdir can legally be blank from my interpretation of the script, and this would then generate a path like libcxx/include// which is illegal.
Howard Hinnant
2013-04-02 21:33:01 +00:00
11a50ac497Richard Smith: It was pointed out to me off-list that libc++'s non-compiler-builtin implementation of std::is_polymorphic does this:
Howard Hinnant
2013-04-02 21:25:06 +00:00
d4c96a6c89Some debug test cases for list.
Howard Hinnant
2013-04-02 19:53:32 +00:00
8b25c00ef1The 3rd test in shrink_to_fit.pass.cpp can't possibly pass if exceptions are disabled, so #ifdef'ing out the test.
Howard Hinnant
2013-03-29 17:20:04 +00:00
302fa82a1cI believe debug mode for vector<T> (T != bool) is complete. If anyone sees anything more they would like to see on it, please let me know. Debug mode is activated by compiling with -D_LIBCPP_DEBUG2=1. Eventually _LIBCPP_DEBUG2 will be renamed to just _LIBCPP_DEBUG.
Howard Hinnant
2013-03-28 20:35:29 +00:00
db4d478ff4Fix a few warnings/errors for compiling with -fno-exceptions.
Howard Hinnant
2013-03-28 18:56:26 +00:00
742fecbd2aSecond try at r178075. The llvm breakage has been fixed by r178240.
Howard Hinnant
2013-03-28 17:44:32 +00:00
2c0d3edf68Add missing #ifndef _LIBCPP_NO_EXCEPTIONS around throw in include/thread.
Howard Hinnant
2013-03-28 15:00:04 +00:00
34d36f39b0Revert r178075, "Tighten up the iterator requirements ...", it breaks LLVM bootstrap with libc++.
Daniel Dunbar
2013-03-27 04:10:25 +00:00
32d40f5f44Tighten up the iterator requirements for the vector member templates. This is especially important for the constructors so that is_constructible<vector<T>, I, I> gives the right answer when T can not be constructed from *I. Test case included for this latter point.
Howard Hinnant
2013-03-26 21:40:54 +00:00
d1c0082675More vector debug tests.
Howard Hinnant
2013-03-26 15:45:56 +00:00
c3a9b81e67Fixed race conditions in thread tests; exposed by UBSan
Marshall Clow
2013-03-26 15:28:33 +00:00
3fbd1dfb24Simply debug mode tests per Dmitri Gribenko's suggestion.
Howard Hinnant
2013-03-26 14:28:25 +00:00
d9cdb2dcfdNeed one more swap overload for swapping two lvalue vector<bool>::reference's.
Howard Hinnant
2013-03-26 13:48:57 +00:00
782da33d1cAdded debug tests for indexing, pop_back and both forms of erase. Added an improved error message for erasing a single element with end().
Howard Hinnant
2013-03-25 22:12:26 +00:00
c1ca2e1e8bRemove some erroneous code I was using to debug debug mode.
Howard Hinnant
2013-03-25 20:46:07 +00:00
295891fdc2Debug mode tests for vector::front and back.
Howard Hinnant
2013-03-25 20:31:25 +00:00
0d01eb54e7More vector::iterator debug mode tests. Run by adding to OPTIONS -D_LIBCPP_DEBUG2=1.
Howard Hinnant
2013-03-25 20:03:19 +00:00
f5f4684e71Debug mode: learning to crawl. I need to set up some tests that actually test that the debug mode is working, but that won't cause problems when debug mode isn't on. This is my first prototype of such a test. It should call std::terminate() because it's comparing iterators from different containers. And std::terminate() is rigged up to exit normally. If debug mode fails, and doesn't call terminate, then the program asserts. The test is a no-op if _LIBCPP_DEBUG2 is not defined or is defined to be 0.
Howard Hinnant
2013-03-25 19:29:35 +00:00
ae7bf9daacMarshall Clow found some divide-by-zero warnings with UBSan in rand's binomial_distribution test. This eliminates the divide-by-zeros and describes in comments the numerical difficulties the test is having. Each of the problematic tests are exploring edge cases of the distribution.
Howard Hinnant
2013-03-23 19:29:45 +00:00
9976b5511aThis is a start at making the libc++ test suite friendlier to the -fnoexceptions flag. Although this is not a complete solution, it does reduce the number of test failures on OS X from 467 to 128 on OS X when -fno-exceptions is enabled, and does not impact the number of failures at all when -fno-exceptions is not enabled. The bulk of this code was donated anonymously.
Howard Hinnant
2013-03-23 17:27:16 +00:00
06d8bf6ce2Test cleanup with respect to use of deprecated tmpnam function. Also Windows port for these tests to use _tempnam. The bulk of this patch was donated anonymously. I've tested it on OS X and accept responsibility for it. If I've broken anyone's platform by switching from tmpnam to mktemp for the generation of temporary file names, just let me know. Should be easy to fix in test/support/platform_support.h
Howard Hinnant
2013-03-22 20:05:40 +00:00
9b145da078Fix buffer read overflow in money_get::do_get(). Found by UBSan
Marshall Clow
2013-03-22 02:14:40 +00:00
04bd79b23aFix undefined behavior in syntax_option_type::operator~ and match_flag_type::operator./a.out Found by UBSan
Marshall Clow
2013-03-22 02:13:55 +00:00
bdea27ba8fFix bug in test; found by AddressSanitizer
Marshall Clow
2013-03-20 00:01:48 +00:00
b74309e3adMarshall Clow found this memory problem in strstream using -fsanitize=address on the test suite.
Howard Hinnant
2013-03-19 22:16:57 +00:00
903439f735This is an optimization which produces improved launching time. There should be no functionality change. Clients should see no ABI differences.
Howard Hinnant
2013-03-19 21:34:48 +00:00
c19fe86743Fix bug in test; found by AddressSanitizer
Marshall Clow
2013-03-18 23:39:36 +00:00
53e2763966Removed raw references to __sun__, __FreeBSD__, __GLIBC__ and __linux__; now just check to see if they are defined.
Marshall Clow
2013-03-18 19:34:07 +00:00
dab9b2eb32Removed raw references to _MSC_VER; now just check to see if it is defined.
Marshall Clow
2013-03-18 18:20:48 +00:00
dece7fe670Removed raw references to __APPLE__; now just check to see if it is defined.
Marshall Clow
2013-03-18 17:45:34 +00:00
a22d2addb1Removed raw references to _WIN32; now just check to see if it is defined.
Marshall Clow
2013-03-18 17:04:29 +00:00
e33c2d1926This should be nothing but a load-time optimization. I'm trying to reduce load time initializers and this is a big one. No visible functionality change intended.
Howard Hinnant
2013-03-16 00:17:53 +00:00
e47bc9bc4fUpdated link to Marshall's instructions
Marshall Clow
2013-03-14 19:00:34 +00:00
c7cbe502dbSome forward-looking and optimistic documentation.
Howard Hinnant
2013-03-14 18:37:48 +00:00
23fb972520Albert Wong: definition for regex_traits<_CharT>::__regex_word.
Howard Hinnant
2013-03-07 19:38:08 +00:00
707f318787Change _LIBCPP_TYPE_VIS to use __type_visibility__(default) instead of __visibility__(default) when available. This change makes just the type_info visible so that types like vectors and strings can be used as exception objects across dylib boundaries even when hidden visibility is specified globally (at the command line), and yet this allows clients to hide the member functions of things like vector and string (with global visibility commands).
Howard Hinnant
2013-03-07 19:25:03 +00:00
83eade6abbNo functionality change at this time. I've split _LIBCPP_VISIBLE up into two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS. This is in preparation for taking advantage of clang's new __type_visibility__ attribute.
Howard Hinnant
2013-03-06 23:30:19 +00:00
3101474720Correct silly type-o. Thanks Richard.
Howard Hinnant
2013-03-06 18:16:12 +00:00
11a31d0583The bitset(unsigned long long) constructor was broken by the constexpr additions only on 32 bit platforms. Fixed. This addresses http://llvm.org/bugs/show_bug.cgi?id=15444.
Howard Hinnant
2013-03-06 17:30:26 +00:00
fae54b9c14Michael van der Westhuizen: correction to the libcxx build instructions when built with libcxxrt on Linux.
Howard Hinnant
2013-02-26 16:27:55 +00:00
4a0e74fff8Alexey Samsonov: #ifdefs out undefined function in static build of libc++ w/o RTTI.
Howard Hinnant
2013-02-25 15:50:36 +00:00
76aa2ef017Fix a bug in mutex_try_to_lock. This was previously trying to unlock a mutex that it didn't own, causing an assertion failure in mutex.cpp. The issue was that the unique_lock went out of scope, releasing the lock on m, then m.unlock() was called on an already-unlocked mutex.
David Chisnall
2013-02-19 11:28:45 +00:00
0dee9cd5adBruce Mitchener: Minor typo fixes.
Howard Hinnant
2013-02-15 15:37:50 +00:00
3bc6a98c3e[tests] Add support for a link_flags lit parameter. - This is useful for testing with custom ABI libraries. - Patch by Michael van der Westhuizen.
Daniel Dunbar
2013-02-12 19:28:51 +00:00
6b875ef374[tests] Another batch of timeout increases.
Daniel Dunbar
2013-02-11 21:04:34 +00:00
af4d161908Michael van der Westhuizen: Update instructions for building on Linux.
Howard Hinnant
2013-02-08 19:10:36 +00:00
af69f47e86Add Michael van der Westhuizen to CREDITS.TXT
Howard Hinnant
2013-02-08 19:08:06 +00:00
b85dea35b0Michael van der Westhuizen: update to CMake.
Howard Hinnant
2013-02-08 19:04:53 +00:00
8eba41324c[tests] Another batch of timeout increases.
Daniel Dunbar
2013-02-08 18:26:55 +00:00
1608b64881[tests] Add back stdc macros I accidentally refactored out. - Patch by Michael van der Westhuizen: -- r174404 accidentally removed stdc format, limit and constant macros from the Linux test runner logic. This small patch re-adds the macros.
Daniel Dunbar
2013-02-08 17:41:28 +00:00
fe14b970ac[tests] Increase a bunch of wait limits.
Daniel Dunbar
2013-02-08 17:41:19 +00:00
5920cfc403Change the 'result_type' from unsigned to 'uint_fast32_t'. This eliminates truncation warnings on Linux
Marshall Clow
2013-02-07 22:12:02 +00:00
b18165e704Belt and suspenders when calling sysconf
Marshall Clow
2013-02-07 18:48:09 +00:00
d854ce6bfaAnother libc++ warning suppression on Linux; no functionality change
Marshall Clow
2013-02-07 17:37:58 +00:00
9ae96d0f21More libc++ warning suppression on Linux; no functionality change
Marshall Clow
2013-02-07 17:20:56 +00:00
635bbbb6d1Revert accidental check-in. These changes are probably good, but premature at this point.
Howard Hinnant
2013-02-07 15:31:44 +00:00
46c49d19aaMichael van der Westhuizen: The attached patch add support for building against libc++abi and libcxxrt to CMake builds of libc++.
Howard Hinnant
2013-02-07 15:27:39 +00:00
88c3190d6cClean up some warnings for Linux build; No functionality change
Marshall Clow
2013-02-07 14:22:51 +00:00
6afc7ad3eb[build/Darwin] Use the correct libc++abi reexport list.
Daniel Dunbar
2013-02-07 00:24:19 +00:00