Makefile.am (noinst_PROGRAMS): Remove.

* testsuite/Makefile.am (noinst_PROGRAMS): Remove.
	(site.exp): Write out the path to the baseline file.
	(check-abi): Use DejaGNU.
	(check-abi-verbose): Remove.
	* testsuite/Makefile.in: Regenerated.
	* testsuite/abi_check.cc (main): Check the return value from
	compare_symbols.
	* testsuite/testsuite_abi.cc (compare_symbols): Return a value.
	* testsuite/testsuite_abi.h (compare_symbols): Adjust prototype.
	* testsuite/libstdc++-abi/abi.exp: New file.

From-SVN: r97417
This commit is contained in:
Mark Mitchell 2005-04-01 20:20:22 +00:00 committed by Mark Mitchell
parent c6cc541b36
commit fdbba6bcf0
7 changed files with 76 additions and 67 deletions

View File

@ -1,3 +1,16 @@
2005-04-01 Mark Mitchell <mark@codesourcery.com>
* testsuite/Makefile.am (noinst_PROGRAMS): Remove.
(site.exp): Write out the path to the baseline file.
(check-abi): Use DejaGNU.
(check-abi-verbose): Remove.
* testsuite/Makefile.in: Regenerated.
* testsuite/abi_check.cc (main): Check the return value from
compare_symbols.
* testsuite/testsuite_abi.cc (compare_symbols): Return a value.
* testsuite/testsuite_abi.h (compare_symbols): Adjust prototype.
* testsuite/libstdc++-abi/abi.exp: New file.
2005-03-31 Chris Jefferson <chris@bubblescope.net>
* include/tr1/tuple: Support iteration via tuple_iterate.h.

View File

@ -50,15 +50,6 @@ libv3test_a_SOURCES = \
testsuite_allocator.cc \
testsuite_hooks.cc
## Build support utilities.
if GLIBCXX_TEST_ABI
noinst_PROGRAMS = abi_check
else
noinst_PROGRAMS =
endif
abi_check_SOURCES = abi_check.cc
abi_check_DEPENDENCIES = libv3test.a
all-local: stamp_wchar stamp_thread
# Enable wchar_t tests if capable.
@ -104,6 +95,7 @@ site.exp: Makefile
@echo 'set target_triplet $(target_triplet)' >>site.tmp
@echo 'set target_triplet $(target_triplet)' >>site.tmp
@echo 'set libiconv "$(LIBICONV)"' >>site.tmp
@echo 'set baseline_file "$(baseline_file)"' >> site.tmp
@echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp
@test ! -f site.exp || \
sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
@ -141,19 +133,10 @@ new-abi-baseline:
if GLIBCXX_TEST_ABI
# Use 'new-abi-baseline' to create an initial symbol file. Then run
# 'check-abi' to test for changes against that file.
check-abi: abi_check baseline_symbols current_symbols.txt
-@./abi_check --check ./current_symbols.txt ${baseline_file} \
2>&1 | tee libstdc++-abi.sum
-@cp libstdc++-abi.sum libstdc++-abi.log
check-abi-verbose: abi_check baseline_symbols current_symbols.txt
-@./abi_check --check-verbose ./current_symbols.txt ${baseline_file} \
2>&1 | tee libstdc++-abi.sum
-@cp libstdc++-abi.sum libstdc++-abi.log
check-abi: baseline_symbols current_symbols.txt site.exp
-@runtest --tool libstdc++ abi.exp
else
check-abi:
check-abi-verbose:
endif

View File

