// RUN: %clang_cc1 -fsyntax-only %s -verify // RUN: %clang_cc1 -fsyntax-only -std=c++98 %s -verify // RUN: %clang_cc1 -fsyntax-only -std=c++11 %s -verify // <rdar://problem/11286701> namespace std { template<typename T, typename U> class pair; } @interface NSObject @end @interface Test : NSObject @end @implementation Test struct EvilStruct { } // expected-error {{expected ';' after struct}} typedef std::pair<int, int> IntegerPair; template<typename...Ts> void f(Ts); // expected-error {{unexpanded}} #if __cplusplus <= 199711L // C++03 or earlier modes // expected-warning@-2 {{variadic templates are a C++11 extension}} #endif @end