Commit Graph

  • 04a2c71d67 Turn off extern templates for most uses. It is causing more problems than it is worth. The extern templates will still be built into the dylib, mainly for ABI stability purposes. And the client can still turn these back on with a #define if desire. This fixes http://llvm.org/bugs/show_bug.cgi?id=17027. However there's no associated test for the test suite because http://llvm.org/bugs/show_bug.cgi?id=17027 needs mismatched dylib and headers to fire. Howard Hinnant 2013-08-29 20:56:53 +0000
  • 24bf4b8597 Typo: I wrote "2058" into the status column for issue 2058 instead of "Complete" Marshall Clow 2013-08-29 19:03:01 +0000
  • a96d22b85d Mark LWG issues 2109, 222, 2058, 2091 and 2092 as complete. No changes to libc++ code. Marshall Clow 2013-08-29 18:55:55 +0000
  • 1c2e46bd56 Mark issues 2147, 2149, 2163, 2172, 2098 and 2177 as complete. No code changes to libc++ Marshall Clow 2013-08-29 15:35:54 +0000
  • a78b369b66 Marked #2163 as complete in previous commit instead of #2162. Corrected. Marshall Clow 2013-08-27 20:25:06 +0000
  • 08b4f3f99b LWG Issue 2162: mark allocator_traits::maxsize as noexcept Marshall Clow 2013-08-27 20:22:15 +0000
  • 83179a788f LWG issues 2174/5/6 - mark wstring_convert::converted as noexcept, and make (some of) the constructors for wstring_convert and wbuffer_convert as explicit. Add configuration macro _LIBCPP_EXPLICIT_AFTER_CXX11 Marshall Clow 2013-08-27 20:18:59 +0000
  • 5f36c68cb0 Mark LWG issues 2190, 2200, and 2211 as done. No changes needed to libc++. Marshall Clow 2013-08-27 15:47:05 +0000
  • e42f184a76 Update synopsis in <locale> to match LWG Issue 2229. No code change Marshall Clow 2013-08-27 14:22:13 +0000
  • af74651f61 Implement LWG issue 2061 Marshall Clow 2013-08-27 13:03:03 +0000
  • 5ec0ff81ce G M: Improvements to Windows support. Howard Hinnant 2013-08-26 20:18:01 +0000
  • e1c5f9ec1b Apply constexpr to initializer_list for c++1y. Howard Hinnant 2013-08-26 20:11:32 +0000
  • bce2a4752a Mark LWG issues 2011, 2015, 2033, 2065, 2071, 2102, 2235 as complete b/c libc++ already fixed them. Marshall Clow 2013-08-26 17:31:31 +0000
  • fc3f80badf G M: Improve support for compilers not supporting defaulted functions. Howard Hinnant 2013-08-24 21:31:37 +0000
  • 5e57142c59 Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG. Howard Hinnant 2013-08-23 20:10:18 +0000
  • 5d5f9f9786 Remove _LIBCPP_DEBUG. This was my first attempt at debug mode for libc++, and is now obsoleted by _LIBCPP_DEBUG2 (which isn't finished). Howard Hinnant 2013-08-23 19:03:36 +0000
  • 499cea12bb Debug mode for string. This commit also marks the first time libc++ debug-mode has found a bug (found one in regex). Had to play with extern templates a bit to get this to work since string is heavily used within libc++.dylib. Howard Hinnant 2013-08-23 17:37:05 +0000
  • e31c432a33 Glen: replace obsolete _LIBCPP_CANTTHROW with _NOEXCEPT. Howard Hinnant 2013-08-22 19:39:03 +0000
  • 5b7519eb15 Mark LWG issues #2083, 2099 and 2105 as complete. No functionality change. Marshall Clow 2013-08-22 18:53:17 +0000
  • 641d3d8b4c XFAIL a few tests on darwin12 Howard Hinnant 2013-08-22 18:47:39 +0000
  • 9a894d93de Zhihao Yuan noted that there were a few unneeded statements. Eliminated the unnecessary ones, and commented the ones that are there for non-obvious reasons such as to help things limp along in C++03 language mode. Howard Hinnant 2013-08-22 18:29:50 +0000
  • 1c44f51de7 Zhihao Yuan noted that a move assignment operation was missing from std::adjacent_difference. Fixed. Howard Hinnant 2013-08-22 18:02:34 +0000
  • 8a1df3ca0c David Blaikie suggested this test for detecting constexpr on the error_category default constructor. Additionally I decided to make this constructor trivial as well, as I could not come up with a rationale for not doing so. Fully tested with both current Apple clang and tip-of-trunk clang. Howard Hinnant 2013-08-22 17:41:48 +0000
  • d7cddf6519 XFAIL 3 tests on darwin 11-12. The tests have recently been modified, are correct, and pass with an updated libc++.dylib Howard Hinnant 2013-08-22 00:04:22 +0000
  • 585b48ddf6 [tests] Update to use lit's now-integrated XFAIL handling. Daniel Dunbar 2013-08-21 23:06:32 +0000
  • 5c316a6d04 LWG 2145 - mark constructor for std::error_category as inline and constexpr. Leave the (existing, out-of-line, non-constexpr) in the dylib for compatibility with existing programs) Marshall Clow 2013-08-21 02:57:19 +0000
  • 2a34052dac Updated status of issues #2093, 2144, and 2185 Marshall Clow 2013-08-20 16:59:06 +0000
  • 802daf6e16 Updated status and description of issues 2064, 2069 and 2096. Marshall Clow 2013-08-20 16:24:55 +0000
  • cd17d90cbb Updated status of issues #2028, 2047, and 2053. Marshall Clow 2013-08-20 16:18:29 +0000
  • 78afc05b45 Updated status of issues #1214, 2207 and 2209. They were already implemented, so no functionality change was needed. Marshall Clow 2013-08-20 14:21:16 +0000
  • 9c07b14797 G M: minor fix to silence warning in cmake version 2.8.11.20130809-gba97e. Howard Hinnant 2013-08-19 21:42:07 +0000
  • de8fc6b2b1 Relax complete-type check for functions and function pointers to allow void return type. This bug was exposed by Eli Friedman's commit to clang r188324. Anywhere this version of clang ships, this libc++ fix must follow. However this fix is compatible with previous clangs, and so this libc++ doesn't need to wait for this clang. Howard Hinnant 2013-08-14 21:28:31 +0000
  • 7f76450ee9 Xing Xue: port to IBM XLC++/AIX. Howard Hinnant 2013-08-14 18:00:20 +0000
  • 3e005bf6b2 Fix signed/unsigned warnings when building libc++ in C++14 mode Marshall Clow 2013-08-14 17:53:31 +0000
  • 811e7130db Added some missing issues to the c++1y status page, and put in hyperlinks for the papers. Howard Hinnant 2013-08-14 17:26:18 +0000
  • e75599557a remove CWG papers from list; add link to clang status page Marshall Clow 2013-08-14 16:30:37 +0000
  • 9b86fc17a0 Added CWG and SG1 papers to libc++ status page Marshall Clow 2013-08-14 16:12:34 +0000
  • 68b4025292 Mark LWG Issue #2110 and #2113 as completed - they were already done Marshall Clow 2013-08-14 15:28:40 +0000
  • 2df3700879 Add a deleted assignment operator for basic_ostream; LWG Issue #2067 Marshall Clow 2013-08-14 15:15:28 +0000
  • 198a2a59ee Implement LWG Issue #2187 (emplace_back and emplace for vector<bool>) Marshall Clow 2013-08-13 23:54:12 +0000
  • bf6eda0b1e Eradicate tabs Marshall Clow 2013-08-13 22:22:40 +0000
  • 5da3087628 Update for N3657 and issue 2010 Marshall Clow 2013-08-13 22:20:01 +0000
  • 5cfc6ab2b8 Second half (map/multimap) of N3657 Marshall Clow 2013-08-13 22:18:47 +0000
  • 23d1ccc3dc Updated issues 2039, 2044, 2197, 2225, and 2231 Marshall Clow 2013-08-13 17:02:42 +0000
  • 6ef840818d Updated Issue 2187 Marshall Clow 2013-08-13 16:23:22 +0000
  • 0931015f01 Removed 'Ready' issues from Bristol Marshall Clow 2013-08-13 16:07:51 +0000
  • 83e40c4a80 Updated issues 2009 and 2074 Marshall Clow 2013-08-13 16:01:28 +0000
  • 8634fc5494 Added more tests for numeric conversion error handing; Refs LWG issue 2009 Marshall Clow 2013-08-13 15:52:51 +0000
  • 6b229e1ad1 Fix template formatting. No, really Marshall Clow 2013-08-13 15:13:42 +0000
  • deb471c3c6 escape some template specs Marshall Clow 2013-08-13 15:07:02 +0000
  • 437cdcf813 Fix case mismatch Marshall Clow 2013-08-13 14:59:44 +0000
  • 5d4807742f Create a C++14 status page Marshall Clow 2013-08-13 14:58:39 +0000
  • 7a4e374280 More support for N3657; tests for is_transparent Marshall Clow 2013-08-13 01:12:41 +0000
  • 4a0a98166c First half of support for N3657; heterogenous lookups for set/multiset Marshall Clow 2013-08-13 01:11:06 +0000
  • 0f678bd69e Nico Rieck: this patch series fixes visibility issues on Windows as explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>. Howard Hinnant 2013-08-12 18:38:34 +0000
  • 80e19ac90f Add a check for arrays of unknown bounds to is_destructible. This fixes http://llvm.org/bugs/show_bug.cgi?id=16839 Howard Hinnant 2013-08-09 16:53:45 +0000
  • 5ea5d31f6d Partial implementation of N3665. This paper was not voted into the C++1y draft. However I was looking at it and with some experimentation realized that I could partially implement it, and at the same time offer a performance optimization to cout. I simply added an xsputn override to the cout filebuf. The override does nothing special at all if there is a non-trivial codecvt installed. However if the codecvt returns true for always_noconv(), then this function can dump an entire string to fwrite, instead of doing it a character at a time under overflow(). This just makes sense. I stopped short of a full implementation of N3665 because in order to do so, xsputn would have to allocate a buffer when always_noconv() returned false, and I don't want to go to that expense. Howard Hinnant 2013-08-09 16:25:43 +0000
  • bd7b48a628 [tests] Update to use lit_config and lit package, as appropriate. Daniel Dunbar 2013-08-09 14:44:11 +0000
  • 051c848e88 N3644 tests for map/multimap/set/multiset. Drive-by NOEXCEPT for __tree_const_iterator constructor. Fix comment typos in other tests Marshall Clow 2013-08-08 21:52:50 +0000
  • a4e87abbb9 My previous reorganization of addressof broke -std=c++03. Thanks much to Arnold Schwaighofer for catching this. This patch also catches a few more missing addressof in <future>, thanks go to Zhihao Yuan for catching these. Howard Hinnant 2013-08-08 18:38:55 +0000
  • a709c823f7 Revert r187927. Arnold Schwaighofer 2013-08-08 03:06:24 +0000
  • 70730d8f1c Update CREDITS.TXT Howard Hinnant 2013-08-07 23:29:10 +0000
  • d8bfe7ba56 Zhihao Yuan: Replace operator& with addressof in reference_wrapper constructor. Howard Hinnant 2013-08-07 23:02:42 +0000
  • 193ef03eb5 N3644 support for <unordered_set> and <unordered_map> Marshall Clow 2013-08-07 21:30:44 +0000
  • b92ee614f2 N3644 support for vector<bool> Marshall Clow 2013-08-07 20:53:44 +0000
  • 52ad482edc N3644 support for vector<bool> Marshall Clow 2013-08-07 20:53:38 +0000
  • 0f164c9d75 N3644 support for <string> and <vector> Marshall Clow 2013-08-07 20:48:48 +0000
  • 36ba399a33 Correct logic bug in find optimization for vector<bool>. This fixes http://llvm.org/bugs/show_bug.cgi?id=16816 Howard Hinnant 2013-08-07 20:42:16 +0000
  • ab61b2c9f1 War on tabs Howard Hinnant 2013-08-07 19:39:48 +0000
  • f68b46f0c9 Rename time.duration.literals step 3 Howard Hinnant 2013-08-07 19:39:11 +0000
  • 32c0969361 Rename time.duration.literals step 2 Howard Hinnant 2013-08-07 19:36:50 +0000
  • c29e1b949c Rename time.duration.literals step 1 Howard Hinnant 2013-08-07 19:35:46 +0000
  • f9c29e160c Implement tests for NULL iterators for <array> re: N3644 Marshall Clow 2013-08-06 17:17:13 +0000
  • 5a11f94583 Implement NULL iterators for <forward_list> and <deque> re: N3644 Marshall Clow 2013-08-06 16:14:36 +0000
  • 65d2e6a392 Implement NULL iterators for <list> re: N3644 Marshall Clow 2013-08-05 21:23:28 +0000
  • 824c19963e debug mode for unordered_map. Also picked up a missing check and test in unordered_multimap. This wraps up debug mode for the unordered containers. Howard Hinnant 2013-08-02 17:50:49 +0000
  • 8b00e6c960 Ok, 3 major changes for debug mode in one commit: Howard Hinnant 2013-08-02 00:26:35 +0000
  • e9df0a5c6c Nico Rieck: Currently _MSC_VER and _WIN32 are used to guard code which is MSVC-specific, MSVCRT-specific, or Windows-specific. Because Clang can also define _MSC_VER, and MSVCRT is not necessarily the only C runtime, these macros should not be used interchangeably. Howard Hinnant 2013-08-01 18:17:34 +0000
  • 56dcf0b809 Taking another swing at correctly optimizing fill_n. Howard Hinnant 2013-08-01 17:29:28 +0000
  • eb34122153 Constrain fill_n -> memset operations to include implicit convertibility to unsigned char. This fixes http://llvm.org/bugs/show_bug.cgi?id=16764. Also a drive-by fix on a chrono test suite bug. Howard Hinnant 2013-08-01 00:41:55 +0000
  • a61e6f8705 Implement constexpr (n3302) and fix operator *= and /= Marshall Clow 2013-07-31 21:02:34 +0000
  • 0777473911 Backwards! Marshall Clow 2013-07-31 19:39:37 +0000
  • 832b304076 Implement n3469 - constexpr for chrono Marshall Clow 2013-07-31 19:32:19 +0000
  • f890d9bfaa Debug mode for unordered_multimap. Some mods were done for unordered_map as well to keep all the tests passing. However unordered_map is at the very least still missing tests, if not functionality (if it isn't tested, it probably isn't working). Howard Hinnant 2013-07-30 21:04:42 +0000
  • 0bb0a7c9ea Debug mode for unordered_multiset. The exercise spotted a few places I had missed on unordered_set, so I picked those up as well. Howard Hinnant 2013-07-29 19:05:47 +0000
  • d5bfe9030f Add operator new[] to test. Partial fix for valgrind warning in http://llvm.org/bugs/show_bug.cgi?id=16703. Howard Hinnant 2013-07-29 14:43:42 +0000
  • ff46409221 Implement N3421; comparison predicates<void> Marshall Clow 2013-07-29 14:21:53 +0000
  • b87922c2c5 Glen: Minor tweaks to locale.cpp to help it compile with exceptions turned off. Howard Hinnant 2013-07-28 18:20:00 +0000
  • f182038521 literal suffixes for std::chrono Marshall Clow 2013-07-24 21:18:14 +0000
  • 39213641f4 Debug mode for unordered_set. I believe this to be fairly complete for unordered_set, however it is not complete yet for unordered_multiset, unordered_map or unordered_multimap. There has been a lot of work done for these other three containers, however that work was done just to keep all of the tests passing. Howard Hinnant 2013-07-23 22:01:58 +0000
  • 152343260f Implement string suffixes from N3642 Marshall Clow 2013-07-23 17:05:24 +0000
  • cd59accbf5 Bill Fisher: This patch fixes a bug where std::regex in ECMAScript mode was ignoring capture groups inside lookahead assertions. Howard Hinnant 2013-07-23 16:18:04 +0000
  • ed14a76beb Add some friendly messages to libcxx calls to abort(). Howard Hinnant 2013-07-23 16:05:56 +0000
  • 01fbfc2fa6 Add some missing cv-qualifiers. Richard Smith 2013-07-23 01:24:30 +0000
  • b8e0d9086e Fix a bug in std::fill_n where memset would end up being called in cases when it shouldn’t. Anders Carlsson 2013-07-22 21:08:00 +0000
  • da0a0e8a1b Make tuple's constructor and std::get<>(tuple) constexpr. Final stage of fixing bug #16599. Thanks to Howard for the review and updates. Marshall Clow 2013-07-22 16:02:19 +0000
  • 8fc4f5a251 Make std::get constexpr Marshall Clow 2013-07-17 18:25:36 +0000
  • f7777e8554 Add pointer format test for Windows. Howard Hinnant 2013-07-16 23:50:06 +0000
  • 206f6cdc33 Bug 16599 part 2: Make std::pair's constructors and comparison operators (and make_pair) constexpr. Marshall Clow 2013-07-16 17:45:44 +0000
  • 01a0e90783 Make std::forward and std::move (and std::move_if_noexcept) constexpr in C++14 Marshall Clow 2013-07-15 20:46:11 +0000