p4.cpp revision 651f13cea278ec967336033dd032faef0e9fc2ec
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