From: Richard Smith Date: Tue, 29 Jan 2013 02:42:09 +0000 (+0000) Subject: Fold tests for C++ 'main' into a single file. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2f83694302798936fe1f7768a91063350d1b79e5;p=clang Fold tests for C++ 'main' into a single file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173756 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CXX/basic/basic.start/basic.start.main/p2.cpp b/test/CXX/basic/basic.start/basic.start.main/p2.cpp new file mode 100644 index 0000000000..38536e646f --- /dev/null +++ b/test/CXX/basic/basic.start/basic.start.main/p2.cpp @@ -0,0 +1,78 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s -DTEST1 +// RUN: %clang_cc1 -fsyntax-only -verify %s -DTEST2 +// RUN: %clang_cc1 -fsyntax-only -verify %s -DTEST3 +// RUN: %clang_cc1 -fsyntax-only -verify %s -DTEST4 +// RUN: %clang_cc1 -fsyntax-only -verify %s -DTEST5 +// RUN: %clang_cc1 -fsyntax-only -verify %s -DTEST6 +// RUN: %clang_cc1 -fsyntax-only -verify %s -DTEST7 +// RUN: %clang_cc1 -fsyntax-only -verify %s -DTEST8 + +// RUN: cp %s %t +// RUN: %clang_cc1 -x c++ %s -std=c++11 -fsyntax-only -verify -DTEST9 +// RUN: not %clang_cc1 -x c++ %t -std=c++11 -fixit -DTEST9 +// RUN: %clang_cc1 -x c++ %t -std=c++11 -fsyntax-only -DTEST9 + +#if TEST1 + +// expected-no-diagnostics +typedef int Int; +typedef char Char; +typedef Char* Carp; + +Int main(Int argc, Carp argv[]) { +} + +#elif TEST2 + +// expected-no-diagnostics +typedef int Int; +typedef char Char; +typedef Char* Carp; + +Int main(Int argc, Carp argv[], Char *env[]) { +} + +#elif TEST3 + +// expected-no-diagnostics +int main() { +} + +#elif TEST4 + +static int main() { // expected-error {{'main' is not allowed to be declared static}} +} + +#elif TEST5 + +inline int main() { // expected-error {{'main' is not allowed to be declared inline}} +} + +#elif TEST6 + +void // expected-error {{'main' must return 'int'}} +main( // expected-error {{first parameter of 'main' (argument count) must be of type 'int'}} + float a +) { +} + +#elif TEST7 + +// expected-no-diagnostics +int main(int argc, const char* const* argv) { +} + +#elif TEST8 + +template +int main() { } // expected-error{{'main' cannot be a template}} + +#elif TEST9 + +constexpr int main() { } // expected-error{{'main' is not allowed to be declared constexpr}} + +#else + +#error Unknown test mode + +#endif diff --git a/test/CXX/basic/basic.start/basic.start.main/p2a.cpp b/test/CXX/basic/basic.start/basic.start.main/p2a.cpp deleted file mode 100644 index b27d492afc..0000000000 --- a/test/CXX/basic/basic.start/basic.start.main/p2a.cpp +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %clang_cc1 -fsyntax-only -verify %s -// expected-no-diagnostics - -typedef int Int; -typedef char Char; -typedef Char* Carp; - -Int main(Int argc, Carp argv[]) { -} diff --git a/test/CXX/basic/basic.start/basic.start.main/p2b.cpp b/test/CXX/basic/basic.start/basic.start.main/p2b.cpp deleted file mode 100644 index 65cd202710..0000000000 --- a/test/CXX/basic/basic.start/basic.start.main/p2b.cpp +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: %clang_cc1 -fsyntax-only -verify %s -// expected-no-diagnostics - -typedef int Int; -typedef char Char; -typedef Char* Carp; - -Int main(Int argc, Carp argv[], Char *env[]) { -} diff --git a/test/CXX/basic/basic.start/basic.start.main/p2c.cpp b/test/CXX/basic/basic.start/basic.start.main/p2c.cpp deleted file mode 100644 index 2b082ec604..0000000000 --- a/test/CXX/basic/basic.start/basic.start.main/p2c.cpp +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %clang_cc1 -fsyntax-only -verify %s -// expected-no-diagnostics - -int main() { -} diff --git a/test/CXX/basic/basic.start/basic.start.main/p2d.cpp b/test/CXX/basic/basic.start/basic.start.main/p2d.cpp deleted file mode 100644 index bcdbdb260a..0000000000 --- a/test/CXX/basic/basic.start/basic.start.main/p2d.cpp +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: %clang_cc1 -fsyntax-only -verify %s - -static int main() { // expected-error {{'main' is not allowed to be declared static}} -} diff --git a/test/CXX/basic/basic.start/basic.start.main/p2e.cpp b/test/CXX/basic/basic.start/basic.start.main/p2e.cpp deleted file mode 100644 index 954fdbdb64..0000000000 --- a/test/CXX/basic/basic.start/basic.start.main/p2e.cpp +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: %clang_cc1 -fsyntax-only -verify %s - -inline int main() { // expected-error {{'main' is not allowed to be declared inline}} -} diff --git a/test/CXX/basic/basic.start/basic.start.main/p2f.cpp b/test/CXX/basic/basic.start/basic.start.main/p2f.cpp deleted file mode 100644 index ea5a752a19..0000000000 --- a/test/CXX/basic/basic.start/basic.start.main/p2f.cpp +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %clang_cc1 -fsyntax-only -verify %s - -void // expected-error {{'main' must return 'int'}} -main( // expected-error {{first parameter of 'main' (argument count) must be of type 'int'}} - float a -) { -} diff --git a/test/CXX/basic/basic.start/basic.start.main/p2g.cpp b/test/CXX/basic/basic.start/basic.start.main/p2g.cpp deleted file mode 100644 index 45f643fd9a..0000000000 --- a/test/CXX/basic/basic.start/basic.start.main/p2g.cpp +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %clang_cc1 -fsyntax-only -verify %s -// expected-no-diagnostics - -int main(int argc, const char* const* argv) { -} diff --git a/test/CXX/basic/basic.start/basic.start.main/p2h.cpp b/test/CXX/basic/basic.start/basic.start.main/p2h.cpp deleted file mode 100644 index abf8faa968..0000000000 --- a/test/CXX/basic/basic.start/basic.start.main/p2h.cpp +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %clang_cc1 -fsyntax-only -verify %s - -template -int main() { } // expected-error{{'main' cannot be a template}} - diff --git a/test/CXX/basic/basic.start/basic.start.main/p2i.cpp b/test/CXX/basic/basic.start/basic.start.main/p2i.cpp deleted file mode 100644 index db8da3c4e7..0000000000 --- a/test/CXX/basic/basic.start/basic.start.main/p2i.cpp +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: cp %s %t -// RUN: %clang_cc1 -x c++ %s -std=c++11 -fsyntax-only -verify -// RUN: not %clang_cc1 -x c++ %t -std=c++11 -fixit -// RUN: %clang_cc1 -x c++ %t -std=c++11 -fsyntax-only - -constexpr int main() { } // expected-error{{'main' is not allowed to be declared constexpr}}