1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 3 class Two { 4 private: 5 int i, j, k; 6 public: 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 15 extern Two foo; 16 extern Two goo; 17 extern Two coo[]; 18 extern Two koo[]; 19 20 Two foo __attribute__((init_priority(101))) ( 5, 6 ); 21 22 Two goo __attribute__((init_priority(2,3))) ( 5, 6 ); // expected-error {{'init_priority' attribute takes one argument}} 23 24 Two coo[2] __attribute__((init_priority(3))); // expected-error {{init_priority attribute requires integer constant between 101 and 65535 inclusive}} 25 26 Two koo[4] __attribute__((init_priority(1.13))); // expected-error {{'init_priority' attribute requires an integer constant}} 27 28 29 Two func() __attribute__((init_priority(1001))); // expected-error {{can only use 'init_priority' attribute on file-scope definitions of objects of class type}} 30 31 int i __attribute__((init_priority(1001))); // expected-error {{can only use 'init_priority' attribute on file-scope definitions of objects of class type}} 32 33 int main() { 34 Two foo __attribute__((init_priority(1001))); // expected-error {{can only use 'init_priority' attribute on file-scope definitions of objects of class type}} 35 } 36 37