summaryrefslogtreecommitdiffstats
path: root/libcxx
Commit message (Collapse)AuthorAgeFilesLines
...
* Commit file missing from r242629Eric Fiselier2015-07-191-0/+8
| | | | llvm-svn: 242630
* Fix warnings in array and assoc containersEric Fiselier2015-07-1822-29/+96
| | | | llvm-svn: 242629
* Remove unused typedefs in random and regexEric Fiselier2015-07-182-6/+0
| | | | llvm-svn: 242628
* Cleanup warnings in test/std/deprEric Fiselier2015-07-1812-15/+32
| | | | llvm-svn: 242627
* Fix warnings in test/std/algorithmsEric Fiselier2015-07-186-18/+20
| | | | llvm-svn: 242626
* Fix unused variable warnings in atomic testsEric Fiselier2015-07-185-5/+7
| | | | llvm-svn: 242625
* Fix warnings in test/std/language.supportEric Fiselier2015-07-1810-9/+44
| | | | llvm-svn: 242624
* Enable and fix warnings during the build.Eric Fiselier2015-07-186-19/+29
| | | | | | | | | | | | | | | | | Although CMake adds warning flags, they are ignored in the libc++ headers because the headers '#pragma system header' themselves. This patch disables the system header pragma when building libc++ and fixes the warnings that arose. The warnings fixed were: 1. <memory> - anonymous structs are a GNU extension 2. <functional> - anonymous structs are a GNU extension. 3. <__hash_table> - Embedded preprocessor directives have undefined behavior. 4. <string> - Definition is missing noexcept from declaration. 5. <__std_stream> - Unused variable. llvm-svn: 242623
* Fix up typos in a couple of tests; due to agressive short-circuiting, they ↵Marshall Clow2015-07-182-2/+10
| | | | | | never failed on clang or gcc, but MSVC whined. Patch by Andrew Parker. llvm-svn: 242618
* Add missing instrumentation in vector::insert - Patch from Anna ZaksEric Fiselier2015-07-183-4/+20
| | | | | | This patch was reviewed as D10859. http://reviews.llvm.org/D10859 llvm-svn: 242617
* [libcxx] Get is_*_destructible tests passing in C++03.Eric Fiselier2015-07-184-38/+80
| | | | | | | | | | | | Summary: This patch adds proper guards to the is_destructible tests depending on the standard version so that they pass in c++03. Reviewers: mclow.lists, EricWF Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D10047 llvm-svn: 242612
* Cleanup tests that fail in C++1z and with Clang 3.8Eric Fiselier2015-07-179-377/+248
| | | | llvm-svn: 242581
* Bump libc++ version # to 3.8Marshall Clow2015-07-171-1/+1
| | | | llvm-svn: 242541
* Include what we use, instead of letting them get pulled in implictly. This ↵Marshall Clow2015-07-163-0/+5
| | | | | | makes the tests work on VS. Thanks to STL for the report llvm-svn: 242454
* Set the libc++ version # to 3.7. Will bump to 3.8 soonMarshall Clow2015-07-161-1/+1
| | | | llvm-svn: 242421
* Make sure that __libcpp_compressed_pair_imp default-constructs its' members, ↵Marshall Clow2015-07-162-7/+23
| | | | | | rather than value-initializing them. Fixes PR#24137 llvm-svn: 242377
* Mark two tests as failing on clang 3.8 (they failed on 3.7, too)Marshall Clow2015-07-162-4/+4
| | | | llvm-svn: 242375
* Remove non-ascii charactersEric Fiselier2015-07-141-5/+5
| | | | llvm-svn: 242197
* Implement n4169 - Add invoke function templateEric Fiselier2015-07-143-1/+278
| | | | llvm-svn: 242195
* Mark LWG2308 as complete; fix link. No code change necessary.Marshall Clow2015-07-141-1/+1
| | | | llvm-svn: 242189
* Fix PR24114 - std::atomic for non-Clang is not a literal typeEric Fiselier2015-07-142-1/+58
| | | | | | Add _LIBCPP_CONSTEXPR to the implementation of __gcc_atomic_t. llvm-svn: 242172
* Move bits from N4258. Mark vector's move-constructor unconditionally ↵Marshall Clow2015-07-143-0/+26
| | | | | | noexcept in C++1z llvm-svn: 242148
* Implement the first part of N4258: 'Cleaning up noexcept in the Library'. ↵Marshall Clow2015-07-1326-297/+1311
| | | | | | This patch deals with swapping containers, and implements a more strict noexcept specification (a conforming extension) than the standard mandates. llvm-svn: 242056
* [libcxx] LWG2420 bits for bind<void> - Patch from K-BalloEric Fiselier2015-07-103-9/+26
| | | | | | | Implemented LWG2420 bits for bind<void> Review: http://reviews.llvm.org/D10997 llvm-svn: 241967
* Use __is_identifier to detect __decltype and not the clang version.Eric Fiselier2015-07-101-24/+19
| | | | llvm-svn: 241939
* Fix error string in test suiteEric Fiselier2015-07-081-1/+1
| | | | llvm-svn: 241757
* The rest of N4279 and LWG#2464 - for unordered_mapMarshall Clow2015-07-074-2/+526
| | | | llvm-svn: 241555
* Implement N4279 and LWG#2664 for <map>. Reviewed as ↵Marshall Clow2015-07-073-0/+512
| | | | | | http://reviews.llvm.org/D10669 llvm-svn: 241539
* [libcxx] Add atomic_support.h header to src that handles needed atomic ↵Eric Fiselier2015-07-076-13/+271
| | | | | | | | | | | | | | | | | | | | | operations. Summary: In some places in libc++ we need to use the `__atomic_*` builtins. This patch adds a header that provides access to those builtins in a uniform way from within the dylib source. If the compiler building the dylib does not support these builtins then a warning is issued. Only relaxed loads are needed within the headers. A singe function to do these relaxed loads has been added to `<memory>`. This patch applies the new atomic builtins to `__shared_count` and `call_once`. Reviewers: mclow.lists Subscribers: majnemer, jroelofs, cfe-commits Differential Revision: http://reviews.llvm.org/D10406 llvm-svn: 241532
* Automatically detect and use clang verify in failure tests.Eric Fiselier2015-07-064-11/+19
| | | | | | | | | Automatically enable clang verify whenever the '-verify-ignore-unexpected' flag is supported. Failure tests are run using verify if they contain one or more "expected-*" diagnostics tags. Otherwise they are run normally. llvm-svn: 241492
* Mark LWG#2420 as complete. Eric did this in r228705.Marshall Clow2015-07-061-1/+1
| | | | llvm-svn: 241491
* Make locale code compile on CloudABI.Ed Schouten2015-07-061-10/+13
| | | | | | | | | | | | | | | | | | | After r241454 landed, libc++'s locale code compiles on CloudABI, with the exception of the following two bits: - CloudABI doesn't have setlocale(), as the C library does not keep track of any global state. The global locale is always set to "C". Disable the call to setlocale() on this system. - Similarly, mbtowc_l() is also not present, as it is also not thread-safe. As CloudABI does not support state-dependent encodings, simply disable that part of the logic. The locale code now compiles out of the box on CloudABI. Differential Revision: http://reviews.llvm.org/D10729 Reviewed by: jroelofs llvm-svn: 241455
* Cleanup: prefer _LIBCPP_GET_C_LOCALE over __cloc().Ed Schouten2015-07-062-30/+28
| | | | | | | | | | | | | The __cloc() function is only present in case the environment does not provide a way to refer to the C locale using a compile-time constant expression. _LIBCPP_GET_C_LOCALE seems to be defined unconditionally. This improves compilation of the locale code on CloudABI. Differential Revision: http://reviews.llvm.org/D10690 Reviewed by: jroelofs llvm-svn: 241454
* Noticed that std::allocator<const T> was missing the definition for ↵Marshall Clow2015-07-013-0/+10
| | | | | | is_always_equal. Fixed this, and added a test for it. llvm-svn: 241190
* Mark N4508, LWG#2407, and LWG#2470 as complete. I don't see that 2470 ↵Marshall Clow2015-06-301-3/+3
| | | | | | requires any changes to the library. llvm-svn: 241111
* K-ballo pointed out that I missed one of the specializations of ↵Marshall Clow2015-06-301-1/+1
| | | | | | packaged_task when I committed r241068. Thanks for the catch. llvm-svn: 241095
* Forgot the support include file in r241091Marshall Clow2015-06-301-0/+73
| | | | llvm-svn: 241092
* Add tests for LWG#2299. While doing so, I noticed that the tests we have for ↵Marshall Clow2015-06-3050-3/+1718
| | | | | | the transparent comparators don't actually call them. Fix those tests, too. Now one of them is failing, due to a missing const in <map>. Add that (twice). Next step is to do the same for <unordered_map> llvm-svn: 241091
* Implement LWG#2407: 'packaged_task(allocator_arg_t, const Allocator&, F&&) ↵Marshall Clow2015-06-302-3/+3
| | | | | | should neither be constrained nor explicit' llvm-svn: 241068
* Implement N4508: shared_mutex. Reviewed as http://reviews.llvm.org/D10480Marshall Clow2015-06-3010-26/+439
| | | | llvm-svn: 241067
* Mark LWG#2266 as complete. This is a tightening up the wording; no code ↵Marshall Clow2015-06-301-1/+1
| | | | | | changes required. llvm-svn: 241064
* Mark LWG#2439 as complete. This is a tightening up the wording; no code ↵Marshall Clow2015-06-291-1/+1
| | | | | | changes required. llvm-svn: 241013
* Make support for thread-unsafe C functions optional.Ed Schouten2015-06-2419-3/+124
| | | | | | | | | | | | | | | | | | | | | | | | One of the aspects of CloudABI is that it aims to help you write code that is thread-safe out of the box. This is very important if you want to write libraries that are easy to reuse. For CloudABI we decided to not provide the thread-unsafe functions. So far this is working out pretty well, as thread-unsafety issues are detected really early on. The following patch adds a knob to libc++, _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS, that can be set to disable thread-unsafe functions that can easily be avoided in practice. The following functions are not thread-safe: - <clocale>: locale handles should be preferred over setlocale(). - <cstdlib>: mbrlen(), mbrtowc() and wcrtomb() should be preferred over their non-restartable counterparts. - <ctime>: asctime(), ctime(), gmtime() and localtime() are not thread-safe. The first two are also deprecated by POSIX. Differential Revision: http://reviews.llvm.org/D8703 Reviewed by: marshall llvm-svn: 240527
* Mark a couple of features as 'in progress'Marshall Clow2015-06-231-2/+2
| | | | llvm-svn: 240456
* When building libc++, we use '"' as a delimiter instead of '<' when ↵Marshall Clow2015-06-232-4/+4
| | | | | | including libc++ header files. This is so that the dylib gets built with our headers; rather than the system-installed ones. We do this in most places already, just fixing a couple of inconsistent uses. llvm-svn: 240412
* Make seeking on an ostream that has eofbit set work correctly. Fixes PR#21361Marshall Clow2015-06-223-2/+24
| | | | llvm-svn: 240286
* Fix illegal chars that snuck into <memory>Marshall Clow2015-06-191-1/+1
| | | | llvm-svn: 240163
* Fix ASAN bot; missing bookkeeping in r240136.Marshall Clow2015-06-191-0/+1
| | | | llvm-svn: 240139
* Fix PR#18843. Thanks to Howard for the fixMarshall Clow2015-06-192-1/+8
| | | | llvm-svn: 240136
* Delete dead code. NFCIJonathan Roelofs2015-06-171-4/+0
| | | | llvm-svn: 239974
OpenPOWER on IntegriCloud