From 02dee0a46a390ad3bbad16672bd44c62628ea1ce Mon Sep 17 00:00:00 2001 From: John McCall Date: Sat, 25 Jul 2009 04:36:53 +0000 Subject: Semantic checking for main(). Fix some invalid main() methods in the test suite that were nicely exposed by the new checks. llvm-svn: 77047 --- clang/test/CXX/basic/basic.start/basic.start.main/p2a.cpp | 8 ++++++++ clang/test/CXX/basic/basic.start/basic.start.main/p2b.cpp | 8 ++++++++ clang/test/CXX/basic/basic.start/basic.start.main/p2c.cpp | 4 ++++ clang/test/CXX/basic/basic.start/basic.start.main/p2d.cpp | 4 ++++ clang/test/CXX/basic/basic.start/basic.start.main/p2e.cpp | 4 ++++ clang/test/CXX/basic/basic.start/basic.start.main/p2f.cpp | 7 +++++++ clang/test/CXX/basic/basic.start/basic.start.main/p2g.cpp | 4 ++++ 7 files changed, 39 insertions(+) create mode 100644 clang/test/CXX/basic/basic.start/basic.start.main/p2a.cpp create mode 100644 clang/test/CXX/basic/basic.start/basic.start.main/p2b.cpp create mode 100644 clang/test/CXX/basic/basic.start/basic.start.main/p2c.cpp create mode 100644 clang/test/CXX/basic/basic.start/basic.start.main/p2d.cpp create mode 100644 clang/test/CXX/basic/basic.start/basic.start.main/p2e.cpp create mode 100644 clang/test/CXX/basic/basic.start/basic.start.main/p2f.cpp create mode 100644 clang/test/CXX/basic/basic.start/basic.start.main/p2g.cpp (limited to 'clang/test/CXX/basic/basic.start/basic.start.main') diff --git a/clang/test/CXX/basic/basic.start/basic.start.main/p2a.cpp b/clang/test/CXX/basic/basic.start/basic.start.main/p2a.cpp new file mode 100644 index 00000000000..a6a75879894 --- /dev/null +++ b/clang/test/CXX/basic/basic.start/basic.start.main/p2a.cpp @@ -0,0 +1,8 @@ +// RUN: clang-cc -fsyntax-only -verify %s + +typedef int Int; +typedef char Char; +typedef Char* Carp; + +Int main(Int argc, Carp argv[]) { +} diff --git a/clang/test/CXX/basic/basic.start/basic.start.main/p2b.cpp b/clang/test/CXX/basic/basic.start/basic.start.main/p2b.cpp new file mode 100644 index 00000000000..caecf606088 --- /dev/null +++ b/clang/test/CXX/basic/basic.start/basic.start.main/p2b.cpp @@ -0,0 +1,8 @@ +// RUN: clang-cc -fsyntax-only -verify %s + +typedef int Int; +typedef char Char; +typedef Char* Carp; + +Int main(Int argc, Carp argv[], Char *env[]) { +} diff --git a/clang/test/CXX/basic/basic.start/basic.start.main/p2c.cpp b/clang/test/CXX/basic/basic.start/basic.start.main/p2c.cpp new file mode 100644 index 00000000000..8587d8cec79 --- /dev/null +++ b/clang/test/CXX/basic/basic.start/basic.start.main/p2c.cpp @@ -0,0 +1,4 @@ +// RUN: clang-cc -fsyntax-only -verify %s + +int main() { +} diff --git a/clang/test/CXX/basic/basic.start/basic.start.main/p2d.cpp b/clang/test/CXX/basic/basic.start/basic.start.main/p2d.cpp new file mode 100644 index 00000000000..777b5ceb743 --- /dev/null +++ b/clang/test/CXX/basic/basic.start/basic.start.main/p2d.cpp @@ -0,0 +1,4 @@ +// RUN: clang-cc -fsyntax-only -verify %s + +static int main() { // expected-error {{'main' is not allowed to be declared static}} +} diff --git a/clang/test/CXX/basic/basic.start/basic.start.main/p2e.cpp b/clang/test/CXX/basic/basic.start/basic.start.main/p2e.cpp new file mode 100644 index 00000000000..087cf77476a --- /dev/null +++ b/clang/test/CXX/basic/basic.start/basic.start.main/p2e.cpp @@ -0,0 +1,4 @@ +// RUN: clang-cc -fsyntax-only -verify %s + +inline int main() { // expected-error {{'main' is not allowed to be declared inline}} +} diff --git a/clang/test/CXX/basic/basic.start/basic.start.main/p2f.cpp b/clang/test/CXX/basic/basic.start/basic.start.main/p2f.cpp new file mode 100644 index 00000000000..b7845b13e9a --- /dev/null +++ b/clang/test/CXX/basic/basic.start/basic.start.main/p2f.cpp @@ -0,0 +1,7 @@ +// RUN: clang-cc -fsyntax-only -verify %s + +void // expected-error {{error: 'main' must return 'int'}} +main( // expected-error {{error: first argument of 'main' should be of type 'int'}} + float a +) { +} diff --git a/clang/test/CXX/basic/basic.start/basic.start.main/p2g.cpp b/clang/test/CXX/basic/basic.start/basic.start.main/p2g.cpp new file mode 100644 index 00000000000..4cedcdb9165 --- /dev/null +++ b/clang/test/CXX/basic/basic.start/basic.start.main/p2g.cpp @@ -0,0 +1,4 @@ +// RUN: clang-cc -fsyntax-only -verify %s + +int main(int argc, const char* const* argv) { +} -- cgit v1.2.1