This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: new libstdc++-v3 decimal failures
On Tue, 2009-10-06 at 18:19 -0400, Jack Howarth wrote:
> On Tue, Oct 06, 2009 at 09:44:42AM -0700, Janis Johnson wrote:
> > On Tue, 2009-10-06 at 09:10 -0700, Janis Johnson wrote:
> > > On Tue, 2009-10-06 at 09:04 -0400, Jack Howarth wrote:
> > > > Janis,
> > > > We are seeing failures of the new decimal testcases on x86_64-apple-darwin10
> > > > which you committed into the libstdc++-v3 testsuite...
> > > >
> > > > FAIL: decimal/binary-arith.cc (test for excess errors)
> > > > WARNING: decimal/binary-arith.cc compilation failed to produce executable
> > > <lots more failures>
> > > >
> > > > Are these tests entirely glibc-centric and shouldn't they be disabled for
> > > > darwin?
> > >
> > > Each test contains
> > >
> > > // { dg-require-effective-target-dfp }
> > >
> > > which checks that the compiler supports modes SD, DD, and TD, which
> > > in turn are supported if ENABLE_DECIMAL_FLOAT is defined within the
> > > compiler. That should not be defined for darwin; I'll take a look.
> >
> > I built a cross cc1plus for x86_64-apple-darwin10 and got the behavior
> > I expected. From $objdir/gcc:
> >
> > elm3b149% fgrep -l ENABLE_DECIMAL_FLOAT *.h
> > auto-host.h:#define ENABLE_DECIMAL_FLOAT 0
> >
> > elm3b149% echo "float x __attribute__((mode(DD)));" > x.c
> > elm3b149% ./cc1plus -quiet x.c
> > x.c:1:33: error: unable to emulate âDDâ
> >
> > Please try that little test with your cc1plus to see if the problem
> > is with your compiler not rejecting DD mode, or with the test
> > framework not handling it correctly.
> >
> > Janis
>
> Janis,
> I find that ENABLE_DECIMAL_FLOAT is set to 0 on x86_64-apple-darwin10...
>
> [MacPro:gcc45-4.4.999-20091005/darwin_objdir/gcc] root# grep ENABLE_DECIMAL_FLOAT auto-host.h
> #define ENABLE_DECIMAL_FLOAT 0
>
> and the test code fails to compile...
>
> [MacPro:gcc45-4.4.999-20091005/darwin_objdir/gcc] root# echo "float x __attribute__((mode(DD)));" > x.c
> [MacPro:gcc45-4.4.999-20091005/darwin_objdir/gcc] root# ./cc1plus -quiet x.c
> x.c:1:33: error: unable to emulate âDDâ
>
> However, the testsuite failures still occurs as follows...
>
> Executing on host: /sw/src/fink.build/gcc45-4.4.999-20091005/darwin_objdir/./gcc/g++ -shared-libgcc -B/sw/src/fink.build/gcc45-4.4.999-20091005/darwin_objdir/./gcc -nostdinc++ -L/sw/src/fink.build/gcc45-4.4.999-20091005/darwin_objdir/x86_64-apple-darwin10.0.0/libstdc++-v3/src -L/sw/src/fink.build/gcc45-4.4.999-20091005/darwin_objdir/x86_64-apple-darwin10.0.0/libstdc++-v3/src/.libs -B/sw/lib/gcc4.5/x86_64-apple-darwin10.0.0/bin/ -B/sw/lib/gcc4.5/x86_64-apple-darwin10.0.0/lib/ -isystem /sw/lib/gcc4.5/x86_64-apple-darwin10.0.0/include -isystem /sw/lib/gcc4.5/x86_64-apple-darwin10.0.0/sys-include -g -O2 -D_GLIBCXX_ASSERT -fmessage-length=0 -ffunction-sections -fdata-sections -g -O2 -g -O2 -DLOCALEDIR="." -nostdinc++ -I/sw/src/fink.build/gcc45-4.4.999-20091005/darwin_objdir/x86_64-apple-darwin10.0.0/libstdc++-v3/include/x86_64-apple-darwin10.0.0 -I/sw/src/fink.build/gcc45-4.4.999-20091005/darwin_objdir/x86_64-apple-darwin10.0.0/libstdc++-v3/include -I/sw/src/fink.build/gcc45-4.4.999-20091005/gcc-4.5-20091005/libstdc++-v3/libsupc++ -I/sw/src/fink.build/gcc45-4.4.999-20091005/gcc-4.5-20091005/libstdc++-v3/include/backward -I/sw/src/fink.build/gcc45-4.4.999-20091005/gcc-4.5-20091005/libstdc++-v3/testsuite/util /sw/src/fink.build/gcc45-4.4.999-20091005/gcc-4.5-20091005/libstdc++-v3/testsuite/decimal/binary-arith.cc -include bits/stdc++.h ./libtestc++.a -L/sw/lib -liconv -lm -o ./binary-arith.exe (timeout = 600)
> In file included from /sw/src/fink.build/gcc45-4.4.999-20091005/gcc-4.5-20091005/libstdc++-v3/testsuite/decimal/binary-arith.cc:22:0:
> /sw/src/fink.build/gcc45-4.4.999-20091005/darwin_objdir/x86_64-apple-darwin10.0.0/libstdc++-v3/include/decimal/decimal:39:2: error: #error This file requires compiler and library support for ISO/IEC TR 24733 that is currently not available.
> /sw/src/fink.build/gcc45-4.4.999-20091005/darwin_objdir/x86_64-apple-darwin10.0.0/libstdc++-v3/include/decimal/decimal:228:56: error: unable to emulate 'SD'
> /sw/src/fink.build/gcc45-4.4.999-20091005/darwin_objdir/x86_64-apple-darwin10.0.0/libstdc++-v3/include/decimal/decimal:249:5: error: 'std::decimal::decimal32::decimal32(std::decimal::decimal32::__decfloat32)' cannot be overloaded
> /sw/src/fink.build/gcc45-4.4.999-20091005/darwin_objdir/x86_64-apple-darwin10.0.0/libstdc++-v3/include/decimal/decimal:236:14: error: with 'std::decimal::decimal32::decimal32(float)'
>
> etc...for about a hundred errors. Doesn't this imply that the dejagnu test harness isn't properly recognizing the absence of
> the decimal support?
Oh, maybe the libstdc++ tests don't support dg-require-effective-target.
Janis