ba6dbf4866Some calls to get<>() were qualified. Some were not. Qualify them all. Fixes bug #20092. Thanks to Agustín Bergé for the bug report and the fix.
Marshall Clow
2014-06-24 00:46:19 +00:00
e4694b4129Formatting improvements in the <string_view> synopsis suggested by RSmith. No functionality change.
Marshall Clow
2014-06-18 17:44:04 +00:00
04035d66d0Revert "fixes duplicate header installation"
David Fang
2014-06-12 23:19:55 +00:00
164b297099Implement string_view from the library fundamentals TS (n4023). Also works in C++11 and 03, with reduced functionality (mostly in the area of constexpr)
Marshall Clow
2014-06-11 16:44:55 +00:00
675dd5cc4fMark assign to be constepr only in c++14; can't have constexpr fns that return void in C++11
Marshall Clow
2014-06-10 18:52:57 +00:00
37025e1b32Make the helper routines in string really be constexpr. This required a bit of refacoring in algorithm as well. Give them better names while we're at it. All of these are internal rotines; no visible functionality change.
Marshall Clow
2014-06-10 18:51:55 +00:00
c1345e3262A bunch of the char.traits tests were using unicode literals. #ifdef those bits out on c++03, since it doesn't support u"" and U "" style strings.
Marshall Clow
2014-06-10 18:46:59 +00:00
c743921e51Update Arcanist config to point to reviews.llvm.org
David Blaikie
2014-06-10 18:29:36 +00:00
5520bf5cbeFixed damaged row in issues table; thanks to STL for the catch
Marshall Clow
2014-06-09 23:27:27 +00:00
281918b6aaTesting infastructure: A template for char_traits where all the functions are constexpr, and a comparison predicate which counts how many times it's been called.
Marshall Clow
2014-06-06 22:33:40 +00:00
20f0955062Since we now have a value for __cplusplus for c++14, teach libc++ about it
Marshall Clow
2014-06-06 22:31:09 +00:00
73c1fce21cUse __builtin_operator_new/__builtin_operator_delete when available. This allows allocations and deallocations to be optimized out.
Richard Smith
2014-06-04 19:54:15 +00:00
0707b67ac3Handle partial nanosleeps in this_thread::sleep_for
David Majnemer
2014-06-04 19:43:20 +00:00
981b01d9d0Make meta.trans.other/aligned_storage.pass.cpp pass on arm.
Nico Weber
2014-06-04 16:25:58 +00:00
0211e86a5eMake locales (and transitively, std::endl) work reliably with gcc.
Nico Weber
2014-06-04 15:46:56 +00:00
5a54699578Add a note about debug mode being non-functional
Marshall Clow
2014-06-04 04:49:49 +00:00
4d9f97b40b[libc++] Don't return uninitialized data from random_device::operator()
David Majnemer
2014-06-03 02:40:39 +00:00
8db32cc2ac[libc++] random_device fails if open returns zero
David Majnemer
2014-06-03 02:21:37 +00:00
d2f0b5c9aeFirst cut at a post c++14 status page
Marshall Clow
2014-06-02 23:37:13 +00:00
4074d6ea30Remove unused code in a libc++ test.
Nico Weber
2014-06-02 12:00:08 +00:00
360f3196d7Preparation for <string_view>. More helper functions that can be shared between <string> and <string_view>. No functionality change
Marshall Clow
2014-06-02 02:22:49 +00:00
e39915bdc5Fix XFAIL condition from r208840
Justin Bogner
2014-05-31 07:59:03 +00:00
3c122d81beAdd a _LIBCPP_CONSTEXPR that was missed in r170026.
Nico Weber
2014-05-30 12:09:47 +00:00
4f3368e269Fix a problem exposed by r208825, which caused bind (and other bits of libc++) to stop working. And tests
Marshall Clow
2014-05-29 01:10:28 +00:00
52a708fbcaFix bug 19840, where some tests were not testing what we wanted. Thanks to Eric for the bug report
Marshall Clow
2014-05-23 15:30:23 +00:00
6b7e6921e2Fix Bug 19678 - libc++ does not correctly handle the regex: '[^\0]*'
Marshall Clow
2014-05-21 16:29:50 +00:00
117563c516Fix bug 19740; round-tripping a pointer through a stream doesn't work
Marshall Clow
2014-05-21 16:02:20 +00:00
f33ffcc651[modules] Add initial module map for libc++.
Richard Smith
2014-05-21 00:33:49 +00:00
7fac8f6b9fUpdate cstddef after clang r207606.
Nico Weber
2014-05-16 01:45:02 +00:00
08f8ac6951Fix typo 'fourty' in tests
Alp Toker
2014-05-15 11:33:29 +00:00
ec34c48976Fix typos
Alp Toker
2014-05-15 11:27:39 +00:00
5fda8338b2Work around ABI differences due to LWG 2056 in tests
Justin Bogner
2014-05-15 01:57:42 +00:00
bdfc0ad2eaRemove XFAIL from a number of tests that aren't expected to fail
Justin Bogner
2014-05-15 00:55:44 +00:00
1f50f2d64bAdd Address Sanitizer support to std::vector
Marshall Clow
2014-05-08 14:14:06 +00:00
6b5be703dbFix PR 19663. Some calls to find(vector<bool>) were returning iterators that were subtly invalid (didn't compare equal). Thanks to Erik Verbruggen for the report (and diagnosis)
Marshall Clow
2014-05-06 15:33:23 +00:00
55622073f4Exceptions store the message as reference counted string for compatibility to libstdc++. Move the implementation into a header for easier sharing with libc++abi. Merge a number of improvements from that version. Provide a POD definition for <stdexcept>'s public use to avoid cast dances. Discussed with Marshall Clow.
Joerg Sonnenberger
2014-04-30 19:54:11 +00:00
5f64a2b3c3Fix bug #18350. Add tests for tuples of all the smart pointers (except auto_ptr)
Marshall Clow
2014-04-26 05:19:48 +00:00
34b571bd88Added some tests for equal elements in min_element and max_element. Bug #19547 was invalid, but we weren't testing that case
Marshall Clow
2014-04-25 15:50:54 +00:00
398c9d882bDefault the copy and move constructors for __tuple_leaf. This fixes bugs 18853 and 19118. Add a test case for that.
Marshall Clow
2014-04-21 23:48:09 +00:00
067e91d29eUse compiler intrinsic __is_constructible if available
Marshall Clow
2014-04-21 22:30:32 +00:00
88dd258984Add more tests for std::ws as pointed out by bug #19497
Marshall Clow
2014-04-21 18:12:09 +00:00
a178c13419Bug #19473. If you pass an allocator to std::function, we should use that allocator, not construct one from scratch. Add a test to make sure
Marshall Clow
2014-04-18 17:23:36 +00:00
f1d10875d7Fixed a test that was attempting to use rvalue-references w/o checking to see if they were supported in the language. This resulted in a warning when testing using C++03.
Marshall Clow
2014-04-17 18:11:38 +00:00
6601516af8Remove some unnecessary noexcept conditions. Thanks to Richard Smith for the catch.
Marshall Clow
2014-04-16 23:12:55 +00:00
7d4d519f0bDefine a new macro in libc++ named '_LIBCPP_HAS_NO_ASAN'. When this is defined, libc++ will not call address_sanitizer to detect addressing errors in the standard library containers. This is a negative macro to enable users to disable the libc++ checks even if they are compiling with address sanitizer enabled by defining this macro.
Marshall Clow
2014-04-14 15:44:57 +00:00
ed5394a8f9Not everyone uses bash, so fix test syntax.
Joerg Sonnenberger
2014-04-12 21:12:55 +00:00
140e8f52c3Remove node from a container before destroying it. Thanks to Alexander Potapenko for pointing this out.
Marshall Clow
2014-04-11 08:22:42 +00:00
3f357193cbRemoved 'sized deallocation' from C++14 status page since it turned out to require no library work, and fixed a typo in index.html. Thanks to Tobias for pointing these out.
Marshall Clow
2014-04-07 07:28:33 +00:00
0835e16c6dRTTI Uniqueness: remove __name_for_load function.
Tim Northover
2014-04-03 09:12:38 +00:00
992f9d5017Add a section about reporting bugs and contributing patches
Marshall Clow
2014-04-03 03:13:12 +00:00
874ec678c0Reword C++14 status to match C++11 status
Marshall Clow
2014-04-03 02:38:12 +00:00
e4915d9b46Mark C++14 status as 'complete'
Marshall Clow
2014-04-03 02:35:29 +00:00
81339cff83Use defined(__APPLE__) rather than __APPLE__
Tim Northover
2014-03-30 14:59:12 +00:00
6fdde87640ARM64: compare RTTI names as strings
Tim Northover
2014-03-30 11:34:26 +00:00
c030063cc2ARM64: use the alternate string layout on Apple platforms.
Tim Northover
2014-03-30 11:34:22 +00:00
8a71d23633[libc++] Teach is_integral, is_[un]signed and make_[un]signed about __[u]int128_t
Stephan Tolksdorf
2014-03-26 19:45:52 +00:00
b0767852f7Implement LWG issue #2135. If something goes wrong in condition_variable::wait, call terminate() rather than throwing an error. Do this indirectly, by marking the call as 'noexcept'. This is better than just calling terminate() directly, because it gives a better error message on the console.
Marshall Clow
2014-03-26 02:45:04 +00:00
f4c0c708a3Add tests that should fail when lock() throws. THis is part of LWG issue #2135. No library changes here.
Marshall Clow
2014-03-26 02:11:47 +00:00
ab5e0a72d5Mark LWG issues #2075 and #2142 as complete. 2142 was a change to the standard to remove redundant wording, which required no changes to libc++. 2075 was a rewrite of the requirements for forward progress, and again, requires no changes to the library.
Marshall Clow
2014-03-25 14:57:05 +00:00
bce096d34dAdd a test to make sure we're doing the right thing for throwing exceptions from deferred functions. This is LWG issue #2186. No change to the library needed.
Marshall Clow
2014-03-24 22:25:24 +00:00
c0bf6f5369Mark LWG Issue #2288 as complete. This was wording cleanup, no code changes required. Also mark #2104 as complete. Leave the implementation in libc++ as noexcept, since implementations are allowed to add noexcept to non-virtual calls. If we throw from unique_lock& operator=(unique_lock&& u), then that means the preconditions were violated, and calling terminate() (as a result of throwing from a noexcept function) is as good example of undefined behavior as any other.
Marshall Clow
2014-03-24 18:38:01 +00:00
ef7b63bce1Minor cleanup from r204078; remove two empty test directories that were left behind.
Marshall Clow
2014-03-20 15:31:42 +00:00
f9f95be930Implement N3891: A proposal to rename shared_mutex to shared_timed_mutex
David Majnemer
2014-03-17 20:19:44 +00:00
cb036e3f2cReplace a tab with a space
David Majnemer
2014-03-17 20:13:54 +00:00
1a5e2cb621Remove Issue #2235 from the Chicago section. The resolution was approved in Bristol (and it is listed there), and then is was approved *again* in Chicago. Thanks to STL @ microsoft for the catch
Marshall Clow
2014-03-15 01:55:31 +00:00
d4245e7e91Exclude .svn (and other "dot" directories) when installing headers.
Bob Wilson
2014-03-13 16:13:54 +00:00
6875f3b6e4build: remove an errant comma
Saleem Abdulrasool
2014-03-12 04:11:25 +00:00
5a8e27b5b3THIRD TIME. Richard pointed out (again) that I'd switched the order of the instance variables; and thus failed to repair the ABI break. After this, I'm going to sit down and watch TV for the evening.
Marshall Clow
2014-03-12 01:19:36 +00:00
668a1d8c44Fix ABI break I made in r203587; thanks to Richard Smith for the catch.
Marshall Clow
2014-03-11 22:05:31 +00:00
be3d117702Fix misguided #elif - it checked the value of _AIX instead of defined(_AIX). Thanks to Johan Bergström for the bug report.
Marshall Clow
2014-03-11 17:18:47 +00:00
b1ead689beImplement LWG 2360: 'reverse_iterator::operator*() is unimplementable'. Note that this is a (small) behavior change in the library. Reverse iterators whose base iterators' operator* return references to 'within themselves' have been sacrificed to the greater goal of avoiding data races.
Marshall Clow
2014-03-11 17:16:17 +00:00
d3849253cePatch from Steve MacKenzie to make the libc++ tests play nicely with MSVC's STL. Add '#include <functional>' to four of the priority queue tests.
Marshall Clow
2014-03-11 16:22:53 +00:00
7db57339fbMark LWG #2314. 'apply() should return decltype(auto) and use decay_t before tuple_size' as complete. This is a correction to some example code in the standard, no change needed for libc++.
Marshall Clow
2014-03-11 15:17:34 +00:00
3ebf26f90dFinal bit for LWG #2263; test different allocator pointer types. Note that libc++ already does the right thing here; I've just added tests to ensure that it stays this way.
Marshall Clow
2014-03-11 04:32:12 +00:00
6dbaaa99a8Add tests for LWG issue #2356. Stability of erasure in unordered associative containers. Libc++ already does this, but now we have tests for it.
Marshall Clow
2014-03-10 21:36:36 +00:00
179e9455a5More tests for LWG Issue #2263; this time to the associative and unordered containers. Still no changes to libc++
Marshall Clow
2014-03-10 19:18:49 +00:00
9863083ee0Added tests to the sequence containers for for LWG Issue #2263. Comparing iterators and allocator pointers with different const-character. No changes to libc++
Marshall Clow
2014-03-10 18:54:56 +00:00
f7b63d646bMark issues #2357 (wording changes in the standard, no functionality change) and #2132 (libc++ already does this) as complete.
Marshall Clow
2014-03-10 17:59:59 +00:00
caaa1412b0Fix bug I introduced (enabling implicit conversions from compare function to map) in r202994. Thanks to Sebastian Redl for the catch.
Marshall Clow
2014-03-10 04:50:10 +00:00
d14101758aUpdate status for LWG 2193 and 2344.
Marshall Clow
2014-03-07 21:47:20 +00:00
b90686c1ecImplement LWG #2344: quoted()'s interaction with padding is unclear. I think that anyone using quoted with padding is really confused, but it should work the way the rest of iostreams works.
Marshall Clow
2014-03-07 21:45:32 +00:00
471f3c67dbFix a couple of -Wabsolute-value warnings in the libc++ tests
Marshall Clow
2014-03-06 16:27:17 +00:00
9d3d032c7dDo not derive __gnu_cxx::hash<T> from std::hash<T>.
Peter Collingbourne
2014-03-06 04:11:10 +00:00
48c74700ecImplement LWG 2193. Default constructors for standard library containers are explicit. Note that libc++ already did this for string/deque/forward_list/list/vector and the unordered containers; implement it for set/multiset/map/multimap. Add tests for all the containers. Two drive-by fixes as well: add a missing explicit in <deque>, and remove a tab that snuck into a container test. This issue is also LLVM bug 15724, and resolves it.
Marshall Clow
2014-03-05 19:06:20 +00:00
24b29a02f1Mark is_final as a C++14 feature.
Marshall Clow
2014-03-05 17:58:48 +00:00
0d6dcb5569Remove definition of std::fmaf from libc++. Fixes bug #18910. This function should come from the C standard library. As a drive-by fix, update the tests to remove a warning from -Wabsolute-value
Marshall Clow
2014-03-05 17:09:51 +00:00
ebd6c2b81dImplement LWG #2212: std::is_final. This requires compiler support, which modern versions of clang provide. Also mark LWG #2230 as complete - no code changes needed.
Marshall Clow
2014-03-05 03:39:25 +00:00
23ef151614Update synposis in <memory> to show move semantics for weak_ptr; add tests for already existing move semantics. Mark LWG issues #2315 (no changes needed), 2316 (move semantics for weak_ptr), 2252 (previous commit) and 2271 (previous commit) as complete.
Marshall Clow
2014-03-05 03:12:04 +00:00
8d4ce30c79LWG Issue #2271: regex_traits::lookup_classname specification unclear. libc++ already does the right thing; just update the tests.
Marshall Clow
2014-03-04 22:44:34 +00:00
cbb9305c26LWG issue #2252: Add more tests for exception safety. No changes needed in the library
Marshall Clow
2014-03-04 20:31:21 +00:00
a6057a525aFix issue number error; 2141 --> 2291 and mark it as complete
Marshall Clow
2014-03-04 20:29:09 +00:00
5ba85af029Add a SG1 paper and some SG1 issues that affect the library to the task list.
Marshall Clow
2014-03-04 19:40:36 +00:00
ab9da1a78fApply David Majnemer's patch updating the links to the papers from Chicago and Issaquah.
Marshall Clow
2014-03-04 19:22:53 +00:00