This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Errors with Re: [PATCH/RFA] Revamp wctomb/mbtowc conversion, add more charset support


> Date: Fri, 20 Mar 2009 13:00:02 +0100
> From: Corinna Vinschen <vinschen@redhat.com>

> Part 1 of the patch below, everything except the changes in libc/ctype.

I can't find any mentioning how you tested these patches.  Could
you please regtest gcc with all applicable languages on a
non-cygwin newlib (simulator) target of your choice?  I'm not
ruling out the gcc regressions being visible on cygwin too, I'm
just assuming you regtested gcc for cygwin and these changes.

My autotester for cris-elf no longer pulls in new versions of
sources from projects a toolchain depends on (binutils, sim,
newlib).  On inspection it's due to (at least) changes in newlib
that would cause regressions when trying new versions as per
below.

The cris-elf target is quite mainstream and I believe you'd see
these errors for any newlib-dependent toolchain, maybe with the
notable exception of cygwin.  Geoff Keating's btest-gcc.sh
script generated this list for gcc trunk r144980; a few days old
now), diff'd from empty:

+gfortran.sum gfortran.dg/default_format_1.f90
+gfortran.sum gfortran.dg/f2003_io_6.f03
+gfortran.sum gfortran.dg/fmt_bz_bn.f
+gfortran.sum gfortran.dg/fmt_read_bz_bn.f90
+gfortran.sum gfortran.dg/fmt_white.f
+gfortran.sum gfortran.dg/g77/f77-edit-t-in.f
+gfortran.sum gfortran.dg/namelist_internal.f90
+gfortran.sum gfortran.dg/past_eor.f90
+gfortran.sum gfortran.dg/read_2.f90
+gfortran.sum gfortran.dg/read_float_1.f90
+gfortran.sum gfortran.fortran-torture/execute/f2_edit_1.f90
+libstdc++.sum 22_locale/num_get/get/char/12.cc
+libstdc++.sum 22_locale/num_get/get/char/13.cc
+libstdc++.sum 22_locale/num_get/get/char/2.cc
+libstdc++.sum 22_locale/num_get/get/char/23953.cc
+libstdc++.sum 22_locale/num_get/get/wchar_t/12.cc
+libstdc++.sum 22_locale/num_get/get/wchar_t/13.cc
+libstdc++.sum 22_locale/num_get/get/wchar_t/2.cc
+libstdc++.sum 22_locale/num_get/get/wchar_t/23953.cc
+libstdc++.sum 26_numerics/complex/inserters_extractors/char/1.cc
+libstdc++.sum 26_numerics/complex/inserters_extractors/wchar_t/1.cc
+libstdc++.sum 27_io/basic_istream/extractors_arithmetic/char/01.cc
+libstdc++.sum 27_io/basic_istream/extractors_arithmetic/char/07.cc
+libstdc++.sum 27_io/basic_istream/extractors_arithmetic/char/09.cc
+libstdc++.sum 27_io/basic_istream/extractors_arithmetic/char/10.cc
+libstdc++.sum 27_io/basic_istream/extractors_arithmetic/char/13.cc
+libstdc++.sum 27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc
+libstdc++.sum 27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc
+libstdc++.sum 27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc
+libstdc++.sum 27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc
+libstdc++.sum 27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc
+libstdc++.sum 27_io/basic_istream/sentry/char/2.cc
+libstdc++.sum 27_io/basic_istream/sentry/wchar_t/2.cc
+libstdc++.sum 27_io/basic_ostream/inserters_arithmetic/char/5.cc
+libstdc++.sum 27_io/basic_ostream/inserters_arithmetic/char/6.cc
+libstdc++.sum 27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc
+libstdc++.sum 27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc

All of them are execution test failures:
FAIL: 27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc execution test

with the message in gfortran.log being:
 program stopped with signal 6.
which is the result of calling abort; the usual way that gcc
test-cases react to inconsistencies, as you know.

For the libstdc++ tests, I see assertion errors like:
assertion "err == ios_base::eofbit" failed: file
"/tmp/candtestnewlib/gcc/libstdc++-v3/testsuite/22_locale/num_get/get/char/12.cc",
line 108, function: void test01()
program stopped with signal 6.

Unfortunately, newlib still uses CVS ;) so there's no exact
revision identifier for the start of the failure period, but
this is the pruned diff of the ChangeLog, comparing the old
working version to the latest known to fail (sorry, not keeping
track of the *first* to fail):

@@ -1,3 +1,184 @@
+2009-03-25  Craig Howland <howland@LGSInnovations.com>
+
+	* libc/include/math.h:  (llround, llroundf): Declare.
...
+2009-03-24  Corinna Vinschen  <corinna@vinschen.de>
+
+	* libc/ctype/iswalpha.c: Handle all wchar_t as unicode on
+	_MB_CAPABLE systems.
...
+	(__cp_wctomb): New function.
+
 2009-03-23  Richard Earnshaw  <rearnsha@arm.com>
 
 	* libc/machine/arm/strcmp.c (strcmp): Treat char as unsigned.

with the date of the first known failure being "2009-03-24
18:32:41" UTC.

thanks.

brgds, H-P


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]