1// RUN: %clang_cc1 -fsyntax-only %s -verify
2// RUN: %clang_cc1 -fsyntax-only -std=c++98 %s -verify
3// RUN: %clang_cc1 -fsyntax-only -std=c++11 %s -verify
4
5// <rdar://problem/11286701>
6namespace std {
7  template<typename T, typename U> class pair;
8}
9
10@interface NSObject
11@end
12
13@interface Test : NSObject
14@end
15
16@implementation Test
17
18struct EvilStruct {
19} // expected-error {{expected ';' after struct}}
20
21  typedef std::pair<int, int> IntegerPair;
22
23template<typename...Ts> void f(Ts); // expected-error {{unexpanded}}
24#if __cplusplus <= 199711L // C++03 or earlier modes
25// expected-warning@-2 {{variadic templates are a C++11 extension}}
26#endif
27@end
28