aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/Make-lang.in
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2018-10-17 13:56:05 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2018-10-17 13:56:05 +0000
commit033eb5671769a4c681a44aad08a454e667e08502 (patch)
tree22495cece5c3fb48c8d36f59f8984d9d1d560d84 /gcc/cp/Make-lang.in
parente8f1d5cb7c9fdf367a11bd939aac73d4e85265e5 (diff)
downloadgcc-033eb5671769a4c681a44aad08a454e667e08502.zip
gcc-033eb5671769a4c681a44aad08a454e667e08502.tar.gz
gcc-033eb5671769a4c681a44aad08a454e667e08502.tar.bz2
Run selftests for C++ as well as C
gcc/ChangeLog: * Makefile.in (SELFTEST_TARGETS): New. (selftest) Change from s-selftest-c to $(SELFTEST_TARGETS). (C_SELFTEST_FLAGS, C_SELFTEST_DEPS, s-selftest-c, selftest-c-gdb) (selftest-gdb, selftest-c-valgrind, selftest-valgrind): Move to c/Make-lang.in. (CPP_SELFTEST_FLAGS, CPP_SELFTEST_DEPS, s-selftest-c++) (selftest-c++-gdb, selftest-c++-valgrind): Move to cp/Make-lang.in. * configure: Regenerate. * configure.ac (selftest_languages): New. gcc/brig/ChangeLog: * Make-lang.in (selftest-brig): New. gcc/c/ChangeLog: * Make-lang.in (selftest-c): New. (C_SELFTEST_FLAGS, C_SELFTEST_DEPS, s-selftest-c, selftest-c-gdb) (selftest-gdb, selftest-c-valgrind, selftest-valgrind): Move here from gcc/Makefile.in. gcc/cp/ChangeLog: * Make-lang.in (selftest-c++): New. (CPP_SELFTEST_FLAGS, CPP_SELFTEST_DEPS, s-selftest-c++) (selftest-c++-gdb, selftest-c++-valgrind): Move here from gcc/Makefile.in. gcc/fortran/ChangeLog: * Make-lang.in (selftest-fortran): New. gcc/go/ChangeLog: * Make-lang.in (selftest-go): New. gcc/jit/ChangeLog: * Make-lang.in (selftest-jit): New. gcc/lto/ChangeLog: * Make-lang.in (selftest-lto): New. gcc/objc/ChangeLog: * Make-lang.in (selftest-objc): New. gcc/objcp/ChangeLog: * Make-lang.in (selftest-obj-c++): New. From-SVN: r265240
Diffstat (limited to 'gcc/cp/Make-lang.in')
-rw-r--r--gcc/cp/Make-lang.in26
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index fa8c1e6..e358b76 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -164,6 +164,32 @@ c++.man: doc/g++.1
c++.srcman: doc/g++.1
-cp -p $^ $(srcdir)/doc
+# C++ selftests
+
+# If C++ is enabled, require the selftests to be run for it
+# at each stage of the build:
+selftest-c++: s-selftest-c++
+
+CPP_SELFTEST_DEPS = cc1plus$(exeext) $(SELFTEST_DEPS)
+CPP_SELFTEST_FLAGS = -xc++ $(SELFTEST_FLAGS)
+
+# Run the C++ selftests
+s-selftest-c++: $(CPP_SELFTEST_DEPS)
+ $(GCC_FOR_TARGET) $(CPP_SELFTEST_FLAGS)
+ $(STAMP) $@
+
+# Convenience method for running C++ selftests under gdb:
+.PHONY: selftest-c++-gdb
+selftest-c++-gdb: $(CPP_SELFTEST_DEPS)
+ $(GCC_FOR_TARGET) $(CPP_SELFTEST_FLAGS) \
+ -wrapper gdb,--args
+
+# Convenience method for running C++ selftests under valgrind:
+.PHONY: selftest-c++-valgrind
+selftest-c++-valgrind: $(CPP_SELFTEST_DEPS)
+ $(GCC_FOR_TARGET) $(CPP_SELFTEST_FLAGS) \
+ -wrapper valgrind,--leak-check=full
+
# 'make check' in gcc/ looks for check-c++, as do all toplevel C++-related
# check targets. However, our DejaGNU framework requires 'check-g++' as its
# entry point. We feed the former to the latter here.