summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/testsuite/Makefile.am')
-rw-r--r--libstdc++-v3/testsuite/Makefile.am25
1 files changed, 23 insertions, 2 deletions
diff --git a/libstdc++-v3/testsuite/Makefile.am b/libstdc++-v3/testsuite/Makefile.am
index 407d7c95f91..2b7e9e51a07 100644
--- a/libstdc++-v3/testsuite/Makefile.am
+++ b/libstdc++-v3/testsuite/Makefile.am
@@ -121,6 +121,14 @@ libgomp_flags=-B${glibcxx_builddir}/../libgomp \
atomic_flags=$(ATOMIC_FLAGS)
parallel_flags="unix/-D_GLIBCXX_PARALLEL/-fopenmp"
+# Runs the testsuite in profile mode.
+libprofc++_dir = ${glibcxx_builddir}/libprofc++
+libprofc++_flags = -B${glibcxx_builddir}/libprofc++ \
+ -I${glibcxx_builddir}/libprofc++ \
+ -L${glibcxx_builddir}/libprofc++/.libs
+
+profile_flags = "unix/-fprofile-stdlib"
+
check-parallel: site.exp
-@(if test ! -d $${libgomp_dir}; then \
echo "Testing parallel mode failed as libgomp not present."; \
@@ -139,8 +147,21 @@ check-performance-parallel: testsuite_files_performance ${performance_script}
CXXFLAGS="-D_GLIBCXX_PARALLEL -fopenmp $(atomic_flags) $(libgomp_flags)"; export CXXFLAGS; \
${check_performance_script} ${glibcxx_srcdir} ${glibcxx_builddir})
+check-profile: site.exp
+ -@(if test ! -d $${libprofc++_dir}; then \
+ echo "Testing profiling mode failed as libprofc++ not present."; \
+ exit 1; \
+ fi; \
+ outputdir=profile; export outputdir; \
+ if test ! -d $${outputdir}; then \
+ mkdir $${outputdir}; \
+ fi; \
+ srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
+ EXPECT=$(EXPECT); export EXPECT; \
+ $(MAKE) CXXFLAGS="$(atomic_flags) $(libprofc++_flags)" RUNTESTFLAGS="$(RUNTESTFLAGS) conformance.exp --outdir $${outputdir} --objdir $${outputdir} --target_board=$(profile_flags)" check-DEJAGNU; )
+
.PHONY: baseline_symbols new-abi-baseline \
- check-abi check-compile check-performance check-parallel
+ check-abi check-compile check-performance check-parallel check-profile
# By adding these files here, automake will remove them for 'make clean'
CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \
@@ -149,4 +170,4 @@ CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \
# To remove directories.
clean-local:
- rm -rf parallel
+ rm -rf parallel profile