From 6336f296694bc233e899785973f58d4d608b39e8 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Fri, 8 Jul 2011 15:50:43 +0000 Subject: Teach CXXUnresolvedConstructExpr when it should be an lvalue/xvalue/rvalue, rather than just (incorrectly) assuming it's an lvalue. Fixes PR10285 / . llvm-svn: 134700 --- clang/test/SemaTemplate/unresolved-construct.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 clang/test/SemaTemplate/unresolved-construct.cpp (limited to 'clang/test/SemaTemplate/unresolved-construct.cpp') diff --git a/clang/test/SemaTemplate/unresolved-construct.cpp b/clang/test/SemaTemplate/unresolved-construct.cpp new file mode 100644 index 00000000000..0d1ba17a017 --- /dev/null +++ b/clang/test/SemaTemplate/unresolved-construct.cpp @@ -0,0 +1,19 @@ +// RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify %s +class A +{ +public: + A() {} + + template + explicit A(_F&& __f); + + A(A&&) {} + A& operator=(A&&) {return *this;} +}; + +template +void f(T t) +{ + A a; + a = f(t); +} -- cgit v1.2.3