blob: 85d18c6b5fac23d5bb29c27affd6ac1b3b941524 [file] [log] [blame]
Douglas Gregorf0f83692010-08-24 05:27:49 +00001// 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 {
Hans Wennborg84fe12d2013-11-21 03:17:44 +000013 static const int i = 0; // expected-note{{previous initialization is here}}
Douglas Gregorf0f83692010-08-24 05:27:49 +000014};
Hans Wennborg84fe12d2013-11-21 03:17:44 +000015int const InClassInitializerAndOutOfClassCopyInitializer::i = 0; // expected-error{{static data member 'i' already has an initializer}}
Douglas Gregorf0f83692010-08-24 05:27:49 +000016
17struct InClassInitializerAndOutOfClassDirectInitializer {
Hans Wennborg84fe12d2013-11-21 03:17:44 +000018 static const int i = 0; // expected-note{{previous initialization is here}}
Douglas Gregorf0f83692010-08-24 05:27:49 +000019};
Hans Wennborg84fe12d2013-11-21 03:17:44 +000020int const InClassInitializerAndOutOfClassDirectInitializer::i(0); // expected-error{{static data member 'i' already has an initializer}}
Douglas Gregorf0f83692010-08-24 05:27:49 +000021
22
23int main() { }
24