8f20e52a2bMark issues #2240 (wording only) and #2268 (revision 202876) as complete.
Marshall Clow
2014-03-04 19:18:36 +00:00
a93b5e27a8Implement LWG #2268: Setting a default argument in the declaration of a member function assign of std::basic_string.
Marshall Clow
2014-03-04 19:17:19 +00:00
be8a99ad0f[libc++] Const qualify __gnu_cxx::hash_map<>::const_iterator::pointer type.
Peter Collingbourne
2014-03-03 19:50:01 +00:00
53c0e72d5cImplement LWG 2324: Insert iterator constructors should use addressof(). Add two new container classes to the test suite that overload operator &, and add test cases to the insert/front_insert/back_insert iterator tests that use these containers.
Marshall Clow
2014-03-03 19:20:40 +00:00
0c60b0a686Remove a stray tab that snuck into a test. No functionality change
Marshall Clow
2014-03-03 19:16:40 +00:00
50fe0c7d61Implement LWG Paper n3887: Consistent Metafunction Aliases. This adds std::tuple_element_t<> as an alias for tuple_element<>::type. Clean up the synopsis for tuple_element in <utility> as well.
Marshall Clow
2014-03-03 06:18:11 +00:00
3fef95b10dPer N3924, mark random_shuffle as deprecated in the synopsis for <algorithm>. Since we don't actually do anything when a call is deprecated, there is no functionality change. Maybe someday, we'll decide to warn when using a deprecated function.
Marshall Clow
2014-03-03 06:14:19 +00:00
ff137e9145Implement LWG Issue #2285 - make_reverse_iterator. Also mark issues #1450 and #2205 as complete; they are just wording changes in the standard. Mark issues #2359, #2320 and #2322 as complete - libc++ implements them already.
Marshall Clow
2014-03-03 01:24:04 +00:00
37a9ca6fb2More LWG issues. Mark #2182, #2323 and #2213 as complete. Add a test for #2339, and mark that as complete. No actual changes to the libc++ code; all of these were already in place.
Marshall Clow
2014-02-27 16:13:36 +00:00
02ca8af10bLWG issue #2188: Reverse iterator does not fully support targets that overload operator&. Also mark #2272 and #2299 as complete; libc++ already implements them.
Marshall Clow
2014-02-27 02:11:50 +00:00
ec7009afe8Don't install CMakeLists.txt along with the headers.
Bob Wilson
2014-02-26 17:14:09 +00:00
103af3478eImplement LWG issue 2306: match_results::reference should be value_type&, not const value_type&. This is a general move by the LWG to have the reference type of read-only containers be a non-const reference; however, there are no methods that return a non-const reference to a match_result entry, so there's no worries about getting a non-const reference to a constant object.
Marshall Clow
2014-02-26 01:56:31 +00:00
d3ac046ba5Mark LWG issue 2299 as complete. No code changes; libc++ already implements this.
Marshall Clow
2014-02-25 23:11:19 +00:00
cc4759288bMark LWG Issues 2278 and 2313 as complete. No code changes needed; libc++ already implemented both of these.
Marshall Clow
2014-02-25 16:25:55 +00:00
8e554d93daImplement LWG issue 2301: Mark std::tie as constexpr
Marshall Clow
2014-02-25 16:11:46 +00:00
4ffb67eca5Fix historical #ifdef. Use __cplusplus instead of __GXX_EXPERIMENTAL_CXX0X__ when compiling with clang. No functionality change. Noteto self: It is important to run the regression tests on the copy of the code that you've changed.
Marshall Clow
2014-02-22 15:13:48 +00:00
db9d0da3b4Revert "Fix historical #ifdef. Use __cplusplus instead of __GXX_EXPERIMENTAL_CXX0X__ when compiling with clang. No functionality change."
Juergen Ributzka
2014-02-21 21:06:36 +00:00
c4a47e14b9Fix historical #ifdef. Use __cplusplus instead of __GXX_EXPERIMENTAL_CXX0X__ when compiling with clang. No functionality change.
Marshall Clow
2014-02-21 18:07:52 +00:00
0648cc5316Solve the errors
Yaron Keren
2014-02-21 10:00:31 +00:00
f84f6118b3Teach libc++ to use the compiler-provided C-compatible ::max_align_t rather than its own type for std::max_align_t. This is particularly relevant as the types may not be ABI compatible despite users expecting them to be.
Chandler Carruth
2014-02-21 08:37:30 +00:00
e0f8672e7aImplement LWG Issues #2329 and #2332 - disallow iterators into temporary regexes and regexes into temporary strings
Marshall Clow
2014-02-19 21:21:11 +00:00
d81d83f098Mark issues 2280, 2258, 2304, 2317, 2350 and 2346 as completed.
Marshall Clow
2014-02-19 17:55:46 +00:00
9dacb2f713Implement LWG Issue: 2280. begin/end for arrays should be constexpr and noexcept, plus a drive-by fix for cbegin/cend suggested by Peter Sommerlad.
Marshall Clow
2014-02-19 17:53:30 +00:00
9d9463a355Implement LWG2350: min, max, and minmax should be constexpr.
Marshall Clow
2014-02-19 16:51:35 +00:00
a2df82b98eImplement LWG Issue 2346: integral_constant's member functions should be marked noexcept
Marshall Clow
2014-02-17 22:18:51 +00:00
8eb5acc3c7Remove tabs that crept in during an earlier refactoring. No functionality change
Marshall Clow
2014-02-16 01:57:26 +00:00
b88d7cc71cMark issue 2293, 2241 and 2308 as complete
Marshall Clow
2014-02-15 05:41:48 +00:00
224dec238cFirst pass at the Issaquah issues list
Marshall Clow
2014-02-15 05:10:39 +00:00
d2060f06b5Add a test to make sure that vector supports incomplete types
Marshall Clow
2014-02-13 17:56:12 +00:00
117cbb307bThis solves warning C4005: '_NOEXCEPT' : macro redefinition when compiling with Visual C++ 2013 by making libcxx definition text-identical to yvals.h.
Yaron Keren
2014-02-13 14:02:28 +00:00
71e699dda5Fix for PR17606 - result_of (and INVOKE) works incorrectly for member function pointers with ref qualifiers. Also a drive-by fix for common_type in C++03 mode. Thanks to Michel Morin for the bug report and the proposed fix.
Marshall Clow
2014-02-10 17:40:28 +00:00
ebfc50ee89Fix for PR18735 - self-assignment for map/multimap gives incorrect results in C++03
Marshall Clow
2014-02-08 04:03:14 +00:00
cf7278afd7Avoid signed vs unsigned compare warnings. From Dimitry Andric.
Joerg Sonnenberger
2014-02-07 21:14:29 +00:00
a3dc8f3b8bSupport forward_list<Incomplete Type>. Patch by Zhihao Yuan!
Peter Collingbourne
2014-02-05 01:44:17 +00:00
08356fbee7Albert Wong: Fix thread.thread.id/lt.pass.cpp to not assume thread::id() produces a minimal value. This enables this test to pass on andriod arm.
Howard Hinnant
2014-02-04 19:51:48 +00:00
13fbe9d5e3Fix numeric.limits.members/traps.pass.cpp to pass on non-x86 architectures. Fixes bug #18468
Marshall Clow
2014-02-03 23:26:56 +00:00
e1678a18d9Remove default function template argument from the header.
Logan Chien
2014-01-31 09:30:46 +00:00
a612c62740lit.site.cfg:cxx_under_test should take precedence over 'which clang++' (reviewed by Marshall Clow)
David Fang
2014-01-29 01:54:52 +00:00
28754d0378Removed extra line that I left in when committing 199694. Thanks to Jared Grubb for the catch.
Marshall Clow
2014-01-26 01:59:59 +00:00
708dd84a4eRename some internal templates to avoid conflict with complier intrinsics. __is_constructible --> __libcpp_is_constructible, __is_nothrow_constructible --> __libcpp_is_nothrow_constructible, and __is_nothrow_assignable --> __libcpp_is_nothrow_assignable. No functionality change.
Marshall Clow
2014-01-24 15:27:41 +00:00
a4c0d87a84Const qualify __mem_fn call operator
Peter Collingbourne
2014-01-22 22:56:52 +00:00
15066f21f1Removed extra space; thanks to thakis_'s eagle eye
Marshall Clow
2014-01-21 00:03:44 +00:00
1a383b9755Fixed test failure in is_iec559.pass.cpp on darwin-ppc32. Thanks to David Fang for the report (and suggested fix)
Marshall Clow
2014-01-20 23:57:16 +00:00
e3c9d52d6dFix erroneous test; was failing on darwin-ppc32. Fixes PR18469.
Marshall Clow
2014-01-18 03:41:54 +00:00
97f50f6c5eUpdate __parse_DUP_COUNT and __parse_BACKREF to use the traits class to recognize digits. Fixes PR18514
Marshall Clow
2014-01-18 03:40:03 +00:00
63fbfd6883Adjust build fix from r199494 to use C++ casts
Alp Toker
2014-01-17 16:17:24 +00:00
5f58b89ecdBuild fix for gcc builtin
Alp Toker
2014-01-17 14:24:23 +00:00
98760c18f8Add license headers to a bunch of libc++ files that were missing them. No functionality change. Fixes 18291. Thanks to Nico for the bug report and the patch.
Marshall Clow
2014-01-16 16:58:45 +00:00
beee5e48b3Apply patch for Albert Wong: 'Modify testit to allow filtering tests by prefixes'.
Marshall Clow
2014-01-15 16:28:42 +00:00
928bb68bb2Whoops! Set the default in the last commit to c++1y instead of c++11
Marshall Clow
2014-01-14 17:04:06 +00:00
2f78c0d9f9Update lib/buildit and test/testit to both pay attention to an env flag CXX_LANG, which people can set to 'c++03', 'c++11' or 'c++1y' to build/test using that language variant. If you don't set this env variable, you get c++11, just like today. Drive-by fix; remove duplicate -nostdinc++.
Marshall Clow
2014-01-14 17:00:40 +00:00
8896ac3cddRename libc++ internal templates __is_void, __is_integral, __is_floating_point, __is_pointer, __is_function_imp, __is_function, __is_member_function_pointer, __is_member_pointer, __is_signed_impl, __is_signed, __is_unsigned_impl, __is_unsigned to __libcpp_is_XXX, because some compilers have decided that __is_XXX are keywords. No functionality change.
Marshall Clow
2014-01-14 05:13:45 +00:00
72fe0ae7cfFix a bug in regex_token_iterator's copy constructor. Caught by Bob Wilson.
Marshall Clow
2014-01-13 17:47:08 +00:00
0efd9dcfa0Fix PR18404 - 'Bug in regex_token_iterator::operator++(int) implementation'. Enhance the tests for regex_token_iterator and regex_iterator.
Marshall Clow
2014-01-09 18:25:57 +00:00
4a07e0e159Replace casts of __impl_ with the correct reinterpret_cast of the address. Restores the assembly of before r198504.
Joerg Sonnenberger
2014-01-07 19:21:13 +00:00
908b5d7f92Back out the <type_traits> changes from r198431; they were breaking when building with glibc. Need to find a better solution for PR18218.
Marshall Clow
2014-01-06 18:12:50 +00:00
af6cd294aaRemoved extra trailing underscore in #ifdef (__GNUC___ --> __GNUC__ )
Marshall Clow
2014-01-06 15:23:02 +00:00
0ea7f8cfb3Rename several internal templates to get rid of ___ (triple underscores) or worse, four. No functionality change.
Marshall Clow
2014-01-06 14:00:09 +00:00
4c6acb5ecdSwitch to using C++ style casts.
Joerg Sonnenberger
2014-01-04 17:43:00 +00:00
c8d1bbab02Implement the functions: clz, clzl, clzll, ctz, ctzl, and ctzll for libcxx when compiled with Visual C++ on Win32 and Win64.
Yaron Keren
2014-01-04 08:56:00 +00:00
a71f9562f0Rename ___make_pair_return to __make_pair_return_impl; ___make_tuple_return to __make_tuple_return_impl; and ____iterator_traits to __iterator_traits_impl. Part of a campaign to remove > 2 underscores from libc++. No functionality change.
Marshall Clow
2014-01-03 22:55:49 +00:00
854a7a02b4Patch by Howard. First part of fix for PR18218; add type traits needed to do the right thing. Fix the problems in PR18218 for isnan and pow - they also need to be applied to the other functions in <cmath>. Also, a drive-by fix for the test - now actually calls test_abs()
Marshall Clow
2014-01-03 18:21:14 +00:00
3f44c407b6Update the copyright credits -- Happy new year 2014!
NAKAMURA Takumi
2014-01-01 08:27:31 +00:00
bfd68bf0c7GCC does not support strong enum in pre-C++0x mode.
Logan Chien
2013-12-14 06:44:09 +00:00
8070ded699Merging r197061: ------------------------------------------------------------------------ r197061 | marshall | 2013-12-11 11:32:32 -0800 (Wed, 11 Dec 2013) | 1 line
Bill Wendling
2013-12-12 07:07:15 +00:00
59a3ba57d0Merging r196058: ------------------------------------------------------------------------ r196058 | marshall | 2013-12-01 19:24:33 -0800 (Sun, 01 Dec 2013) | 1 line
Bill Wendling
2013-12-12 07:06:59 +00:00
1c398696b0Move std::begin(array) and std::end(array) out from under an #ifdef that was preventing people from building libc++ using gcc. This corrects a mistake that I introduced in r196058
Marshall Clow
2013-12-11 19:32:32 +00:00
e356070e1aMerging r-196058: ------------------------------------------------------------------------ r196058 | marshall | 2013-12-01 19:24:33 -0800 (Sun, 01 Dec 2013) | 1 line
Bill Wendling
2013-12-11 07:25:36 +00:00
73b46a7248Refactored a bunch of duplicated code in <ostream>. Made a new routine called __put_character_sequence, and made nine places call it.
Marshall Clow
2013-12-10 19:25:49 +00:00
b671fc9b2dRefactor some of the operations in <string> so that they can be reused; no functionality change
Marshall Clow
2013-12-09 16:00:28 +00:00
615100223eGive all members of exception types default visibility. Lack of this is causing some illegal code relocations rare and hard to reproduce cases.
Howard Hinnant
2013-12-04 21:03:23 +00:00
1b92188a82Found six (nmostly) identical files named 'test_allocator.h' in the libcxx test suite. Moved one to /support, made it a superset, and removed all but one of the others, and iupdated all the includes. Left the odd one (thread/futures/test_allocator.h) for later.
Marshall Clow
2013-12-03 00:18:10 +00:00
ebedffde9aFound two identical files named 'allocators.h' in the libcxx test suite. Moved one to /support, removed the other, and iupdated all the includes. No functionality change
Marshall Clow
2013-12-02 18:08:31 +00:00
e27dbcf2dcFound two identical files named 'DefaultOnly.h' in the libcxx test suite. Moved one to /support, removed the other, and iupdated all the includes. No functionality change
Marshall Clow
2013-12-02 17:00:56 +00:00
971d716332Merging r196058: ------------------------------------------------------------------------ r196058 | marshall | 2013-12-01 19:24:33 -0800 (Sun, 01 Dec 2013) | 1 line
Bill Wendling
2013-12-02 07:41:26 +00:00
6daf534441Fix for PRPR17934; based on a fix suggested by Peter Sommerlad
Marshall Clow
2013-12-02 03:24:33 +00:00
a7d46056b0Remove executable permissions on a text file
Sylvestre Ledru
2013-12-01 10:15:11 +00:00
92b327712bRemove _LIBCPP_TRIVIAL_PAIR_COPY_CTOR=0 for __APPLE__, no longer needed.
Howard Hinnant
2013-11-27 00:53:02 +00:00
061d0cc4dbThere were two identical files named 'min_allocator.h'. Move one of them to /support and delete the other. Then adjust all the tests that used them to include the moved one. No functionality change.
Marshall Clow
2013-11-26 20:58:02 +00:00
bfaafd539cDon't use T as template argument, it is part of the application namespace.
Joerg Sonnenberger
2013-11-25 22:44:20 +00:00
306553d2b0Merging r195136: ------------------------------------------------------------------------ r195136 | marshall | 2013-11-19 10:05:03 -0800 (Tue, 19 Nov 2013) | 1 line
Bill Wendling
2013-11-25 07:41:30 +00:00
37d0212c57Compiling libcxx with gcc 4.6.4 (MingW) produces these errors:
Yaron Keren
2013-11-22 09:22:12 +00:00
f01e998923Merging r195143: ------------------------------------------------------------------------ r195143 | marshall | 2013-11-19 11:14:27 -0800 (Tue, 19 Nov 2013) | 1 line
Bill Wendling
2013-11-20 06:40:42 +00:00
016d4e847aPatch by Xing Xue to improve libc++ support for AIX
Marshall Clow
2013-11-19 19:16:03 +00:00
16c76a2107Fix a test that I broke over the weekend
Marshall Clow
2013-11-19 19:14:27 +00:00
2ccffefaffPatch by Bruce Mitchener. Change all references to EMSCRIPTEN to __EMSCRIPTEN__. If you're not using the PP symbol EMSCRIPTEN, then you should see no functionality change.
Marshall Clow
2013-11-19 18:05:03 +00:00
ea97ae3eedCreating release_34 branch
Bill Wendling
2013-11-19 02:57:35 +00:00
81241a9440G M suggestion: conditionally include files on _WIN32.
Yaron Keren
2013-11-18 21:30:19 +00:00
15c04bedadThis patch implements snprintf_l function in a way similar to the other functions in src/support/win32/locale_win32.cpp and locale_win32.h, calling upon vsnprintf for which there is a MingW correct alternative.
Yaron Keren
2013-11-18 21:12:14 +00:00
35080eae90Set the permissions for 'experimental' and its context to the correct values.
Bill Wendling
2013-11-18 07:01:16 +00:00
1823bea43aFix-it suggestion for fixing min or max defines on Windows.
Yaron Keren
2013-11-15 23:41:01 +00:00
c26c385592Windows.h is not required.
Yaron Keren
2013-11-15 22:54:15 +00:00
0cdbe60481Move <optional> into include/experimental, and into the std::experimental namespace, since it's not part of C++14, but of an upcoming TS
Marshall Clow
2013-11-15 22:42:10 +00:00