@ -14,8 +14,7 @@
@SET_MAKE@
SOURCES = $(libv3test_a_SOURCES) $(abi_check_SOURCES)
SOURCES = $(libv3test_a_SOURCES)
srcdir = @srcdir@
top_srcdir = @top_srcdir@
@ -42,7 +41,6 @@ host_triplet = @host@
target_triplet = @target@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/fragment.am
@GLIBCXX_TEST_ABI_TRUE@noinst_PROGRAMS = abi_check$(EXEEXT)
subdir = testsuite
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
@ -61,10 +59,6 @@ libv3test_a_LIBADD =
am_libv3test_a_OBJECTS = testsuite_abi.$(OBJEXT) \
testsuite_allocator.$(OBJEXT) testsuite_hooks.$(OBJEXT)
libv3test_a_OBJECTS = $(am_libv3test_a_OBJECTS)
PROGRAMS = $(noinst_PROGRAMS)
am_abi_check_OBJECTS = abi_check.$(OBJEXT)
abi_check_OBJECTS = $(am_abi_check_OBJECTS)
abi_check_LDADD = $(LDADD)
DEFAULT_INCLUDES =
depcomp =
am__depfiles_maybe =
@ -74,8 +68,8 @@ LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
SOURCES = $(libv3test_a_SOURCES) $(abi_check_SOURCES)
DIST_SOURCES = $(libv3test_a_SOURCES) $(abi_check_SOURCES)
SOURCES = $(libv3test_a_SOURCES)
DIST_SOURCES = $(libv3test_a_SOURCES)
ETAGS = etags
CTAGS = ctags
DEJATOOL = $(PACKAGE)
@ -289,8 +283,6 @@ libv3test_a_SOURCES = \
testsuite_allocator.cc \
testsuite_hooks.cc
abi_check_SOURCES = abi_check.cc
abi_check_DEPENDENCIES = libv3test.a
# Generated lists of files to run. All of these names are valid make
# targets, if you wish to generate a list manually.
@ -364,16 +356,6 @@ libv3test.a: $(libv3test_a_OBJECTS) $(libv3test_a_DEPENDENCIES)
$(libv3test_a_AR) libv3test.a $(libv3test_a_OBJECTS) $(libv3test_a_LIBADD)
$(RANLIB) libv3test.a
clean-noinstPROGRAMS:
@list='$(noinst_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
echo " rm -f $$p $$f"; \
rm -f $$p $$f ; \
done
abi_check$(EXEEXT): $(abi_check_OBJECTS) $(abi_check_DEPENDENCIES)
@rm -f abi_check$(EXEEXT)
$(CXXLINK) $(abi_check_LDFLAGS) $(abi_check_OBJECTS) $(abi_check_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@ -495,7 +477,7 @@ distdir: $(DISTFILES)
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU check-local
check: check-am
all-am: Makefile $(LIBRARIES) $(PROGRAMS) all-local
all-am: Makefile $(LIBRARIES) all-local
installdirs:
install: install-am
install-exec: install-exec-am
@ -525,7 +507,7 @@ maintainer-clean-generic:
clean: clean-am
clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
clean-noinstPROGRAMS mostlyclean-am
mostlyclean-am
distclean: distclean-am
-rm -f Makefile
@ -573,16 +555,16 @@ uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am all-local check check-DEJAGNU check-am \
check-local clean clean-generic clean-libtool \
clean-noinstLIBRARIES clean-noinstPROGRAMS ctags distclean \
distclean-DEJAGNU distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-info-am
clean-noinstLIBRARIES ctags distclean distclean-DEJAGNU \
distclean-compile distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
pdf pdf-am ps ps-am tags uninstall uninstall-am \
uninstall-info-am
all-local: stamp_wchar stamp_thread
@ -616,6 +598,7 @@ site.exp: Makefile
@echo 'set target_triplet $(target_triplet)' >>site.tmp
@echo 'set target_triplet $(target_triplet)' >>site.tmp
@echo 'set libiconv "$(LIBICONV)"' >>site.tmp
@echo 'set baseline_file "$(baseline_file)"' >> site.tmp
@echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp
@test ! -f site.exp || \
sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
@ -649,18 +632,9 @@ new-abi-baseline:
# Use 'new-abi-baseline' to create an initial symbol file. Then run
# 'check-abi' to test for changes against that file.
@GLIBCXX_TEST_ABI_TRUE@check-abi: abi_check baseline_symbols current_symbols.txt
@GLIBCXX_TEST_ABI_TRUE@ -@./abi_check --check ./current_symbols.txt ${baseline_file} \
@GLIBCXX_TEST_ABI_TRUE@ 2>&1 | tee libstdc++-abi.sum
@GLIBCXX_TEST_ABI_TRUE@ -@cp libstdc++-abi.sum libstdc++-abi.log
@GLIBCXX_TEST_ABI_TRUE@check-abi-verbose: abi_check baseline_symbols current_symbols.txt
@GLIBCXX_TEST_ABI_TRUE@ -@./abi_check --check-verbose ./current_symbols.txt ${baseline_file} \
@GLIBCXX_TEST_ABI_TRUE@ 2>&1 | tee libstdc++-abi.sum
@GLIBCXX_TEST_ABI_TRUE@ -@cp libstdc++-abi.sum libstdc++-abi.log
@GLIBCXX_TEST_ABI_TRUE@check-abi: baseline_symbols current_symbols.txt site.exp
@GLIBCXX_TEST_ABI_TRUE@ -@runtest --tool libstdc++ abi.exp
@GLIBCXX_TEST_ABI_FALSE@check-abi:
@GLIBCXX_TEST_ABI_FALSE@check-abi-verbose:
check-script: ${survey_script}
-@(chmod + ${survey_script}; \
${survey_script} 0)

View File

@ -77,7 +77,8 @@ main(int argc, char** argv)
cerr << "Cannot read baseline file " << baseline_file << endl;
exit(1);
}
compare_symbols(baseline_file, test_file, verbose);
if (!compare_symbols(baseline_file, test_file, verbose))
exit (1);
}
if (argv1 == "--examine")

View File

@ -0,0 +1,36 @@
# Copyright (C) 2005 Free Software Foundation, Inc.
#
# This program 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 2 of the License, or
# (at your option) any later version.
#
# This program 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, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# If there is no current_symbols.txt file, then skip this test.
if { ![file exists "current_symbols.txt"] } {
return
}
# Build the support objects.
v3-build_support
# Build the abi_check program.
if { [v3_target_compile "$srcdir/abi_check.cc" "abi_check" \
"executable" [list "additional_flags=-w"]] != "" } {
error "could not compile abi_check.cc"
}
remote_download "target" $baseline_file "baseline_symbols.txt"
remote_download "target" "current_symbols.txt" "current_symbols.txt"
set result [${tool}_load "./abi_check" \
[list "--check-verbose" "current_symbols.txt" \
"baseline_symbols.txt"]]
[lindex $result 0] "abi_check"

View File

@ -281,7 +281,7 @@ examine_symbol(const char* name, const char* file)
{ __throw_exception_again; }
}
void
int
compare_symbols(const char* baseline_file, const char* test_file,
bool verbose)
{
@ -393,6 +393,8 @@ compare_symbols(const char* baseline_file, const char* test_file,
cout << "# of incompatible symbols:\t " << incompatible.size() << endl;
cout << endl;
cout << "using: " << baseline_file << endl;
return !(missing_names.size() || incompatible.size());
}

View File

@ -94,7 +94,7 @@ get_symbol(const std::string& mangled, const symbols& list);
extern "C" void
examine_symbol(const char* name, const char* file);
extern "C" void
extern "C" int
compare_symbols(const char* baseline_file, const char* test_file, bool verb);