Author: ericwf
Date: Fri Jul  1 22:46:08 2016
New Revision: 274422

URL: http://llvm.org/viewvc/llvm-project?rev=274422&view=rev
Log:
Handle std::get<T>(...) for std::tuple<>

Modified:
    libcxx/trunk/include/tuple
    
libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.fail.cpp

Modified: libcxx/trunk/include/tuple
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/tuple?rev=274422&r1=274421&r2=274422&view=diff
==============================================================================
--- libcxx/trunk/include/tuple (original)
+++ libcxx/trunk/include/tuple Fri Jul  1 22:46:08 2016
@@ -1013,6 +1013,11 @@ struct __find_exactly_one_checked {
     static_assert(value != __ambiguous,"type occurs more than once in type 
list");
 };
 
+template <class _T1>
+struct __find_exactly_one_checked<_T1> {
+    static_assert(!is_same<_T1, _T1>::value, "type not in empty type list");
+};
+
 } // namespace __find_detail;
 
 template <typename _T1, typename... _Args>

Modified: 
libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.fail.cpp
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.fail.cpp?rev=274422&r1=274421&r2=274422&view=diff
==============================================================================
--- 
libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.fail.cpp
 (original)
+++ 
libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.fail.cpp
 Fri Jul  1 22:46:08 2016
@@ -20,6 +20,9 @@ void test_bad_index() {
     (void)std::get<long>(t1); // expected-note {{requested here}}
     (void)std::get<char>(t1); // expected-note {{requested here}}
         // expected-error@tuple:* 2 {{type occurs more than once}}
+    std::tuple<> t0;
+    (void)std::get<char*>(t0); // expected-node {{requested here}}
+        // expected-error@tuple:* 1 {{type not in empty type list}}
 }
 
 void test_bad_return_type() {


_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to