1// RUN: %clang_cc1 -fsyntax-only -verify %s 2 3class Two { 4private: 5 int i, j, k; 6public: 7 static int count; 8 Two( int ii, int jj ) { i = ii; j = jj; k = count++; }; 9 Two( void ) { i = 0; j = 0; k = count++; }; 10 int eye( void ) { return i; }; 11 int jay( void ) { return j; }; 12 int kay( void ) { return k; }; 13}; 14 15extern Two foo; 16extern Two goo; 17extern Two coo[]; 18extern Two koo[]; 19 20Two foo __attribute__((init_priority(101))) ( 5, 6 ); 21 22Two goo __attribute__((init_priority(2,3))) ( 5, 6 ); // expected-error {{'init_priority' attribute takes one argument}} 23 24Two coo[2] __attribute__((init_priority(3))); // expected-error {{init_priority attribute requires integer constant between 101 and 65535 inclusive}} 25 26Two koo[4] __attribute__((init_priority(1.13))); // expected-error {{'init_priority' attribute requires an integer constant}} 27 28Two func() __attribute__((init_priority(1001))); // expected-error {{'init_priority' attribute only applies to variables}} 29 30int i __attribute__((init_priority(1001))); // expected-error {{can only use 'init_priority' attribute on file-scope definitions of objects of class type}} 31 32int main() { 33 Two foo __attribute__((init_priority(1001))); // expected-error {{can only use 'init_priority' attribute on file-scope definitions of objects of class type}} 34} 35 36