// RUN: %clang_cc1 -fsyntax-only -verify -std=c++98 %s
// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
void ; // expected-note{{here}}
; // expected-error{{explicit instantiation of undefined function template}}
;
; // expected-error{{explicit instantiation of undefined member function}}
; // expected-error{{explicit instantiation of undefined static data member}}
void ; // expected-note{{previous template specialization is here}}
; // expected-warning{{explicit instantiation of 'f0<long>' that occurs after an explicit specialization has no effect}}
void ; // expected-note{{previous template specialization is here}}
; // expected-warning{{explicit instantiation of 'f1' that occurs after an explicit specialization has no effect}}
; // expected-note{{previous template specialization is here}}
; // expected-warning{{explicit instantiation of 'Inner' that occurs after an explicit specialization has no effect}}
long X0<long>::value; // expected-note{{previous template specialization is here}}
; // expected-warning{{explicit instantiation of 'value' that occurs after an explicit specialization has no effect}}
; // expected-note{{previous template specialization is here}}
; // expected-warning{{explicit instantiation of 'X0<double>' that occurs after an explicit specialization has no effect}}
// PR 6458