On Fri, May 19, 2017 at 09:04:30AM -0600, Todd C. Miller wrote:

> On Thu, 18 May 2017 09:58:14 -0600, "Todd C. Miller" wrote:
> 
> > I believe the best approach is to switch qsort.c to "introsort".
> > The changes are minimal and the elimination of the O(n^2) worst
> > case is compelling.
> 
> I've added input arrays to the qsort regress test that exhibit
> quadratic behavior in our quicksort.  The introsort diff prevents
> qsort from going quadratic.
> 
> McIlroy's "A Killer Adversary for Quicksort" was used to generate
> the test vectors.  http://www.cs.dartmouth.edu/~doug/mdmspe.pdf
> 
>  - todd

Hmm, on arm I get: 

cc -O2 -pipe -g -Wimplicit -I/usr/src/lib/libc/include
-I/usr/src/lib/libc/hidden -D__LIBC__
-Werror-implicit-function-declaration -include namespace.h
-Werror=deprecated-declarations -DAPIWARN -DYP -I/usr/src/lib/libc/yp
-DSOFTFLOAT_FOR_GCC -I/usr/src/lib/libc/softfloat -I/usr/src/lib/libc
-I/usr/src/lib/libc/gdtoa -I/usr/src/lib/libc/arch/arm/gdtoa
-DINFNAN_CHECK -DMULTIPLE_THREADS -DNO_FENV_H -DUSE_LOCALE
-I/usr/src/lib/libc -I/usr/src/lib/libc/citrus -DRESOLVSORT
-DFLOATING_POINT -DPRINTF_WIDE_CHAR -DSCANF_WIDE_CHAR   -DSOFTFLOAT -c
/usr/src/lib/libc/stdlib/qsort.c -o qsort.o
/usr/src/lib/libc/stdlib/qsort.c: In function 'introsort':
/usr/src/lib/libc/stdlib/qsort.c:104: error: 'heapsort' is deprecated
(declared at /usr/src/lib/libc/hidden/stdlib.h:95)
*** Error 1 in /usr/src/lib/libc (<bsd.lib.mk>:41 'qsort.o': @cc -O2
-pipe -g -Wimplicit -I/usr/src/lib/libc/include -I/usr/src/lib/libc/hid...)

        -Otto

Reply via email to