34 lines · c
1// RUN: %clang_cc1 -fsyntax-only -verify %s2// RUN: not %clang_cc1 -fsyntax-only -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s3// RUN: not %clang_cc1 -fsyntax-only -fdiagnostics-parseable-fixits -x c++ %s 2>&1 | FileCheck %s4 5// expected-note@+1 2{{previous definition is here}}6int main(void) {7 return 0;8}9 10// expected-error@+2 {{static declaration of 'main' follows non-static declaration}}11// expected-warning@+1 {{'main' should not be declared static}}12static int main(void) {13// CHECK: fix-it:"{{.*}}":{[[@LINE-1]]:1-[[@LINE-1]]:8}:""14 return 0;15}16 17// expected-error@+2 {{redefinition of 'main'}}18// expected-error@+1 {{'main' is not allowed to be declared inline}}19inline int main(void) {20// CHECK: fix-it:"{{.*}}":{[[@LINE-1]]:1-[[@LINE-1]]:8}:""21 return 0;22}23 24// expected-warning@+5 {{function 'main' declared 'noreturn' should not return}}25// expected-warning@+2 {{'main' is not allowed to be declared _Noreturn}}26// expected-note@+1 {{remove '_Noreturn'}}27_Noreturn int main(void) {28// CHECK: fix-it:"{{.*}}":{[[@LINE-1]]:1-[[@LINE-1]]:11}:""29 return 0;30}31 32// expected-warning@+1 {{'main' is not allowed to be declared variadic}}33int main(int argc, char**argv, ...) { return 0; }34