Issues found while checking libstdc++-v3 in gcc mainline (with patch)

Loren James Rittle rittle@latour.rsch.comm.mot.com
Mon Apr 24 22:23:00 GMT 2000


1. If I have never installed gcc with the currently configured prefix,
then I note many errors in *-mkchecklog.txt of this form when `make
check' is run in libstdc++-v3:

In file included from bits/c++io.h:35,
                 from ../../../egcs/libstdc++-v3/bits/fpos.h:40,
                 from ../../../egcs/libstdc++-v3/bits/char_traits.h:39,
                 from ../../../egcs/libstdc++-v3/bits/std_ios.h:39,
                 from ../../../egcs/libstdc++-v3/bits/std_istream.h:37,
                 from ../../../egcs/libstdc++-v3/bits/std_fstream.h:37,
                 from ../../../egcs/libstdc++-v3/std/fstream:2,
                 from ../../../egcs/libstdc++-v3/testsuite/17_intro/header_fstream.cc:23:
../../../egcs/libstdc++-v3/libio/libio.h:30:22: _G_config.h: No such file or directory

Once I `make install', then `make check', those errors all go away.
However, that can't be the right thing to do.

Looks like -I$BUILD_DIR/libio needs to be added to the INC_PATH since
_G_config.h is a built file in that unlisted directory.  Humm, prior
to this patch (see below), it would appear to have caused checking of
the built (but uninstalled) tree to use an old _G_config.h.  Yuck.

2. The report left in *-mkcheck.txt after `make check' says I am
testing the version of the compiler found on my PATH although the test
has clearly been run against the compiler made in the same build tree
(i.e. the compiler is correctly found by relative location during the
actual tests of `make check').

3. The one testsuite failure that remains after fixing mkcheck
(26_numerics/complex_inserters_extractors.cc) involves the linker not
being able to find some templates based upon wchar_t.  BTW, although
my platform has wchar_t defined in stddef.h and/or stdlib.h, it has no
wchar.h thus _GLIBCPP_USE_WCHAR_T is not defined.  So I guess I am
asking: (1) is the autoconfig check for wchar_t correct (it seems too
restrictive since Plauger says in _The Standard C Library_ that it
should be found in those headers and makes no mention of wchar.h) and,
more importantly, (2) should this link be failing for that test in
this situation if _GLIBCPP_USE_WCHAR_T is not defined?  No patch, just
a report.

2000-04-24  Loren J. Rittle  <ljrittle@acm.org>

	* mkcheck.in: Report compiler version used for test.  Find
	the built _G_config.h instead of any old installed version.

Index: libstdc++-v3/mkcheck.in
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/mkcheck.in,v
retrieving revision 1.1
diff -p -r1.1 mkcheck.in
*** mkcheck.in  2000/04/21 20:33:28     1.1
--- mkcheck.in  2000/04/25 03:32:15
*************** fi
*** 51,57 ****
  
  # INC_PATH == include path to new headers for use on gcc command-line
  if [ $WHICH != "1" ]; then
!   INC_PATH="-I$BUILD_DIR -I$SRC_DIR/@ctype_include_dir@ -I$SRC_DIR/@cpu_includ
e_dir@  -I$SRC_DIR/std -I$SRC_DIR -I$SRC_DIR/libio"
  elif [ $WHICH -eq 1 ]; then
    INC_PATH=""
  fi
--- 51,57 ----
  
  # INC_PATH == include path to new headers for use on gcc command-line
  if [ $WHICH != "1" ]; then
!   INC_PATH="-I$BUILD_DIR -I$BUILD_DIR/libio -I$SRC_DIR/@ctype_include_dir@ -I$
SRC_DIR/@cpu_include_dir@  -I$SRC_DIR/std -I$SRC_DIR -I$SRC_DIR/libio"
  elif [ $WHICH -eq 1 ]; then
    INC_PATH=""
  fi
*************** cp $SRC_DIR/testsuite/27_io/*.tst $TEST_
*** 133,139 ****
  
  # Emit useful info about compiler and platform
  echo "host: $(uname -mrsv)" >> $RESULTS_FILE
! echo "compiler: $(g++ --version)" >> $RESULTS_FILE
  echo "compiler flags: $CXX_FLAG $ST_FLAG" >> $RESULTS_FILE
  echo "date: $(date +%Y%m%d)" >> $RESULTS_FILE
  echo "" >> $RESULTS_FILE
--- 133,139 ----
  
  # Emit useful info about compiler and platform
  echo "host: $(uname -mrsv)" >> $RESULTS_FILE
! echo "compiler: $($CXX --version)" >> $RESULTS_FILE
  echo "compiler flags: $CXX_FLAG $ST_FLAG" >> $RESULTS_FILE
  echo "date: $(date +%Y%m%d)" >> $RESULTS_FILE
  echo "" >> $RESULTS_FILE


More information about the Libstdc++ mailing list