diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 95 | ||||
-rw-r--r-- | tests/test-pedantic-compilation.c | 6 | ||||
-rw-r--r-- | tests/test-pedantic-compilation.cxx | 4 |
3 files changed, 103 insertions, 2 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index c20c0e9f8..6c3d4449c 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -144,6 +144,101 @@ test_pedantic_cxx_LDADD = \ ######################################################################## +# Test pendantic compilation for multiple language standard +######################################################################## + +generic_pedantic_cppflags = +generic_pedantic_cppflags += -I$(top_srcdir)/libgphoto2_port +generic_pedantic_cppflags += -I$(top_srcdir) + +if GP_HAVE_PEDANTIC_FLAGS_C90 +TESTS += test-pedantic-c90 +check_PROGRAMS += test-pedantic-c90 +test_pedantic_c90_SOURCES = test-pedantic-compilation.c +test_pedantic_c90_CPPFLAGS = $(generic_pedantic_cppflags) +test_pedantic_c90_CFLAGS = $(GP_PEDANTIC_CFLAGS_C90) +test_pedantic_c90_LDADD = +test_pedantic_c90_LDFLAGS = +endif + +if GP_HAVE_PEDANTIC_FLAGS_C99 +TESTS += test-pedantic-c99 +check_PROGRAMS += test-pedantic-c99 +test_pedantic_c99_SOURCES = test-pedantic-compilation.c +test_pedantic_c99_CPPFLAGS = $(generic_pedantic_cppflags) +test_pedantic_c99_CFLAGS = $(GP_PEDANTIC_CFLAGS_C99) +test_pedantic_c99_LDADD = +test_pedantic_c99_LDFLAGS = +endif + +if GP_HAVE_PEDANTIC_FLAGS_C11 +TESTS += test-pedantic-c11 +check_PROGRAMS += test-pedantic-c11 +test_pedantic_c11_SOURCES = test-pedantic-compilation.c +test_pedantic_c11_CPPFLAGS = $(generic_pedantic_cppflags) +test_pedantic_c11_CFLAGS = $(GP_PEDANTIC_CFLAGS_C11) +test_pedantic_c11_LDADD = +test_pedantic_c11_LDFLAGS = +endif + +if GP_HAVE_PEDANTIC_FLAGS_CXX98 +if HAVE_CXX +TESTS += test-pedantic-cxx98 +check_PROGRAMS += test-pedantic-cxx98 +else +EXTRA_PROGRAMS += test-pedantic-cxx98 +endif +test_pedantic_cxx98_SOURCES = test-pedantic-compilation.cxx +test_pedantic_cxx98_CPPFLAGS = $(generic_pedantic_cppflags) +test_pedantic_cxx98_CXXFLAGS = $(GP_PEDANTIC_CXXFLAGS_CXX98) +test_pedantic_cxx98_LDADD = +test_pedantic_cxx98_LDFLAGS = +endif + +if GP_HAVE_PEDANTIC_FLAGS_CXX11 +if HAVE_CXX +TESTS += test-pedantic-cxx11 +check_PROGRAMS += test-pedantic-cxx11 +else +EXTRA_PROGRAMS += test-pedantic-cxx11 +endif +test_pedantic_cxx11_SOURCES = test-pedantic-compilation.cxx +test_pedantic_cxx11_CPPFLAGS = $(generic_pedantic_cppflags) +test_pedantic_cxx11_CXXFLAGS = $(GP_PEDANTIC_CXXFLAGS_CXX11) +test_pedantic_cxx11_LDADD = +test_pedantic_cxx11_LDFLAGS = +endif + +if GP_HAVE_PEDANTIC_FLAGS_CXX14 +if HAVE_CXX +TESTS += test-pedantic-cxx14 +check_PROGRAMS += test-pedantic-cxx14 +else +EXTRA_PROGRAMS += test-pedantic-cxx14 +endif +test_pedantic_cxx14_SOURCES = test-pedantic-compilation.cxx +test_pedantic_cxx14_CPPFLAGS = $(generic_pedantic_cppflags) +test_pedantic_cxx14_CXXFLAGS = $(GP_PEDANTIC_CXXFLAGS_CXX14) +test_pedantic_cxx14_LDADD = +test_pedantic_cxx14_LDFLAGS = +endif + +if GP_HAVE_PEDANTIC_FLAGS_CXX17 +if HAVE_CXX +TESTS += test-pedantic-cxx17 +check_PROGRAMS += test-pedantic-cxx17 +else +EXTRA_PROGRAMS += test-pedantic-cxx17 +endif +test_pedantic_cxx17_SOURCES = test-pedantic-compilation.cxx +test_pedantic_cxx17_CPPFLAGS = $(generic_pedantic_cppflags) +test_pedantic_cxx17_CXXFLAGS = $(GP_PEDANTIC_CXXFLAGS_CXX17) +test_pedantic_cxx17_LDADD = +test_pedantic_cxx17_LDFLAGS = +endif + + +######################################################################## # Implement the checks for the installed library ######################################################################## diff --git a/tests/test-pedantic-compilation.c b/tests/test-pedantic-compilation.c index 269ea080d..bb88d1a82 100644 --- a/tests/test-pedantic-compilation.c +++ b/tests/test-pedantic-compilation.c @@ -17,10 +17,16 @@ #include <stdio.h> +#ifdef __STDC_VERSION__ unsigned long stdc_version = __STDC_VERSION__; +#endif int main() { +#ifdef __STDC_VERSION__ printf("stdc_version = %lu\n", stdc_version); +#else + printf("stdc_version = undefined\n"); +#endif return 0; } diff --git a/tests/test-pedantic-compilation.cxx b/tests/test-pedantic-compilation.cxx index 70bac2f2b..5dbe12083 100644 --- a/tests/test-pedantic-compilation.cxx +++ b/tests/test-pedantic-compilation.cxx @@ -15,12 +15,12 @@ #include <gphoto2/gphoto2-port-result.h> #include <gphoto2/gphoto2-port-version.h> -#include <stdio.h> +#include <iostream> unsigned long cxx_version = __cplusplus; int main() { - printf("cxx_version = %lu\n", cxx_version); + std::cout << "cxx_version = " << cxx_version << std::endl; return 0; } |