Eric Fiselier
3c35491f02
Update all bug URL's to point to https://bugs.llvm.org/ ...
...
llvm-svn: 295434
2017-02-17 08:37:03 +00:00
Eric Fiselier
a18ef6f1f9
Fix PR31916 - std::visit rejects visitors accepting lvalue arguments
...
A static assertion was misfiring since it checked
is_callable<Visitor, decltype(__variant_alt<T>.value)>. However
the decltype expression doesn't capture the value category as
required. This patch applies extra braces to decltype to fix
that.
llvm-svn: 294612
2017-02-09 19:01:22 +00:00
Eric Fiselier
f9127593a9
Implement P0513R0 - "Poisoning the Hash"
...
Summary:
Exactly what the title says.
This patch also adds a `std::hash<nullptr_t>` specialization in C++17, but it was not added by this paper and I can't find the actual paper that adds it.
See http://wg21.link/P0513R0 for more info.
If there are no comments in the next couple of days I'll commit this
Reviewers: mclow.lists, K-ballo, EricWF
Reviewed By: EricWF
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D28938
llvm-svn: 292684
2017-01-21 00:02:12 +00:00
Michael Park
f4770ea983
Added a workaround for a `-fdelayed-template-parsing` bug.
...
Summary:
There seems to be an additional bug in `-fdelayed-template-parsing`
similar to
http://llvm.org/viewvc/llvm-project?view=revision&revision=236063 .
This is a workaround for it for <variant> to compile with `clang-cl` on Windows.
Reviewers: EricWF
Differential Revision: https://reviews.llvm.org/D28734
llvm-svn: 292097
2017-01-16 08:14:25 +00:00
Eric Fiselier
117c4affa6
Mark test as UNSUPPORTED on Windows since it hangs forever
...
llvm-svn: 292012
2017-01-14 10:31:43 +00:00
Eric Fiselier
945d79ad8b
Add gcc-[56] clang-3.[678] to list of XFAILS for variant tests. Patch from Michael Park
...
llvm-svn: 291094
2017-01-05 09:06:30 +00:00
Eric Fiselier
9e17df95d4
Use C++11 static_assert in variant tests. Patch from Michael Park
...
llvm-svn: 291021
2017-01-04 22:43:08 +00:00
Eric Fiselier
277799a2e9
Add apple-clang-8 to list of XFAILS for some variant tests. Patch from Michael Park
...
llvm-svn: 290440
2016-12-23 19:07:54 +00:00
Casey Carter
6da13b6b79
std::get<0>([std::variant constant expression]) *is* noexcept.
...
Differential review: http://reviews.llvm.org/D27436
llvm-svn: 288760
2016-12-06 02:28:19 +00:00
Eric Fiselier
33f947057d
XFAIL variant tests for apple-clang
...
llvm-svn: 288559
2016-12-03 00:33:03 +00:00
Eric Fiselier
d7a50d1d6b
Work around Clang 3.8 bugs
...
llvm-svn: 288556
2016-12-03 00:13:33 +00:00
Eric Fiselier
918f32fc7b
Make variant's index part of the hash value
...
llvm-svn: 288554
2016-12-02 23:38:31 +00:00
Eric Fiselier
0d3d8de014
Implement C++17 <variant>. Patch from Michael Park!
...
This patch was reviewed as https://reviews.llvm.org/D23263 .
llvm-svn: 288547
2016-12-02 23:00:05 +00:00
Eric Fiselier
ffd5732170
Fix copy/paste errors in new variant tests
...
llvm-svn: 288538
2016-12-02 21:32:35 +00:00
Eric Fiselier
96be8df23e
Add tests for libc++'s constexpr variant copy/move extension
...
llvm-svn: 288536
2016-12-02 21:17:51 +00:00
Casey Carter
ca1c5e0fb6
Don't "LIBCPP_ONLY(stuff;)" at namespace scope.
...
Differential review: https://reviews.llvm.org/D27029
llvm-svn: 287732
2016-11-23 01:44:53 +00:00
Eric Fiselier
80e66ac1d3
Add <variant> tests but disable them for libc++
...
llvm-svn: 287728
2016-11-23 01:02:51 +00:00