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