Marshall Clow
4ab4534964
More 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.
...
llvm-svn: 202407
2014-02-27 16:13:36 +00:00
Marshall Clow
c204c130fa
LWG issue #2188 : Reverse iterator does not fully support targets that overload operator&. Also mark #2272 and #2299 as complete; libc++ already implements them.
...
llvm-svn: 202339
2014-02-27 02:11:50 +00:00
Bob Wilson
fa5da05c86
Don't install CMakeLists.txt along with the headers.
...
llvm-svn: 202280
2014-02-26 17:14:09 +00:00
Marshall Clow
16da324051
Implement 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.
...
llvm-svn: 202214
2014-02-26 01:56:31 +00:00
Marshall Clow
11918cff19
Mark LWG issue 2299 as complete. No code changes; libc++ already implements this.
...
llvm-svn: 202203
2014-02-25 23:11:19 +00:00
Marshall Clow
4da015b9b4
Mark LWG Issue 2257 as complete.
...
llvm-svn: 202162
2014-02-25 16:35:39 +00:00
Marshall Clow
f433d63439
Mark LWG Issues 2278 and 2313 as complete. No code changes needed; libc++ already implemented both of these.
...
llvm-svn: 202161
2014-02-25 16:25:55 +00:00
Marshall Clow
0d1560e10e
Implement LWG issue 2301: Mark std::tie as constexpr
...
llvm-svn: 202158
2014-02-25 16:11:46 +00:00
Marshall Clow
31be78b27d
Fix 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.
...
llvm-svn: 201938
2014-02-22 15:13:48 +00:00
Juergen Ributzka
88ec12cd76
Revert "Fix historical #ifdef. Use __cplusplus instead of __GXX_EXPERIMENTAL_CXX0X__ when compiling with clang. No functionality change."
...
This reverts commit r201864, because it breaks our build bots.
llvm-svn: 201892
2014-02-21 21:06:36 +00:00
Marshall Clow
0e23e04f9a
Fix historical #ifdef. Use __cplusplus instead of __GXX_EXPERIMENTAL_CXX0X__ when compiling with clang. No functionality change.
...
llvm-svn: 201864
2014-02-21 18:07:52 +00:00
Yaron Keren
7b89f9958f
Solve the errors
...
Error 1 error C2681: 'add_rvalue_reference<_Tp*>::type' : invalid expression
type for dynamic_cast c:\libcxx\include\type_traits
This is one more step getting libcxx compile under Visual C++. The patch is
#if defined(_LIBCPP_MSVC) so will affect only this build.
When libcxx can be compiled, it will probably require the current version or
maybe even the next Update of Visual C++ 2013.
Patch by G M!
llvm-svn: 201844
2014-02-21 10:00:31 +00:00
Chandler Carruth
265b83a87f
Teach 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.
llvm-svn: 201843
2014-02-21 08:37:30 +00:00
Marshall Clow
7d35711187
Implement LWG Issues #2329 and #2332 - disallow iterators into temporary regexes and regexes into temporary strings
...
llvm-svn: 201717
2014-02-19 21:21:11 +00:00
Marshall Clow
962003126f
Mark issues 2280, 2258, 2304, 2317, 2350 and 2346 as completed.
...
llvm-svn: 201704
2014-02-19 17:55:46 +00:00
Marshall Clow
6c3f5ffbb8
Implement LWG Issue: 2280. begin/end for arrays should be constexpr and noexcept, plus a drive-by fix for cbegin/cend suggested by Peter Sommerlad.
...
llvm-svn: 201703
2014-02-19 17:53:30 +00:00
Marshall Clow
9d67c6d5fd
Implement LWG2350: min, max, and minmax should be constexpr.
...
llvm-svn: 201697
2014-02-19 16:51:35 +00:00
Marshall Clow
551365da33
Implement LWG Issue 2346: integral_constant's member functions should be marked noexcept
...
llvm-svn: 201534
2014-02-17 22:18:51 +00:00
Marshall Clow
53d8b20078
Remove tabs that crept in during an earlier refactoring. No functionality change
...
llvm-svn: 201472
2014-02-16 01:57:26 +00:00
Marshall Clow
b1ad26901f
Mark issue 2293, 2241 and 2308 as complete
...
llvm-svn: 201460
2014-02-15 05:41:48 +00:00
Marshall Clow
bacc03ef8d
First pass at the Issaquah issues list
...
llvm-svn: 201459
2014-02-15 05:10:39 +00:00
Marshall Clow
cdf2fae610
Add a test to make sure that vector supports incomplete types
...
llvm-svn: 201349
2014-02-13 17:56:12 +00:00
Yaron Keren
3ef24c4f9a
This solves warning C4005: '_NOEXCEPT' : macro redefinition when compiling
...
with Visual C++ 2013 by making libcxx definition text-identical to yvals.h.
Persumably this definition is for older Visual C++ versions.
In such cases it will still be defined so no functionality change.
Other platforms should not be affected as this is inside
#elif defined(_LIBCPP_MSVC)
Patch by G M!
llvm-svn: 201328
2014-02-13 14:02:28 +00:00
Marshall Clow
5bd869490b
Fix 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.
...
llvm-svn: 201101
2014-02-10 17:40:28 +00:00
Marshall Clow
74cf6ff5e5
Fix for PR18735 - self-assignment for map/multimap gives incorrect results in C++03
...
llvm-svn: 201021
2014-02-08 04:03:14 +00:00
Joerg Sonnenberger
a0a143690d
Avoid signed vs unsigned compare warnings. From Dimitry Andric.
...
llvm-svn: 200993
2014-02-07 21:14:29 +00:00
Peter Collingbourne
09df4a6675
Support forward_list<Incomplete Type>. Patch by Zhihao Yuan!
...
llvm-svn: 200814
2014-02-05 01:44:17 +00:00
Howard Hinnant
7fe6441cc3
Albert 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.
...
llvm-svn: 200793
2014-02-04 19:51:48 +00:00
Marshall Clow
0c8bb8f0f2
Fix numeric.limits.members/traps.pass.cpp to pass on non-x86 architectures. Fixes bug #18468
...
llvm-svn: 200724
2014-02-03 23:26:56 +00:00
Logan Chien
22747e621e
Remove default function template argument from the header.
...
GCC will treat the default function template arguments as a
compilation error if C++0x is not enabled.
This commit workaround the compilation error by moving the
SFINAE check to function argument instead of the template
argument.
llvm-svn: 200523
2014-01-31 09:30:46 +00:00
David Fang
7584238232
lit.site.cfg:cxx_under_test should take precedence over 'which clang++'
...
(reviewed by Marshall Clow)
llvm-svn: 200364
2014-01-29 01:54:52 +00:00
Marshall Clow
30f1883eee
Removed extra line that I left in when committing 199694. Thanks to Jared Grubb for the catch.
...
llvm-svn: 200108
2014-01-26 01:59:59 +00:00
Marshall Clow
f246033698
Rename 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.
...
llvm-svn: 200010
2014-01-24 15:27:41 +00:00
Peter Collingbourne
a5adf489b7
Const qualify __mem_fn call operator
...
QOI improvement.
Differential Revision: http://llvm-reviews.chandlerc.com/D2059
llvm-svn: 199848
2014-01-22 22:56:52 +00:00
Marshall Clow
d724d60fff
Removed extra space; thanks to thakis_'s eagle eye
...
llvm-svn: 199695
2014-01-21 00:03:44 +00:00
Marshall Clow
683268b2d8
Fixed test failure in is_iec559.pass.cpp on darwin-ppc32. Thanks to David Fang for the report (and suggested fix)
...
llvm-svn: 199694
2014-01-20 23:57:16 +00:00
Marshall Clow
7132122196
Fix erroneous test; was failing on darwin-ppc32. Fixes PR18469.
...
llvm-svn: 199542
2014-01-18 03:41:54 +00:00
Marshall Clow
9aafa898f9
Update __parse_DUP_COUNT and __parse_BACKREF to use the traits class to recognize digits. Fixes PR18514
...
llvm-svn: 199541
2014-01-18 03:40:03 +00:00
Alp Toker
5fea974b6b
Adjust build fix from r199494 to use C++ casts
...
Change suggested by Joerg Sonnenberger!
llvm-svn: 199500
2014-01-17 16:17:24 +00:00
Alp Toker
0b438a9f63
Build fix for gcc builtin
...
The __sync_add_and_fetch() builtin parameter is volatile but clang has
'different' type checking and ends up accepting this code.
Undo the C++ cast from r198505 to get libc++/LLVM building with g++ while this
is investigated.
llvm-svn: 199494
2014-01-17 14:24:23 +00:00
Marshall Clow
354d39cabc
Add 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.
...
llvm-svn: 199400
2014-01-16 16:58:45 +00:00
Marshall Clow
9f4be3fa4f
Apply patch for Albert Wong: 'Modify testit to allow filtering tests by prefixes'.
...
llvm-svn: 199318
2014-01-15 16:28:42 +00:00
Marshall Clow
b183f8594f
Whoops! Set the default in the last commit to c++1y instead of c++11
...
llvm-svn: 199224
2014-01-14 17:04:06 +00:00
Marshall Clow
4cdc6feb4f
Update 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++.
...
llvm-svn: 199222
2014-01-14 17:00:40 +00:00
Marshall Clow
ec931c0721
Rename 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.
...
llvm-svn: 199184
2014-01-14 05:13:45 +00:00
Marshall Clow
54f6bd59f5
Fix a bug in regex_token_iterator's copy constructor. Caught by Bob Wilson.
...
llvm-svn: 199122
2014-01-13 17:47:08 +00:00
Marshall Clow
79b0fee3c6
Fix PR18404 - 'Bug in regex_token_iterator::operator++(int) implementation'. Enhance the tests for regex_token_iterator and regex_iterator.
...
llvm-svn: 198878
2014-01-09 18:25:57 +00:00
Joerg Sonnenberger
70d4ba7f19
Replace casts of __impl_ with the correct reinterpret_cast of the
...
address. Restores the assembly of before r198504.
llvm-svn: 198698
2014-01-07 19:21:13 +00:00
Marshall Clow
a429ba738c
Back out the <type_traits> changes from r198431; they were breaking when building with glibc. Need to find a better solution for PR18218.
...
llvm-svn: 198623
2014-01-06 18:12:50 +00:00
Marshall Clow
a889636aa0
Removed extra trailing underscore in #ifdef (__GNUC___ --> __GNUC__ )
...
llvm-svn: 198618
2014-01-06 15:23:02 +00:00