Commit Graph

  • 6287c65a03 Remove cv qualifiers from member pointers in the __member_pointer_traits test. This was causing a const-qualified bind result to malfunction. This was a recent regression due to the new use of __member_pointer_traits in restricting the __invokable and __invoke_of tests. Howard Hinnant 2013-05-15 21:49:27 +0000
  • e27e907403 Fixing the MSan/compiler-rt build David Blaikie 2013-05-13 21:53:44 +0000
  • b3585e8226 İsmail Dönmez: Enable quick_exit on linux. Howard Hinnant 2013-05-10 17:36:59 +0000
  • bb3a0acf93 XFAIL this test when using the darwin12 system library. Reviewed by Howard David Dean 2013-05-10 17:25:57 +0000
  • 9f8f524541 Fix incorrect type usage; nice catch by Sebastian Marshall Clow 2013-05-10 00:16:10 +0000
  • be764c946c Don't try to free the C locale. Joerg Sonnenberger 2013-05-09 23:06:35 +0000
  • b30abdd07a Implement n3607: 'equal', 'mismatch', and 'is_permutation' Marshall Clow 2013-05-09 21:14:23 +0000
  • 5328cd307c Initialize codecvt explicitly with the C locale, which might not be 0. Joerg Sonnenberger 2013-05-09 19:00:18 +0000
  • a7f5c1bcd8 Put a 1-character unget buffer into cin. This fixes http://llvm.org/bugs/show_bug.cgi?id=15867 Howard Hinnant 2013-05-08 21:18:42 +0000
  • 66de275be6 Creating release candidate rc1 from release_33 branch Bill Wendling 2013-05-08 09:26:33 +0000
  • efb8f7a4e2 Creating release directory for release_33. Bill Wendling 2013-05-08 09:26:26 +0000
  • ecc9742f27 Constrain __invoke functions more accurately. This fixes http://llvm.org/bugs/show_bug.cgi?id=15861 . Howard Hinnant 2013-05-07 23:40:12 +0000
  • 5f1286f574 Introduce _LIBCPP_STD_VER. This can be set by the client (or the clang driver). Or it will be defaulted. The default is 11 if -std= c++11 or eariler, else it will default to the current year modulo the century. We anticipate it defaulting to 14 for C++14 when the time comes. For now, post-C++11 libcxx implementations should protect themselves with #if _LIBCPP_STD_VER > 11. Howard Hinnant 2013-05-07 20:16:13 +0000
  • dd854b2c4e Mark some tests with XFAIL for Lion and Mountain Lion. Howard Hinnant 2013-05-07 17:37:19 +0000
  • db2b81bf90 Creating the libcxx release 3.3 branch. release_33 Bill Wendling 2013-05-07 00:25:14 +0000
  • 8c23819220 Expose accidentally removed __compressed_pair constructor taking piecewise_construct_t. This fixes http://llvm.org/bugs/show_bug.cgi?id=15918 . Howard Hinnant 2013-05-06 16:58:36 +0000
  • 74f4da7219 Stephan Tolksdorf: fixes the issue in the <atomic> header and adds corresponding tests. I've used macros to fall back to a user-provided default constructor if _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS (though I suspect that there won't be many users defining that macro). Howard Hinnant 2013-05-02 20:18:43 +0000
  • e58bc12f2a The push/pop variant of pragma GCC diagnostic is only supported by Clang and GCC 4.6 and newer, so protect accordingly. Joerg Sonnenberger 2013-05-02 19:34:26 +0000
  • 34cb066fa2 Make it possible to provide special (linker) flags for the thread tests. Use it to build & link against libpthread on NetBSD for tests iff they are testing the thread interface. Joerg Sonnenberger 2013-05-02 19:21:36 +0000
  • 63d8f7e341 Add explicit casts to unsigned char before calling ctype functions. Fixes the value range on platforms with signed char. Joerg Sonnenberger 2013-05-02 19:17:48 +0000
  • 15467189c3 This patch introduces an alternative layout for basic_string which when the string is short, the data pointer will be word-aligned. It can be activated with -D_LIBCPP_ALTERNATE_STRING_LAYOUT. These two different layouts (the default and _LIBCPP_ALTERNATE_STRING_LAYOUT) are not ABI compatible with each other. Once one is chosen for a given platform, it is disruptive to change it. Howard Hinnant 2013-04-30 21:44:48 +0000
  • 867deb8e06 Add entry for myself. Joerg Sonnenberger 2013-04-29 19:55:32 +0000
  • 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 +0000
  • a9b94f1337 GCC doesn't support __has_attribute. Joerg Sonnenberger 2013-04-27 20:51:42 +0000
  • 912438c272 Use static_cast. Joerg Sonnenberger 2013-04-27 19:13:31 +0000
  • d3b5b6b9f4 Use reinterpret_casts directly in place of C-style casts. Joerg Sonnenberger 2013-04-27 19:12:36 +0000
  • 006ab1e213 Only use Clang pragma when compiling with clang. Joerg Sonnenberger 2013-04-27 19:10:15 +0000
  • df4182153c Fix typos. Joerg Sonnenberger 2013-04-26 09:40:18 +0000
  • a5f0e6c5c1 İsmail Dönmez: Change to mktemp template to make it compatible with Linux. Howard Hinnant 2013-04-25 16:08:55 +0000
  • 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 +0000
  • c5e6aa5f5c Avoid bash specific functionality to work with any POSIX shell implementing $(( )). Joerg Sonnenberger 2013-04-23 19:53:24 +0000
  • f9e75aef34 Change makefile comment to refer to libc++ instead of libcpp. Bob Wilson 2013-04-23 19:26:55 +0000
  • 9493e27c0f PR15820: Use tar instead of rsync to install the headers. Bob Wilson 2013-04-23 18:51:51 +0000
  • c52fb8d7bf PR12597: Remove "chown -R root:wheel" from the makefile. Bob Wilson 2013-04-23 17:30:35 +0000
  • 9c2ce95063 Zero-initialize all mbstate_t in the codecvt tests. Howard Hinnant 2013-04-23 14:09:35 +0000
  • 08dd25303e Modest performance improvement for std::string's operator==. Howard Hinnant 2013-04-22 23:55:13 +0000
  • 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 +0000
  • 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 +0000
  • 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 +0000
  • 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 +0000
  • 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 +0000
  • 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 +0000
  • 993248935c Accidentally disallowed explicit tuple conversions when all elements of the tuple can be explicitly converted. Howard Hinnant 2013-04-14 00:01:13 +0000
  • 4f67100219 Set failbit when strtold sets errno to ERANGE when parsing floating point values. Howard Hinnant 2013-04-13 18:19:25 +0000
  • 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 +0000
  • 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 +0000
  • 6dcaf3ee1a Fix bug in __libcpp_db::__iterator_copy. Add debug test for swaping lists. Howard Hinnant 2013-04-05 17:58:52 +0000
  • e1e96cb840 More list debug mode tests. Howard Hinnant 2013-04-05 15:04:10 +0000
  • 79a35570a5 More work on debug mode for list. Howard Hinnant 2013-04-05 00:18:49 +0000
  • 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 +0000
  • 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 +0000
  • 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 +0000
  • cf31d3864e Reference: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130325/077133.html Howard Hinnant 2013-04-02 22:14:51 +0000
  • 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 +0000
  • 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 +0000
  • d4c96a6c89 Some debug test cases for list. Howard Hinnant 2013-04-02 19:53:32 +0000
  • f6bdda044c Reference: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130325/077132.html Howard Hinnant 2013-04-02 15:48:56 +0000
  • a1985ebbc8 Reference: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130325/077131.html Howard Hinnant 2013-04-02 15:46:31 +0000
  • 9d00ed5d87 Test case was forming the wrong limits when size_t != unsigned long. Howard Hinnant 2013-03-29 21:22:22 +0000
  • 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 +0000
  • 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 +0000
  • 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 +0000
  • db4d478ff4 Fix a few warnings/errors for compiling with -fno-exceptions. Howard Hinnant 2013-03-28 18:56:26 +0000
  • 742fecbd2a Second try at r178075. The llvm breakage has been fixed by r178240. Howard Hinnant 2013-03-28 17:44:32 +0000
  • 2c0d3edf68 Add missing #ifndef _LIBCPP_NO_EXCEPTIONS around throw in include/thread. Howard Hinnant 2013-03-28 15:00:04 +0000
  • 34d36f39b0 Revert r178075, "Tighten up the iterator requirements ...", it breaks LLVM bootstrap with libc++. Daniel Dunbar 2013-03-27 04:10:25 +0000
  • 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 +0000
  • 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 +0000
  • d1c0082675 More vector debug tests. Howard Hinnant 2013-03-26 15:45:56 +0000
  • c3a9b81e67 Fixed race conditions in thread tests; exposed by UBSan Marshall Clow 2013-03-26 15:28:33 +0000
  • 3fbd1dfb24 Simply debug mode tests per Dmitri Gribenko's suggestion. Howard Hinnant 2013-03-26 14:28:25 +0000
  • d9cdb2dcfd Need one more swap overload for swapping two lvalue vector<bool>::reference's. Howard Hinnant 2013-03-26 13:48:57 +0000
  • 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 +0000
  • c1ca2e1e8b Remove some erroneous code I was using to debug debug mode. Howard Hinnant 2013-03-25 20:46:07 +0000
  • 295891fdc2 Debug mode tests for vector::front and back. Howard Hinnant 2013-03-25 20:31:25 +0000
  • 0d01eb54e7 More vector::iterator debug mode tests. Run by adding to OPTIONS -D_LIBCPP_DEBUG2=1. Howard Hinnant 2013-03-25 20:03:19 +0000
  • 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 +0000
  • 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 +0000
  • 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 +0000
  • 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 +0000
  • 9b145da078 Fix buffer read overflow in money_get::do_get(). Found by UBSan Marshall Clow 2013-03-22 02:14:40 +0000
  • 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 +0000
  • bdea27ba8f Fix bug in test; found by AddressSanitizer Marshall Clow 2013-03-20 00:01:48 +0000
  • b74309e3ad Marshall Clow found this memory problem in strstream using -fsanitize=address on the test suite. Howard Hinnant 2013-03-19 22:16:57 +0000
  • 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 +0000
  • c19fe86743 Fix bug in test; found by AddressSanitizer Marshall Clow 2013-03-18 23:39:36 +0000
  • 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 +0000
  • dab9b2eb32 Removed raw references to _MSC_VER; now just check to see if it is defined. Marshall Clow 2013-03-18 18:20:48 +0000
  • dece7fe670 Removed raw references to __APPLE__; now just check to see if it is defined. Marshall Clow 2013-03-18 17:45:34 +0000
  • a22d2addb1 Removed raw references to _WIN32; now just check to see if it is defined. Marshall Clow 2013-03-18 17:04:29 +0000
  • 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 +0000
  • e47bc9bc4f Updated link to Marshall's instructions Marshall Clow 2013-03-14 19:00:34 +0000
  • c7cbe502db Some forward-looking and optimistic documentation. Howard Hinnant 2013-03-14 18:37:48 +0000
  • 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 +0000
  • 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 +0000
  • 23fb972520 Albert Wong: definition for regex_traits<_CharT>::__regex_word. Howard Hinnant 2013-03-07 19:38:08 +0000
  • 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 +0000
  • 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 +0000
  • 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 +0000
  • 3101474720 Correct silly type-o. Thanks Richard. Howard Hinnant 2013-03-06 18:16:12 +0000