1 // RUN: %clang_cc1 -verify %s -pedantic-errors 2 // RUN: %clang_cc1 -verify %s -pedantic-errors -DINLINE 3 // RUN: %clang_cc1 -verify %s -pedantic-errors -DSTATIC 4 // RUN: %clang_cc1 -verify %s -pedantic-errors -std=c++11 -DCONSTEXPR 5 // RUN: %clang_cc1 -verify %s -std=c++11 -DDELETED 6 7 #if INLINE 8 inline // expected-error {{'main' is not allowed to be declared inline}} 9 #elif STATIC 10 static // expected-error {{'main' is not allowed to be declared static}} 11 #elif CONSTEXPR 12 constexpr // expected-error {{'main' is not allowed to be declared constexpr}} 13 #endif 14 int main(int argc, char **argv) 15 #if DELETED 16 = delete; // expected-error {{'main' is not allowed to be deleted}} 17 #else 18 { 19 int (*pmain)(int, char**) = &main; // expected-error {{ISO C++ does not allow 'main' to be used by a program}} 20 21 if (argc) 22 main(0, 0); // expected-error {{ISO C++ does not allow 'main' to be used by a program}} 23 } 24 #endif 25