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?
                 Jack

Reply via email to