Commit Graph

  • 155f06018e Use protected version of the malloc attribute in case source wants to define malloc as macro. Joerg Sonnenberger 2013-04-29 19:52:08 +00:00
  • a9b94f1337 GCC doesn't support __has_attribute. Joerg Sonnenberger 2013-04-27 20:51:42 +00:00
  • 912438c272 Use static_cast. Joerg Sonnenberger 2013-04-27 19:13:31 +00:00
  • d3b5b6b9f4 Use reinterpret_casts directly in place of C-style casts. Joerg Sonnenberger 2013-04-27 19:12:36 +00:00
  • 006ab1e213 Only use Clang pragma when compiling with clang. Joerg Sonnenberger 2013-04-27 19:10:15 +00:00
  • df4182153c Fix typos. Joerg Sonnenberger 2013-04-26 09:40:18 +00:00
  • a5f0e6c5c1 İsmail Dönmez: Change to mktemp template to make it compatible with Linux. Howard Hinnant 2013-04-25 16:08:55 +00:00
  • 05e7d24b3d default_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
  • c5e6aa5f5c Avoid bash specific functionality to work with any POSIX shell implementing $(( )). Joerg Sonnenberger 2013-04-23 19:53:24 +00:00
  • f9e75aef34 Change makefile comment to refer to libc++ instead of libcpp. Bob Wilson 2013-04-23 19:26:55 +00:00
  • 9493e27c0f PR15820: Use tar instead of rsync to install the headers. Bob Wilson 2013-04-23 18:51:51 +00:00
  • c52fb8d7bf PR12597: Remove "chown -R root:wheel" from the makefile. Bob Wilson 2013-04-23 17:30:35 +00:00
  • 9c2ce95063 Zero-initialize all mbstate_t in the codecvt tests. Howard Hinnant 2013-04-23 14:09:35 +00:00
  • 08dd25303e Modest performance improvement for std::string's operator==. Howard Hinnant 2013-04-22 23:55:13 +00:00
  • 5544f7e0c7 Somehow 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
  • b4e67cfd42 After 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
  • 2062f37772 I 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
  • 61fe0ac9b3 Added extra space to end of EXTRA_FLAGS in buildit. This fixes http://llvm.org/bugs/show_bug.cgi?id=15761 Howard Hinnant 2013-04-16 17:34:20 +00:00
  • 4313ec3975 addressof misbehaving for type with an implicit conversion operator to char&. This fixes http://llvm.org/bugs/show_bug.cgi?id=15754 Howard Hinnant 2013-04-16 17:27:56 +00:00
  • ae57a1ab1d Numeric parsing was getting the wrong answer when faced with very long inputs. This fixes both http://llvm.org/bugs/show_bug.cgi?id=15751 and http://llvm.org/bugs/show_bug.cgi?id=15740 Howard Hinnant 2013-04-15 20:40:06 +00:00
  • 993248935c Accidentally disallowed explicit tuple conversions when all elements of the tuple can be explicitly converted. Howard Hinnant 2013-04-14 00:01:13 +00:00
  • 4f67100219 Set failbit when strtold sets errno to ERANGE when parsing floating point values. Howard Hinnant 2013-04-13 18:19:25 +00:00
  • a5733b3ad3 Ruben 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
  • 0795931dee Change <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
  • 6dcaf3ee1a Fix bug in __libcpp_db::__iterator_copy. Add debug test for swaping lists. Howard Hinnant 2013-04-05 17:58:52 +00:00
  • e1e96cb840 More list debug mode tests. Howard Hinnant 2013-04-05 15:04:10 +00:00
  • 79a35570a5 More work on debug mode for list. Howard Hinnant 2013-04-05 00:18:49 +00:00
  • 128f7bf4fa Somehow search_n never got tested, so of course it had a bug in it. This fixes http://llvm.org/bugs/show_bug.cgi?id=15667. Howard Hinnant 2013-04-04 15:40:48 +00:00
  • c5e8961a35 Fix stupid but harmless type-o. Fixes http://llvm.org/bugs/show_bug.cgi?id=15657. Howard Hinnant 2013-04-03 20:29:45 +00:00
  • 4aa8b06e67 The 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
  • cf31d3864e Reference: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130325/077133.html Howard Hinnant 2013-04-02 22:14:51 +00:00
  • b777d6a4b2 The 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
  • 11a50ac497 Richard 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
  • d4c96a6c89 Some debug test cases for list. Howard Hinnant 2013-04-02 19:53:32 +00:00
  • f6bdda044c Reference: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130325/077132.html Howard Hinnant 2013-04-02 15:48:56 +00:00
  • a1985ebbc8 Reference: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130325/077131.html Howard Hinnant 2013-04-02 15:46:31 +00:00
  • 9d00ed5d87 Test case was forming the wrong limits when size_t != unsigned long. Howard Hinnant 2013-03-29 21:22:22 +00:00
  • fc2f021bdd Bruce Mitchener, Jr.: Port to emscripten. Fixes http://llvm.org/bugs/show_bug.cgi?id=15624. Howard Hinnant 2013-03-29 18:27:28 +00:00
  • 8b25c00ef1 The 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
  • 302fa82a1c I 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
  • db4d478ff4 Fix a few warnings/errors for compiling with -fno-exceptions. Howard Hinnant 2013-03-28 18:56:26 +00:00
  • 742fecbd2a Second try at r178075. The llvm breakage has been fixed by r178240. Howard Hinnant 2013-03-28 17:44:32 +00:00
  • 2c0d3edf68 Add missing #ifndef _LIBCPP_NO_EXCEPTIONS around throw in include/thread. Howard Hinnant 2013-03-28 15:00:04 +00:00
  • 34d36f39b0 Revert r178075, "Tighten up the iterator requirements ...", it breaks LLVM bootstrap with libc++. Daniel Dunbar 2013-03-27 04:10:25 +00:00
  • 32d40f5f44 Tighten 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
  • 02d5e18917 Another vector debug mode test, and a static test on Allocator::value_type. This partially addresses http://llvm.org/bugs/show_bug.cgi?id=15576. Howard Hinnant 2013-03-26 19:04:56 +00:00
  • d1c0082675 More vector debug tests. Howard Hinnant 2013-03-26 15:45:56 +00:00
  • c3a9b81e67 Fixed race conditions in thread tests; exposed by UBSan Marshall Clow 2013-03-26 15:28:33 +00:00
  • 3fbd1dfb24 Simply debug mode tests per Dmitri Gribenko's suggestion. Howard Hinnant 2013-03-26 14:28:25 +00:00
  • d9cdb2dcfd Need one more swap overload for swapping two lvalue vector<bool>::reference's. Howard Hinnant 2013-03-26 13:48:57 +00:00
  • 782da33d1c Added 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
  • c1ca2e1e8b Remove some erroneous code I was using to debug debug mode. Howard Hinnant 2013-03-25 20:46:07 +00:00
  • 295891fdc2 Debug mode tests for vector::front and back. Howard Hinnant 2013-03-25 20:31:25 +00:00
  • 0d01eb54e7 More vector::iterator debug mode tests. Run by adding to OPTIONS -D_LIBCPP_DEBUG2=1. Howard Hinnant 2013-03-25 20:03:19 +00:00
  • f5f4684e71 Debug 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
  • ae7bf9daac Marshall 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
  • 9976b5511a This 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
  • 06d8bf6ce2 Test 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
  • 9b145da078 Fix buffer read overflow in money_get::do_get(). Found by UBSan Marshall Clow 2013-03-22 02:14:40 +00:00
  • 04bd79b23a Fix 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
  • bdea27ba8f Fix bug in test; found by AddressSanitizer Marshall Clow 2013-03-20 00:01:48 +00:00
  • b74309e3ad Marshall Clow found this memory problem in strstream using -fsanitize=address on the test suite. Howard Hinnant 2013-03-19 22:16:57 +00:00
  • 903439f735 This 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
  • c19fe86743 Fix bug in test; found by AddressSanitizer Marshall Clow 2013-03-18 23:39:36 +00:00
  • 53e2763966 Removed 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
  • dab9b2eb32 Removed raw references to _MSC_VER; now just check to see if it is defined. Marshall Clow 2013-03-18 18:20:48 +00:00
  • dece7fe670 Removed raw references to __APPLE__; now just check to see if it is defined. Marshall Clow 2013-03-18 17:45:34 +00:00
  • a22d2addb1 Removed raw references to _WIN32; now just check to see if it is defined. Marshall Clow 2013-03-18 17:04:29 +00:00
  • e33c2d1926 This 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
  • e47bc9bc4f Updated link to Marshall's instructions Marshall Clow 2013-03-14 19:00:34 +00:00
  • c7cbe502db Some forward-looking and optimistic documentation. Howard Hinnant 2013-03-14 18:37:48 +00:00
  • c789025a5a This SO question: http://stackoverflow.com/questions/15344402/how-can-i-read-a-0xff-in-a-file-with-libc-istream-iterator/15347225#15347225 highlighted the lack of a cast in the implementation of std::cin. Added. I unfortunately don't have a test case to add to the suite since this bug only shows itself when using std::cin. The current testsuite setup does not have a way a good way to test std::cin. Howard Hinnant 2013-03-11 19:53:48 +00:00
  • 6319f1462d Parsing floating point numbers with very long precision was broken, and this patch fixes it. This fixes http://llvm.org/bugs/show_bug.cgi?id=15445. Howard Hinnant 2013-03-08 19:06:24 +00:00
  • 23fb972520 Albert Wong: definition for regex_traits<_CharT>::__regex_word. Howard Hinnant 2013-03-07 19:38:08 +00:00
  • 707f318787 Change _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
  • 83eade6abb No 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
  • cc7bdae931 Have basic_istream::read call sgetn intead of sbumpc individual characters. This addresses http://llvm.org/bugs/show_bug.cgi?id=15427. Howard Hinnant 2013-03-06 19:27:56 +00:00
  • 3101474720 Correct silly type-o. Thanks Richard. Howard Hinnant 2013-03-06 18:16:12 +00:00
  • 11a31d0583 The 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
  • fae54b9c14 Michael 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
  • 4a0e74fff8 Alexey Samsonov: #ifdefs out undefined function in static build of libc++ w/o RTTI. Howard Hinnant 2013-02-25 15:50:36 +00:00
  • 0560f786fe Constrain bind operator()() to not exist if the call is not valid. Fixes http://llvm.org/bugs/show_bug.cgi?id=15295. Howard Hinnant 2013-02-21 18:16:55 +00:00
  • 76aa2ef017 Fix 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
  • 0dee9cd5ad Bruce 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
  • af4d161908 Michael van der Westhuizen: Update instructions for building on Linux. Howard Hinnant 2013-02-08 19:10:36 +00:00
  • af69f47e86 Add Michael van der Westhuizen to CREDITS.TXT Howard Hinnant 2013-02-08 19:08:06 +00:00
  • b85dea35b0 Michael 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
  • 5920cfc403 Change 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
  • b18165e704 Belt and suspenders when calling sysconf Marshall Clow 2013-02-07 18:48:09 +00:00
  • d854ce6bfa Another libc++ warning suppression on Linux; no functionality change Marshall Clow 2013-02-07 17:37:58 +00:00
  • 9ae96d0f21 More libc++ warning suppression on Linux; no functionality change Marshall Clow 2013-02-07 17:20:56 +00:00
  • 635bbbb6d1 Revert accidental check-in. These changes are probably good, but premature at this point. Howard Hinnant 2013-02-07 15:31:44 +00:00
  • 46c49d19aa Michael 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
  • 88c3190d6c Clean 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