diff options
Diffstat (limited to 'test/CXX/basic/basic.start')
10 files changed, 101 insertions, 54 deletions
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 0000000..a5386f1 --- /dev/null +++ b/test/CXX/basic/basic.start/basic.start.main/p2.cpp @@ -0,0 +1,101 @@ +// 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 + +// RUN: %clang_cc1 -fsyntax-only -verify %s -DTEST10 +// RUN: %clang_cc1 -fsyntax-only -verify %s -DTEST11 +// RUN: %clang_cc1 -fsyntax-only -verify %s -DTEST12 + +#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<typename T> +int main() { } // expected-error{{'main' cannot be a template}} + +#elif TEST9 + +constexpr int main() { } // expected-error{{'main' is not allowed to be declared constexpr}} + +#elif TEST10 + +// PR15100 +// expected-no-diagnostics +typedef char charT; +int main(int, const charT**) {} + +#elif TEST11 + +// expected-no-diagnostics +typedef char charT; +int main(int, charT* const *) {} + +#elif TEST12 + +// expected-no-diagnostics +typedef char charT; +int main(int, const charT* const *) {} + +#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 b27d492..0000000 --- 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 65cd202..0000000 --- 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 2b082ec..0000000 --- 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 bcdbdb2..0000000 --- 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 954fdbd..0000000 --- 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 ea5a752..0000000 --- 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 45f643f..0000000 --- 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 abf8faa..0000000 --- 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<typename T> -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 db8da3c..0000000 --- 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}} |