04a2c71d67Turn 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
24bf4b8597Typo: I wrote "2058" into the status column for issue 2058 instead of "Complete"
Marshall Clow
2013-08-29 19:03:01 +0000
a96d22b85dMark LWG issues 2109, 222, 2058, 2091 and 2092 as complete. No changes to libc++ code.
Marshall Clow
2013-08-29 18:55:55 +0000
1c2e46bd56Mark issues 2147, 2149, 2163, 2172, 2098 and 2177 as complete. No code changes to libc++
Marshall Clow
2013-08-29 15:35:54 +0000
a78b369b66Marked #2163 as complete in previous commit instead of #2162. Corrected.
Marshall Clow
2013-08-27 20:25:06 +0000
08b4f3f99bLWG Issue 2162: mark allocator_traits::maxsize as noexcept
Marshall Clow
2013-08-27 20:22:15 +0000
83179a788fLWG 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
5f36c68cb0Mark LWG issues 2190, 2200, and 2211 as done. No changes needed to libc++.
Marshall Clow
2013-08-27 15:47:05 +0000
e42f184a76Update synopsis in <locale> to match LWG Issue 2229. No code change
Marshall Clow
2013-08-27 14:22:13 +0000
fc3f80badfG M: Improve support for compilers not supporting defaulted functions.
Howard Hinnant
2013-08-24 21:31:37 +0000
5e57142c59Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG.
Howard Hinnant
2013-08-23 20:10:18 +0000
5d5f9f9786Remove _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
499cea12bbDebug 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
e31c432a33Glen: replace obsolete _LIBCPP_CANTTHROW with _NOEXCEPT.
Howard Hinnant
2013-08-22 19:39:03 +0000
5b7519eb15Mark LWG issues #2083, 2099 and 2105 as complete. No functionality change.
Marshall Clow
2013-08-22 18:53:17 +0000
641d3d8b4cXFAIL a few tests on darwin12
Howard Hinnant
2013-08-22 18:47:39 +0000
9a894d93deZhihao 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
1c44f51de7Zhihao Yuan noted that a move assignment operation was missing from std::adjacent_difference. Fixed.
Howard Hinnant
2013-08-22 18:02:34 +0000
8a1df3ca0cDavid 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
d7cddf6519XFAIL 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
5c316a6d04LWG 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
2a34052dacUpdated status of issues #2093, 2144, and 2185
Marshall Clow
2013-08-20 16:59:06 +0000
802daf6e16Updated status and description of issues 2064, 2069 and 2096.
Marshall Clow
2013-08-20 16:24:55 +0000
cd17d90cbbUpdated status of issues #2028, 2047, and 2053.
Marshall Clow
2013-08-20 16:18:29 +0000
78afc05b45Updated 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
9c07b14797G M: minor fix to silence warning in cmake version 2.8.11.20130809-gba97e.
Howard Hinnant
2013-08-19 21:42:07 +0000
de8fc6b2b1Relax 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
7f76450ee9Xing Xue: port to IBM XLC++/AIX.
Howard Hinnant
2013-08-14 18:00:20 +0000
3e005bf6b2Fix signed/unsigned warnings when building libc++ in C++14 mode
Marshall Clow
2013-08-14 17:53:31 +0000
811e7130dbAdded 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
e75599557aremove CWG papers from list; add link to clang status page
Marshall Clow
2013-08-14 16:30:37 +0000
9b86fc17a0Added CWG and SG1 papers to libc++ status page
Marshall Clow
2013-08-14 16:12:34 +0000
68b4025292Mark LWG Issue #2110 and #2113 as completed - they were already done
Marshall Clow
2013-08-14 15:28:40 +0000
2df3700879Add a deleted assignment operator for basic_ostream; LWG Issue #2067
Marshall Clow
2013-08-14 15:15:28 +0000
198a2a59eeImplement LWG Issue #2187 (emplace_back and emplace for vector<bool>)
Marshall Clow
2013-08-13 23:54:12 +0000
5ea5d31f6dPartial 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
051c848e88N3644 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
a4e87abbb9My 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
a709c823f7Revert r187927.
Arnold Schwaighofer
2013-08-08 03:06:24 +0000
70730d8f1cUpdate CREDITS.TXT
Howard Hinnant
2013-08-07 23:29:10 +0000
d8bfe7ba56Zhihao Yuan: Replace operator& with addressof in reference_wrapper constructor.
Howard Hinnant
2013-08-07 23:02:42 +0000
193ef03eb5N3644 support for <unordered_set> and <unordered_map>
Marshall Clow
2013-08-07 21:30:44 +0000
b92ee614f2N3644 support for vector<bool>
Marshall Clow
2013-08-07 20:53:44 +0000
52ad482edcN3644 support for vector<bool>
Marshall Clow
2013-08-07 20:53:38 +0000
0f164c9d75N3644 support for <string> and <vector>
Marshall Clow
2013-08-07 20:48:48 +0000
824c19963edebug 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
8b00e6c960Ok, 3 major changes for debug mode in one commit:
Howard Hinnant
2013-08-02 00:26:35 +0000
e9df0a5c6cNico 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
56dcf0b809Taking another swing at correctly optimizing fill_n.
Howard Hinnant
2013-08-01 17:29:28 +0000
eb34122153Constrain 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
a61e6f8705Implement constexpr (n3302) and fix operator *= and /=
Marshall Clow
2013-07-31 21:02:34 +0000
f890d9bfaaDebug 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
0bb0a7c9eaDebug 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
b87922c2c5Glen: Minor tweaks to locale.cpp to help it compile with exceptions turned off.
Howard Hinnant
2013-07-28 18:20:00 +0000
f182038521literal suffixes for std::chrono
Marshall Clow
2013-07-24 21:18:14 +0000
39213641f4Debug 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
152343260fImplement string suffixes from N3642
Marshall Clow
2013-07-23 17:05:24 +0000
cd59accbf5Bill 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
ed14a76bebAdd some friendly messages to libcxx calls to abort().
Howard Hinnant
2013-07-23 16:05:56 +0000
01fbfc2fa6Add some missing cv-qualifiers.
Richard Smith
2013-07-23 01:24:30 +0000
b8e0d9086eFix 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
da0a0e8a1bMake 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