| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 242630
|
|
|
|
| |
llvm-svn: 242629
|
|
|
|
| |
llvm-svn: 242628
|
|
|
|
| |
llvm-svn: 242627
|
|
|
|
| |
llvm-svn: 242626
|
|
|
|
| |
llvm-svn: 242625
|
|
|
|
| |
llvm-svn: 242624
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
never failed on clang or gcc, but MSVC whined. Patch by Andrew Parker.
llvm-svn: 242618
|
|
|
|
|
|
| |
This patch was reviewed as D10859. http://reviews.llvm.org/D10859
llvm-svn: 242617
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 242581
|
|
|
|
| |
llvm-svn: 242541
|
|
|
|
|
|
| |
makes the tests work on VS. Thanks to STL for the report
llvm-svn: 242454
|
|
|
|
| |
llvm-svn: 242421
|
|
|
|
|
|
| |
rather than value-initializing them. Fixes PR#24137
llvm-svn: 242377
|
|
|
|
| |
llvm-svn: 242375
|
|
|
|
| |
llvm-svn: 242197
|
|
|
|
| |
llvm-svn: 242195
|
|
|
|
| |
llvm-svn: 242189
|
|
|
|
|
|
| |
Add _LIBCPP_CONSTEXPR to the implementation of __gcc_atomic_t.
llvm-svn: 242172
|
|
|
|
|
|
| |
noexcept in C++1z
llvm-svn: 242148
|
|
|
|
|
|
| |
This patch deals with swapping containers, and implements a more strict noexcept specification (a conforming extension) than the standard mandates.
llvm-svn: 242056
|
|
|
|
|
|
|
| |
Implemented LWG2420 bits for bind<void>
Review: http://reviews.llvm.org/D10997
llvm-svn: 241967
|
|
|
|
| |
llvm-svn: 241939
|
|
|
|
| |
llvm-svn: 241757
|
|
|
|
| |
llvm-svn: 241555
|
|
|
|
|
|
| |
http://reviews.llvm.org/D10669
llvm-svn: 241539
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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
|
|
|
|
| |
llvm-svn: 241491
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
is_always_equal. Fixed this, and added a test for it.
llvm-svn: 241190
|
|
|
|
|
|
| |
requires any changes to the library.
llvm-svn: 241111
|
|
|
|
|
|
| |
packaged_task when I committed r241068. Thanks for the catch.
llvm-svn: 241095
|
|
|
|
| |
llvm-svn: 241092
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
should neither be constrained nor explicit'
llvm-svn: 241068
|
|
|
|
| |
llvm-svn: 241067
|
|
|
|
|
|
| |
changes required.
llvm-svn: 241064
|
|
|
|
|
|
| |
changes required.
llvm-svn: 241013
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 240456
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 240286
|
|
|
|
| |
llvm-svn: 240163
|
|
|
|
| |
llvm-svn: 240139
|
|
|
|
| |
llvm-svn: 240136
|
|
|
|
| |
llvm-svn: 239974
|