brintos

brintos / llvm-project-archived public Read only

0
0
Text · 698 B · 669bdac Raw
23 lines · cpp
1// RUN: %clang_cc1 -std=c++11 -x c++-header %s -emit-pch -o %t.pch2// RUN: %clang_cc1 -std=c++11 -x c++ /dev/null -include-pch %t.pch3 4// RUN: %clang_cc1 -std=c++11 -x c++-header %s -emit-pch -fpch-instantiate-templates -o %t.pch5// RUN: %clang_cc1 -std=c++11 -x c++ /dev/null -include-pch %t.pch6 7class move_only { move_only(const move_only&) = delete; move_only(move_only&&); };8struct sb {9  move_only il;10  sb();11  sb(sb &&);12};13 14template<typename T> T make();15template<typename T> void doit(decltype(T(make<const T&>()))*) { T(make<const T&>()); }16template<typename T> void doit(...) { T(make<T&&>()); }17template<typename T> void later() { doit<T>(0); }18 19void fn1() {20  sb x;21  later<sb>();22}23