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