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
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
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
80e66ac1d3
Add <variant> tests but disable them for libc++
...
llvm-svn: 287728
2016-11-23 01:02:51 +00:00