Eric Fiselier
6e5869a3fb
Update notes for LWG 2678
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284319 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-16 00:49:33 +00:00
Eric Fiselier
1e1bbc7437
Implement LWG 2712 and update other issues status
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284318 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-16 00:47:59 +00:00
Eric Fiselier
451f34db16
Implement LWG 2681 and 2682
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284316 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-16 00:29:22 +00:00
Eric Fiselier
8bbf53fc93
Mark LWG 2680 as done
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284315 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-15 23:12:30 +00:00
Eric Fiselier
25dc5bdb88
Implement LWG 2672.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284314 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-15 23:05:04 +00:00
Eric Fiselier
620a9a5ecf
Implement modified LWG 2665
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284313 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-15 22:37:42 +00:00
Eric Fiselier
4ca4e5038b
Implement LWG2664 and update its status
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284310 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-15 21:29:44 +00:00
Eric Fiselier
9f39437989
Update the status of issues
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284309 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-15 20:58:51 +00:00
Eric Fiselier
9ffd1d56b4
Prevent new/delete replacement tests from being optimized away.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284289 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 22:47:08 +00:00
Eric Fiselier
e630058e90
Clarify XFAIL comments
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284282 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 21:30:35 +00:00
Asiri Rathnayake
4f2c83f055
[libcxx] Improve the gcc workaround for the missing __has_include macro.
...
NFC.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284237 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 13:56:58 +00:00
Asiri Rathnayake
7250d3341e
[libcxx] Do not declare the thread api when __external_threading is present
...
This fixes a small omission where even when __external_threading is provided,
we attempt to declare a pthread based threading API. Instead, we should leave
out everything for the __external_threading header to take care of.
The __threading_support header provides a proof-of-concept externally threaded
libc++ variant when _LIBCPP_HAS_THREAD_API_EXTERNAL is defined. But if the
__external_threading header is present, we should exclude all of that POC stuff.
Reviewers: EricWF
Differential revision: https://reviews.llvm.org/D25468
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284232 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 13:00:07 +00:00
Eric Fiselier
29026ad78a
Disable Modules when building the libc++ sources.
...
Libc++ will not build with modules enabled. In order to support an in-tree
libc++ when LLVM_ENABLE_MODULES is ON we need to explicitly disable the feature.
Unfortunately the libc++ sources are fundamentally non-modular. For example
iostream.cpp defines cout, cerr, wout, ... as char buffers instead of streams
in order to better control initialization/destruction. Not shockingly Clang
diagnoses this. Many other sources files define _LIBCPP_BUILDING_FOO macros to
provide definitions for normally inline symbols (See bind.cpp). Finally The
current module.map prohibits using <strstream> in C++11 so we can't build
strstream.cpp.
I think I can fix most of these issues but until then just disable modules.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284230 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 12:56:52 +00:00
Eric Fiselier
78c020bd78
Work around Clang driver segfault when --coverage is used with -c and /dev/null
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284225 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 10:30:33 +00:00
Eric Fiselier
472c8c6612
Remove dead CMake target
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284216 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 09:06:38 +00:00
Eric Fiselier
f172df1f43
XFAIL aligned allocation tests for older Clang versions
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284214 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 08:47:09 +00:00
Eric Fiselier
34c6b805cf
XFAIL aligned allocation test failures with UBSAN
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284210 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 07:49:15 +00:00
Eric Fiselier
48aa2e14a2
Add void_t and invoke feature test macros
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284209 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 07:19:52 +00:00
Eric Fiselier
bf702696d4
Update OS X ABI list
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284208 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 06:49:30 +00:00
Eric Fiselier
06e44a7ea8
Correct ABI changelog revision number
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284207 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 06:47:37 +00:00
Eric Fiselier
9acbffa370
Implement P0035R4 -- Add C++17 aligned allocation functions
...
Summary:
This patch implements the library side of P0035R4. The implementation is thanks to @rsmith.
In addition to the C++17 implementation, the library implementation can be explicitly turned on using `-faligned-allocation` in all dialects.
Reviewers: mclow.lists, rsmith
Subscribers: rsmith, cfe-commits
Differential Revision: https://reviews.llvm.org/D25591
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284206 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 06:46:30 +00:00
Eric Fiselier
4289b6ea05
Cleanup LIT testing doc
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284205 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 06:15:27 +00:00
Eric Fiselier
9dbc053b47
Remove two ABI symbols added after the 3.9 release
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284200 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 05:29:46 +00:00
Eric Fiselier
8efec5eeb6
Add ABI changelog entry for <any>
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284199 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 05:10:06 +00:00
Eric Fiselier
852b521720
Sort ABI lists by name so that changes don't generate big diffs
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284198 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 05:04:00 +00:00
Eric Fiselier
7fa27fcbaf
Revert r284193 - it is not correct on OS X
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284194 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 04:21:24 +00:00
Eric Fiselier
c3d49c930b
Re-export two previously exported std::string functions.
...
These functions were removed from the dylib sometime between the 3.9 release
and now. This patch manually exports them to re-gain ABI compatibility.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284193 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 04:14:24 +00:00
Eric Fiselier
977cd9f231
Add ABI list for 3.9 linux
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284192 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 04:06:19 +00:00
Eric Fiselier
959ed21455
Add 3.9 symbol list for OS X
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284189 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 02:55:43 +00:00
Eric Fiselier
7d1452eb46
Fix CMake configuration error and add ABI lists for OS X.
...
The primary reason for this patch is to add the OS X ABI lists for 3.9 and
ToT.
However while working on that I discovered that we incorrectly
exported the libc++abi symbols. Previously we had chosen the wrong CMake
configuration path and that caused us to re-export the c++abi binary instead
of using the symbol lists.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284188 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 02:55:19 +00:00
Eric Fiselier
d6a66c6361
Add OS X abi list
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284186 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 02:32:54 +00:00
Eric Fiselier
b17cc02df2
Add ABI Changelog and current symbol list for Linux
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284185 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 02:27:44 +00:00
Sebastian Pop
3d12b5c6f3
remove warnings from google-benchmarks in libcxx
...
Differential Revision: https://reviews.llvm.org/D25522
Patch written by Aditya Kumar.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284179 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 00:07:57 +00:00
Marshall Clow
426eb5dd44
Update the status of three papers that do not require library changes
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284165 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-13 21:15:09 +00:00
Marshall Clow
e29fb4c411
Implement http://wg21.link/p0302r1 : Removing Allocator Support in std::function. These functions never worked, and as far as I know, no one ever called them.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284164 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-13 21:06:03 +00:00
Marshall Clow
698cce6e0e
Add missing include in test; NFC. Thanks to Jonathan Wakely for the report.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284120 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-13 13:21:38 +00:00
Eric Fiselier
a469f83b26
Revert r282345 - Use __attribute__((internal_linkage)) when available.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284101 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-13 04:07:58 +00:00
Dimitry Andric
ecb5332d41
Disable trivial pair copy/move tests when unsupported
...
Summary:
On FreeBSD, for ABI compatibility reasons, the pair trivial copy
constructor is disabled, using the aptly-named
`_LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR` define.
Disable the related tests when this define is on, so they don't fail
unexpectedly.
Reviewers: emaste, rsmith, theraven, EricWF
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D25449
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284047 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-12 20:26:47 +00:00
Marshall Clow
b6361287ff
Mark ostream_iterator's constructors as noexcept.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284021 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-12 16:13:48 +00:00
Shoaib Meenai
d588d2dc20
[libc++] Correct explanation of _LIBCPP_NEW_DELETE_VIS
...
The behavior of this macro actually needs to apply universally on
Windows and not just when using the Microsoft CRT. Update the macro
definition and documentation accordingly.
Differential Revision: https://reviews.llvm.org/D25145
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284016 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-12 13:48:14 +00:00
Eric Fiselier
c69d8ca589
Correctly grant rebound limited_allocators friendship.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284006 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-12 11:35:37 +00:00
Eric Fiselier
9bc0638a92
Remove incorrect XFAILS
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284005 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-12 11:29:18 +00:00
Eric Fiselier
de8e3d3a4f
Unbreak C++03 build
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284004 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-12 11:20:27 +00:00
Eric Fiselier
a7b77ebd18
Remove usages of _LIBCPP_CONSTEXPR under test/std
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284002 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-12 10:28:09 +00:00
Eric Fiselier
4775578c61
Remove usages of _ALIGNAS_TYPE
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283999 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-12 10:19:48 +00:00
Eric Fiselier
76f406d252
support --param=std=gnu++XX
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283997 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-12 09:53:35 +00:00
Eric Fiselier
6f6a9607c2
Fix more C++11 constexpr issues in the tests
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283996 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-12 09:48:44 +00:00
Eric Fiselier
159b45f505
Fix nasty_containers.hpp for other stdlibs
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283994 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-12 09:31:26 +00:00
Eric Fiselier
bf148f02bc
Fix use of C++14 constexpr in C++11
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283993 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-12 09:20:58 +00:00
Eric Fiselier
ae96260ceb
Remove use of _VSTD::__invoke in the not_fn tests
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283991 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-12 09:06:12 +00:00