summaryrefslogtreecommitdiffstats
path: root/clang/test/CXX/basic/basic.start/basic.start.main
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2009-07-25 04:36:53 +0000
committerJohn McCall <rjmccall@apple.com>2009-07-25 04:36:53 +0000
commit02dee0a46a390ad3bbad16672bd44c62628ea1ce (patch)
treec4a4f29c13ebdffcd5100f0611a2bc8d7559ee6d /clang/test/CXX/basic/basic.start/basic.start.main
parent732d15b9b9d19b1de9b80da80880487f39316bae (diff)
downloadbcm5719-llvm-02dee0a46a390ad3bbad16672bd44c62628ea1ce.tar.gz
bcm5719-llvm-02dee0a46a390ad3bbad16672bd44c62628ea1ce.zip
Semantic checking for main().
Fix some invalid main() methods in the test suite that were nicely exposed by the new checks. llvm-svn: 77047
Diffstat (limited to 'clang/test/CXX/basic/basic.start/basic.start.main')
-rw-r--r--clang/test/CXX/basic/basic.start/basic.start.main/p2a.cpp8
-rw-r--r--clang/test/CXX/basic/basic.start/basic.start.main/p2b.cpp8
-rw-r--r--clang/test/CXX/basic/basic.start/basic.start.main/p2c.cpp4
-rw-r--r--clang/test/CXX/basic/basic.start/basic.start.main/p2d.cpp4
-rw-r--r--clang/test/CXX/basic/basic.start/basic.start.main/p2e.cpp4
-rw-r--r--clang/test/CXX/basic/basic.start/basic.start.main/p2f.cpp7
-rw-r--r--clang/test/CXX/basic/basic.start/basic.start.main/p2g.cpp4
7 files changed, 39 insertions, 0 deletions
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) {
+}
OpenPOWER on IntegriCloud