f4a2713ac8
Change-Id: Ia40e9ffdf29b5dab2f122f673ff6802a58bc690f
30 lines
522 B
C++
30 lines
522 B
C++
// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
|
|
|
|
template<typename T, typename U>
|
|
struct pair {};
|
|
|
|
template<typename T, typename U>
|
|
struct map {
|
|
typedef pair<T,U> *iterator;
|
|
iterator begin();
|
|
iterator end();
|
|
};
|
|
|
|
template<typename T, typename U>
|
|
pair<T,U> &tie(T &, U &);
|
|
|
|
int foo(map<char*,int> &m) {
|
|
char *p;
|
|
int n;
|
|
|
|
for (pair<char*,int> x : m) {
|
|
(void)x;
|
|
}
|
|
|
|
for (tie(p, n) : m) { // expected-error {{for range declaration must declare a variable}}
|
|
(void)p;
|
|
(void)n;
|
|
}
|
|
|
|
return n;
|
|
}
|