threads branch: t/pmc/filehandle.t: test results differ between gcc and g++ builds
nick at ccl4.org
Tue Sep 4 08:06:16 UTC 2012
On Mon, Sep 03, 2012 at 09:41:28PM -0400, James E Keenan wrote:
> (These results were run at commit 5709835825; Sept 02 2012. But I've
> submitted dozens of smolders with the same results in recent months.)
> In my experience, it's really rare that we get consistently different
> test results between all-gcc and all-g++ builds on our most heavily
> tested platform.
> Any thoughts as to the cause of this discrepancy?
>From the output of strace and equivalent I'd deduced that the bug is a
failure to sign extend -10 from a 32 bit value to a 64 bit value. I thought
I'd already said this.
Although the inconsistency between C++ and C building the same source code
is curious. I've no idea if this is because Parrot (or Perl's) Configure
picks up different types for the two languages even on the same system, or
if it's because of different library headers between the two, or some
subtly of difference in the type system between the two (Perl 5 had odd
bugs due to using a real C++ bool for C++, and emulating it with a char for
C), or something else.
But look for a conversion from a 32 bit signed type to a 32 bit unsigned
type, that is then passed to a seek library call that actually expects a
64 bit signed type.
More information about the parrot-dev