01afa5c6e4Implement N3672, optional<T>.
Howard Hinnant
2013-09-02 20:30:37 +00:00
c64c980140[cmake] Provide an option to not install the support headers so that the cmake build can match the make build if requested.
Michael Gottesman
2013-09-02 07:28:05 +00:00
8a1fc89cf9[cmake] Make libcxx standalone compile on Mac OS X.
Michael Gottesman
2013-09-02 07:28:03 +00:00
8ecb95fdecForgot to svn add the test for r189722.
Howard Hinnant
2013-08-31 17:03:02 +00:00
713f4db2e5SFINAE out duration converting constructor if the constructor would otherwise cause a ratio compile-time overflow. This fixes LWG 2094.
Howard Hinnant
2013-08-31 16:51:56 +00:00
9e9d076879[tests] Change with_system_lib feature to match what XFAIL lines expect.
Daniel Dunbar
2013-08-30 19:52:12 +00:00
d179407288is_destructible for function types was mistakenly returning true instead of false. This is true in both C++11 and C++1y, but has been clarified by the post C++11 LWG issue 2049.
Howard Hinnant
2013-08-30 19:12:42 +00:00
cb0e6b65a8Xing Xue: Fix type-o. Thanks to C. Bergström for spotting it.
Howard Hinnant
2013-08-30 14:42:39 +00:00
161a9bf447Glen: Remove unneeded _LIBCPP_ALWAYS_INLINE.
Howard Hinnant
2013-08-29 23:50:48 +00:00
5143722d14Xing Xue: Some minor changes for IBM XLC++/AIX.
Howard Hinnant
2013-08-29 23:37:50 +00:00
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 +00:00
24bf4b8597Typo: I wrote "2058" into the status column for issue 2058 instead of "Complete"
Marshall Clow
2013-08-29 19:03:01 +00:00
a96d22b85dMark LWG issues 2109, 222, 2058, 2091 and 2092 as complete. No changes to libc++ code.
Marshall Clow
2013-08-29 18:55:55 +00:00
1c2e46bd56Mark issues 2147, 2149, 2163, 2172, 2098 and 2177 as complete. No code changes to libc++
Marshall Clow
2013-08-29 15:35:54 +00:00
a78b369b66Marked #2163 as complete in previous commit instead of #2162. Corrected.
Marshall Clow
2013-08-27 20:25:06 +00:00
08b4f3f99bLWG Issue 2162: mark allocator_traits::maxsize as noexcept
Marshall Clow
2013-08-27 20:22:15 +00:00
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 +00:00
5f36c68cb0Mark LWG issues 2190, 2200, and 2211 as done. No changes needed to libc++.
Marshall Clow
2013-08-27 15:47:05 +00:00
e42f184a76Update synopsis in <locale> to match LWG Issue 2229. No code change
Marshall Clow
2013-08-27 14:22:13 +00:00
fc3f80badfG M: Improve support for compilers not supporting defaulted functions.
Howard Hinnant
2013-08-24 21:31:37 +00:00
5e57142c59Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG.
Howard Hinnant
2013-08-23 20:10:18 +00:00
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 +00:00
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 +00:00
e31c432a33Glen: replace obsolete _LIBCPP_CANTTHROW with _NOEXCEPT.
Howard Hinnant
2013-08-22 19:39:03 +00:00
5b7519eb15Mark LWG issues #2083, 2099 and 2105 as complete. No functionality change.
Marshall Clow
2013-08-22 18:53:17 +00:00
641d3d8b4cXFAIL a few tests on darwin12
Howard Hinnant
2013-08-22 18:47:39 +00:00
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 +00:00
1c44f51de7Zhihao Yuan noted that a move assignment operation was missing from std::adjacent_difference. Fixed.
Howard Hinnant
2013-08-22 18:02:34 +00:00
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 +00:00
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 +00:00
585b48ddf6[tests] Update to use lit's now-integrated XFAIL handling.
Daniel Dunbar
2013-08-21 23:06:32 +00:00
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 +00:00
2a34052dacUpdated status of issues #2093, 2144, and 2185
Marshall Clow
2013-08-20 16:59:06 +00:00
802daf6e16Updated status and description of issues 2064, 2069 and 2096.
Marshall Clow
2013-08-20 16:24:55 +00:00
cd17d90cbbUpdated status of issues #2028, 2047, and 2053.
Marshall Clow
2013-08-20 16:18:29 +00:00
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 +00:00
9c07b14797G M: minor fix to silence warning in cmake version 2.8.11.20130809-gba97e.
Howard Hinnant
2013-08-19 21:42:07 +00:00
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 +00:00
7f76450ee9Xing Xue: port to IBM XLC++/AIX.
Howard Hinnant
2013-08-14 18:00:20 +00:00
3e005bf6b2Fix signed/unsigned warnings when building libc++ in C++14 mode
Marshall Clow
2013-08-14 17:53:31 +00:00
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 +00:00
e75599557aremove CWG papers from list; add link to clang status page
Marshall Clow
2013-08-14 16:30:37 +00:00
9b86fc17a0Added CWG and SG1 papers to libc++ status page
Marshall Clow
2013-08-14 16:12:34 +00:00
68b4025292Mark LWG Issue #2110 and #2113 as completed - they were already done
Marshall Clow
2013-08-14 15:28:40 +00:00
2df3700879Add a deleted assignment operator for basic_ostream; LWG Issue #2067
Marshall Clow
2013-08-14 15:15:28 +00:00
198a2a59eeImplement LWG Issue #2187 (emplace_back and emplace for vector<bool>)
Marshall Clow
2013-08-13 23:54:12 +00:00
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 +00:00
bd7b48a628[tests] Update to use lit_config and lit package, as appropriate.
Daniel Dunbar
2013-08-09 14:44:11 +00:00
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 +00:00
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 +00:00
a709c823f7Revert r187927.
Arnold Schwaighofer
2013-08-08 03:06:24 +00:00
70730d8f1cUpdate CREDITS.TXT
Howard Hinnant
2013-08-07 23:29:10 +00:00
d8bfe7ba56Zhihao Yuan: Replace operator& with addressof in reference_wrapper constructor.
Howard Hinnant
2013-08-07 23:02:42 +00:00
193ef03eb5N3644 support for <unordered_set> and <unordered_map>
Marshall Clow
2013-08-07 21:30:44 +00:00
b92ee614f2N3644 support for vector<bool>
Marshall Clow
2013-08-07 20:53:44 +00:00
52ad482edcN3644 support for vector<bool>
Marshall Clow
2013-08-07 20:53:38 +00:00
0f164c9d75N3644 support for <string> and <vector>
Marshall Clow
2013-08-07 20:48:48 +00:00
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 +00:00
8b00e6c960Ok, 3 major changes for debug mode in one commit:
Howard Hinnant
2013-08-02 00:26:35 +00:00
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 +00:00