Author: Arthur O'Dwyer Date: 2020-12-01T22:13:39-05:00 New Revision: c3e15b3c1c1cb52c83686812a7640e1dd809d695
URL: https://github.com/llvm/llvm-project/commit/c3e15b3c1c1cb52c83686812a7640e1dd809d695 DIFF: https://github.com/llvm/llvm-project/commit/c3e15b3c1c1cb52c83686812a7640e1dd809d695.diff LOG: [libc++] Support simply `std::iterator_traits` in the iterator_traits test. This follows on from D56698. I copied this fix (simpler than D92142's) from commit 66e6e37447b183b1c8bac9330a4658530d2d49e6. Differential Revision: https://reviews.llvm.org/D92239 Added: Modified: libcxx/test/std/iterators/iterator.primitives/iterator.traits/empty.fail.cpp Removed: ################################################################################ diff --git a/libcxx/test/std/iterators/iterator.primitives/iterator.traits/empty.fail.cpp b/libcxx/test/std/iterators/iterator.primitives/iterator.traits/empty.fail.cpp index 2c75fc8aebf9..5ab7f05c5392 100644 --- a/libcxx/test/std/iterators/iterator.primitives/iterator.traits/empty.fail.cpp +++ b/libcxx/test/std/iterators/iterator.primitives/iterator.traits/empty.fail.cpp @@ -67,56 +67,56 @@ int main(int, char**) { { typedef std::iterator_traits<NotAnIteratorEmpty> T; - typedef T:: diff erence_type DT; // expected-error-re {{no type named ' diff erence_type' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::value_type VT; // expected-error-re {{no type named 'value_type' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::pointer PT; // expected-error-re {{no type named 'pointer' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::reference RT; // expected-error-re {{no type named 'reference' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::iterator_category CT; // expected-error-re {{no type named 'iterator_category' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} + typedef T:: diff erence_type DT; // expected-error-re {{no type named ' diff erence_type' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::value_type VT; // expected-error-re {{no type named 'value_type' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::pointer PT; // expected-error-re {{no type named 'pointer' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::reference RT; // expected-error-re {{no type named 'reference' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::iterator_category CT; // expected-error-re {{no type named 'iterator_category' in 'std:{{.*}}:iterator_traits<{{.+}}>}} } { typedef std::iterator_traits<NotAnIteratorNoDifference> T; - typedef T:: diff erence_type DT; // expected-error-re {{no type named ' diff erence_type' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::value_type VT; // expected-error-re {{no type named 'value_type' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::pointer PT; // expected-error-re {{no type named 'pointer' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::reference RT; // expected-error-re {{no type named 'reference' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::iterator_category CT; // expected-error-re {{no type named 'iterator_category' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} + typedef T:: diff erence_type DT; // expected-error-re {{no type named ' diff erence_type' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::value_type VT; // expected-error-re {{no type named 'value_type' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::pointer PT; // expected-error-re {{no type named 'pointer' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::reference RT; // expected-error-re {{no type named 'reference' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::iterator_category CT; // expected-error-re {{no type named 'iterator_category' in 'std:{{.*}}:iterator_traits<{{.+}}>}} } { typedef std::iterator_traits<NotAnIteratorNoValue> T; - typedef T:: diff erence_type DT; // expected-error-re {{no type named ' diff erence_type' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::value_type VT; // expected-error-re {{no type named 'value_type' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::pointer PT; // expected-error-re {{no type named 'pointer' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::reference RT; // expected-error-re {{no type named 'reference' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::iterator_category CT; // expected-error-re {{no type named 'iterator_category' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} + typedef T:: diff erence_type DT; // expected-error-re {{no type named ' diff erence_type' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::value_type VT; // expected-error-re {{no type named 'value_type' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::pointer PT; // expected-error-re {{no type named 'pointer' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::reference RT; // expected-error-re {{no type named 'reference' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::iterator_category CT; // expected-error-re {{no type named 'iterator_category' in 'std:{{.*}}:iterator_traits<{{.+}}>}} } { typedef std::iterator_traits<NotAnIteratorNoPointer> T; - typedef T:: diff erence_type DT; // expected-error-re {{no type named ' diff erence_type' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::value_type VT; // expected-error-re {{no type named 'value_type' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::pointer PT; // expected-error-re {{no type named 'pointer' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::reference RT; // expected-error-re {{no type named 'reference' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::iterator_category CT; // expected-error-re {{no type named 'iterator_category' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} + typedef T:: diff erence_type DT; // expected-error-re {{no type named ' diff erence_type' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::value_type VT; // expected-error-re {{no type named 'value_type' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::pointer PT; // expected-error-re {{no type named 'pointer' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::reference RT; // expected-error-re {{no type named 'reference' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::iterator_category CT; // expected-error-re {{no type named 'iterator_category' in 'std:{{.*}}:iterator_traits<{{.+}}>}} } { typedef std::iterator_traits<NotAnIteratorNoReference> T; - typedef T:: diff erence_type DT; // expected-error-re {{no type named ' diff erence_type' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::value_type VT; // expected-error-re {{no type named 'value_type' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::pointer PT; // expected-error-re {{no type named 'pointer' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::reference RT; // expected-error-re {{no type named 'reference' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::iterator_category CT; // expected-error-re {{no type named 'iterator_category' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} + typedef T:: diff erence_type DT; // expected-error-re {{no type named ' diff erence_type' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::value_type VT; // expected-error-re {{no type named 'value_type' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::pointer PT; // expected-error-re {{no type named 'pointer' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::reference RT; // expected-error-re {{no type named 'reference' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::iterator_category CT; // expected-error-re {{no type named 'iterator_category' in 'std:{{.*}}:iterator_traits<{{.+}}>}} } { typedef std::iterator_traits<NotAnIteratorNoCategory> T; - typedef T:: diff erence_type DT; // expected-error-re {{no type named ' diff erence_type' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::value_type VT; // expected-error-re {{no type named 'value_type' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::pointer PT; // expected-error-re {{no type named 'pointer' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::reference RT; // expected-error-re {{no type named 'reference' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} - typedef T::iterator_category CT; // expected-error-re {{no type named 'iterator_category' in 'std{{(::.+)?}}::iterator_traits<{{.+}}>}} + typedef T:: diff erence_type DT; // expected-error-re {{no type named ' diff erence_type' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::value_type VT; // expected-error-re {{no type named 'value_type' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::pointer PT; // expected-error-re {{no type named 'pointer' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::reference RT; // expected-error-re {{no type named 'reference' in 'std:{{.*}}:iterator_traits<{{.+}}>}} + typedef T::iterator_category CT; // expected-error-re {{no type named 'iterator_category' in 'std:{{.*}}:iterator_traits<{{.+}}>}} } return 0; _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits