On Wed, 2017-07-12 at 08:57 -0600, Sandra Loosemore wrote:
> On 07/12/2017 05:07 AM, Klaus Kruse Pedersen (Klaus) wrote:
> > I have seen reproducible builds being discussed here, but what is
> > the
> > position on inter c-lib and OS reproducible builds?
>
> I think we consider unstable sort problems bugs and have fixed them
> in
> the past. Bugzilla search turned up #28964 and I remember at least
> one
> more recent instance of this as well (although not the details any
> more).
Yes, 28964 is similar to the issue I was hit by.
By extension, does that mean that all qsort compare/rank functions that
can return 0, should be considered buggy?
I went through a some of the 140'ish rank functions - and it does
indeed look like considerable effort went into returning only +1 and
-1.
A general pattern seem to be:
return da ? 1 : -1;
And comments like:
/* If regs are equally good, sort by their numbers, so that the
results of qsort leave nothing to chance. */
But there are exceptions, all rank functions in
tree-ssa-loop-ivopts.c,
tree-ssa-loop-niter.c
tree-ssa-loop-im.c
can return 0.
>
> -Sandra
>