25 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only -verify %s 2struct InClassInitializerOnly {3 static const int i = 0;4};5int const InClassInitializerOnly::i;6 7struct OutOfClassInitializerOnly {8 static const int i;9};10int const OutOfClassInitializerOnly::i = 0;11 12struct InClassInitializerAndOutOfClassCopyInitializer {13 static const int i = 0; // expected-note{{previous initialization is here}}14};15int const InClassInitializerAndOutOfClassCopyInitializer::i = 0; // expected-error{{static data member 'i' already has an initializer}}16 17struct InClassInitializerAndOutOfClassDirectInitializer {18 static const int i = 0; // expected-note{{previous initialization is here}}19};20int const InClassInitializerAndOutOfClassDirectInitializer::i(0); // expected-error{{static data member 'i' already has an initializer}}21 22 23int main() { }24 25