mirror of
https://github.com/intel/llvm.git
synced 2026-02-06 06:31:50 +08:00
Handle std::get<T>(...) for std::tuple<>
llvm-svn: 274422
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user