From 2ac69f37ad5da0aeaffe89e40de4e867c19fa65f Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Mon, 11 Aug 2014 17:14:54 -0400 Subject: Add a C++11 test, and make the C++98/03 test explicit. --- libdimension/tests/Makefile.am | 14 +++++++++++--- libdimension/tests/c++03.cpp | 38 ++++++++++++++++++++++++++++++++++++++ libdimension/tests/c++11.cpp | 38 ++++++++++++++++++++++++++++++++++++++ libdimension/tests/cxx.cpp | 38 -------------------------------------- 4 files changed, 87 insertions(+), 41 deletions(-) create mode 100644 libdimension/tests/c++03.cpp create mode 100644 libdimension/tests/c++11.cpp delete mode 100644 libdimension/tests/cxx.cpp (limited to 'libdimension') diff --git a/libdimension/tests/Makefile.am b/libdimension/tests/Makefile.am index 0dc9a87..9829642 100644 --- a/libdimension/tests/Makefile.am +++ b/libdimension/tests/Makefile.am @@ -24,7 +24,8 @@ check_LTLIBRARIES = libdimension-tests.la \ libdimension-unit-test.la check_PROGRAMS = c89.test \ c99.test \ - cxx.test \ + c++03.test \ + c++11.test \ warning.test \ warning-as-error.test \ error.test \ @@ -75,8 +76,15 @@ c99_test_LDADD = libdimension-tests.la c99.o: CFLAGS += -std=c99 -Wpedantic -cxx_test_SOURCES = cxx.cpp -cxx_test_LDADD = libdimension-tests.la +c__03_test_SOURCES = c++03.cpp +c__03_test_LDADD = libdimension-tests.la + +c++03.o: CFLAGS += -std=c++03 -Wpedantic + +c__11_test_SOURCES = c++11.cpp +c__11_test_LDADD = libdimension-tests.la + +c++11.o: CFLAGS += -std=c++11 -Wpedantic warning_test_SOURCES = warning.c warning_test_LDADD = libdimension-tests.la diff --git a/libdimension/tests/c++03.cpp b/libdimension/tests/c++03.cpp new file mode 100644 index 0000000..679fa23 --- /dev/null +++ b/libdimension/tests/c++03.cpp @@ -0,0 +1,38 @@ +/************************************************************************* + * Copyright (C) 2010-2011 Tavian Barnes * + * * + * This file is part of The Dimension Test Suite. * + * * + * The Dimension Test Suite is free software; you can redistribute it * + * and/or modify it under the terms of the GNU General Public License as * + * published by the Free Software Foundation; either version 3 of the * + * License, or (at your option) any later version. * + * * + * The Dimension Test Suite is distributed in the hope that it will be * + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty * + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + *************************************************************************/ + +/** + * @file + * Ensure that dimension.h can be included in a C++ program and behave properly. + */ + +#include "tests.h" +#include + +int +main(void) +{ + // Treat warnings as errors for tests + dmnsn_die_on_warnings(true); + + // Make sure we can to bit-ops on this enum type + dmnsn_quality quality = DMNSN_RENDER_PIGMENT | DMNSN_RENDER_LIGHTS; + + return EXIT_SUCCESS; +} diff --git a/libdimension/tests/c++11.cpp b/libdimension/tests/c++11.cpp new file mode 100644 index 0000000..679fa23 --- /dev/null +++ b/libdimension/tests/c++11.cpp @@ -0,0 +1,38 @@ +/************************************************************************* + * Copyright (C) 2010-2011 Tavian Barnes * + * * + * This file is part of The Dimension Test Suite. * + * * + * The Dimension Test Suite is free software; you can redistribute it * + * and/or modify it under the terms of the GNU General Public License as * + * published by the Free Software Foundation; either version 3 of the * + * License, or (at your option) any later version. * + * * + * The Dimension Test Suite is distributed in the hope that it will be * + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty * + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + *************************************************************************/ + +/** + * @file + * Ensure that dimension.h can be included in a C++ program and behave properly. + */ + +#include "tests.h" +#include + +int +main(void) +{ + // Treat warnings as errors for tests + dmnsn_die_on_warnings(true); + + // Make sure we can to bit-ops on this enum type + dmnsn_quality quality = DMNSN_RENDER_PIGMENT | DMNSN_RENDER_LIGHTS; + + return EXIT_SUCCESS; +} diff --git a/libdimension/tests/cxx.cpp b/libdimension/tests/cxx.cpp deleted file mode 100644 index 679fa23..0000000 --- a/libdimension/tests/cxx.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************************* - * Copyright (C) 2010-2011 Tavian Barnes * - * * - * This file is part of The Dimension Test Suite. * - * * - * The Dimension Test Suite is free software; you can redistribute it * - * and/or modify it under the terms of the GNU General Public License as * - * published by the Free Software Foundation; either version 3 of the * - * License, or (at your option) any later version. * - * * - * The Dimension Test Suite is distributed in the hope that it will be * - * useful, but WITHOUT ANY WARRANTY; without even the implied warranty * - * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * - * General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - *************************************************************************/ - -/** - * @file - * Ensure that dimension.h can be included in a C++ program and behave properly. - */ - -#include "tests.h" -#include - -int -main(void) -{ - // Treat warnings as errors for tests - dmnsn_die_on_warnings(true); - - // Make sure we can to bit-ops on this enum type - dmnsn_quality quality = DMNSN_RENDER_PIGMENT | DMNSN_RENDER_LIGHTS; - - return EXIT_SUCCESS; -} -- cgit v1.2.3