r173756 - Fold tests for C++ 'main' into a single file.

David Blaikie dblaikie at gmail.com
Mon Jan 28 18:48:27 PST 2013


On Mon, Jan 28, 2013 at 6:42 PM, Richard Smith
<richard-llvm at metafoo.co.uk> wrote:
> Author: rsmith
> Date: Mon Jan 28 20:42:09 2013
> New Revision: 173756
>
> URL: http://llvm.org/viewvc/llvm-project?rev=173756&view=rev
> Log:
> Fold tests for C++ 'main' into a single file.

What's the particular benefit of this if each test is still written as
a separate clang invocation? (usually we coalesce tests into a single
file to reduce process creation overhead)

>
> Added:
>     cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2.cpp
> Removed:
>     cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2a.cpp
>     cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2b.cpp
>     cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2c.cpp
>     cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2d.cpp
>     cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2e.cpp
>     cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2f.cpp
>     cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2g.cpp
>     cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2h.cpp
>     cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2i.cpp
>
> Added: cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2.cpp?rev=173756&view=auto
> ==============================================================================
> --- cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2.cpp (added)
> +++ cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2.cpp Mon Jan 28 20:42:09 2013
> @@ -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<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}}
> +
> +#else
> +
> +#error Unknown test mode
> +
> +#endif
>
> Removed: cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2a.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2a.cpp?rev=173755&view=auto
> ==============================================================================
> --- cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2a.cpp (original)
> +++ cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2a.cpp (removed)
> @@ -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[]) {
> -}
>
> Removed: cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2b.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2b.cpp?rev=173755&view=auto
> ==============================================================================
> --- cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2b.cpp (original)
> +++ cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2b.cpp (removed)
> @@ -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[]) {
> -}
>
> Removed: cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2c.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2c.cpp?rev=173755&view=auto
> ==============================================================================
> --- cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2c.cpp (original)
> +++ cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2c.cpp (removed)
> @@ -1,5 +0,0 @@
> -// RUN: %clang_cc1 -fsyntax-only -verify %s
> -// expected-no-diagnostics
> -
> -int main() {
> -}
>
> Removed: cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2d.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2d.cpp?rev=173755&view=auto
> ==============================================================================
> --- cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2d.cpp (original)
> +++ cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2d.cpp (removed)
> @@ -1,4 +0,0 @@
> -// RUN: %clang_cc1 -fsyntax-only -verify %s
> -
> -static int main() { // expected-error {{'main' is not allowed to be declared static}}
> -}
>
> Removed: cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2e.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2e.cpp?rev=173755&view=auto
> ==============================================================================
> --- cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2e.cpp (original)
> +++ cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2e.cpp (removed)
> @@ -1,4 +0,0 @@
> -// RUN: %clang_cc1 -fsyntax-only -verify %s
> -
> -inline int main() { // expected-error {{'main' is not allowed to be declared inline}}
> -}
>
> Removed: cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2f.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2f.cpp?rev=173755&view=auto
> ==============================================================================
> --- cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2f.cpp (original)
> +++ cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2f.cpp (removed)
> @@ -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
> -) {
> -}
>
> Removed: cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2g.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2g.cpp?rev=173755&view=auto
> ==============================================================================
> --- cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2g.cpp (original)
> +++ cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2g.cpp (removed)
> @@ -1,5 +0,0 @@
> -// RUN: %clang_cc1 -fsyntax-only -verify %s
> -// expected-no-diagnostics
> -
> -int main(int argc, const char* const* argv) {
> -}
>
> Removed: cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2h.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2h.cpp?rev=173755&view=auto
> ==============================================================================
> --- cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2h.cpp (original)
> +++ cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2h.cpp (removed)
> @@ -1,5 +0,0 @@
> -// RUN: %clang_cc1 -fsyntax-only -verify %s
> -
> -template<typename T>
> -int main() { } // expected-error{{'main' cannot be a template}}
> -
>
> Removed: cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2i.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2i.cpp?rev=173755&view=auto
> ==============================================================================
> --- cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2i.cpp (original)
> +++ cfe/trunk/test/CXX/basic/basic.start/basic.start.main/p2i.cpp (removed)
> @@ -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}}
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits



More information about the cfe-commits mailing list