// RUN: %clang_cc1 -fsyntax-only -verify -fexceptions -fcxx-exceptions %s
// RUN: %clang_cc1 -fsyntax-only -verify -fexceptions -fcxx-exceptions -std=c++11 %s
; // expected-error{{expected unqualified-id}}
; // expected-error{{explicit instantiation of typedef}}
int v0; // expected-note{{refers here}}
; // expected-error{{does not refer}}
;
T X0<T>::value; // expected-error{{no matching constructor}}
;
;
; // expected-note{{instantiation}}
;
; // expected-note{{in instantiation of member function 'X0<int>::f0' requested here}}
;
; // expected-error{{does not refer}}
; // expected-error{{does not refer}}
;
typedef int X1::*MemPtr;
; // expected-note{{requested here}}
;
; // expected-error{{not an instantiation}}
; // okay
; // expected-error{{ambiguous}}
void // expected-note {{candidate template ignored: could not match 'void ()' against 'void (float *)'}}
;
;
void // expected-note {{candidate template ignored: could not match 'void (int *)' against 'void (float *)'}}
;
; // expected-error{{does not refer}}
void ;
;
// PR5069
void
;
;
inline ; // expected-warning{{ignoring 'inline' keyword on explicit template instantiation}}
static ; // expected-warning{{ignoring 'static' keyword on explicit template instantiation}}
// Test that we do not crash.
;
// expected-note@+1 3-4 {{explicit instantiation refers here}}
void throw
// expected-error@+1 {{exception specification in explicit instantiation does not match instantiated one}}
;
// expected-error@+1 {{exception specification in explicit instantiation does not match instantiated one}}
;
// expected-error@+1 1 {{exception specification in explicit instantiation does not match instantiated one}}
;
;
// expected-error@+1 0-1 {{exception specification in explicit instantiation does not match instantiated one}}
;
;
;
LambdaInDefaultMemberInitInExplicitInstantiation<float> x;