Re: [PATCH 1/2] gcc_qsort: source code changes

2018-05-14 Thread Richard Biener
On Mon, May 14, 2018 at 8:37 AM, Alexander Monakov wrote: > On Sun, 13 May 2018, H.J. Lu wrote: >> This breaks bootstrap on Fedora 28/i686: >> >> https://gcc.gnu.org/ml/gcc-regression/2018-05/msg00088.html >> >> ../../src-trunk/gcc/sort.cc:112:5: note: in expansion of macro

Re: [PATCH 1/2] gcc_qsort: source code changes

2018-05-14 Thread Alexander Monakov
On Sun, 13 May 2018, H.J. Lu wrote: > This breaks bootstrap on Fedora 28/i686: > > https://gcc.gnu.org/ml/gcc-regression/2018-05/msg00088.html > > ../../src-trunk/gcc/sort.cc:112:5: note: in expansion of macro ‘REORDER_45’ > REORDER_45 (8, 8, 0); > ^~ >

Re: [PATCH 1/2] gcc_qsort: source code changes

2018-05-13 Thread H.J. Lu
On Thu, May 10, 2018 at 8:56 AM, Alexander Monakov wrote: > * sort.cc: New file. > * system.h [!CHECKING_P] (qsort): Redirect to gcc_qsort. > * vec.c (qsort_chk): Use gcc_qsort. > This breaks bootstrap on Fedora 28/i686:

Re: [PATCH 1/2] gcc_qsort: source code changes

2018-05-11 Thread Alexander Monakov
On Fri, 11 May 2018, Richard Biener wrote: > Looks good to me. As additional enhancement we might want to provide > (even unconditionally?) > the glibc qsort_r() interface. I remember adding various globals to > pass down state to the comparator... Thanks. I have no plans w.r.t qsort_r, but

Re: [PATCH 1/2] gcc_qsort: source code changes

2018-05-11 Thread Richard Biener
On Thu, May 10, 2018 at 5:56 PM, Alexander Monakov wrote: > * sort.cc: New file. > * system.h [!CHECKING_P] (qsort): Redirect to gcc_qsort. > * vec.c (qsort_chk): Use gcc_qsort. Looks good to me. As additional enhancement we might want to provide

Re: [PATCH 1/2] gcc_qsort: source code changes

2018-05-10 Thread DJ Delorie
Alexander Monakov writes: > I'm not sure. It has a weaker contract compared to qsort, and I believe > functions in libiberty are understood to provide stronger/better replacements. The original intent of libiberty was to provide a stronger *portability* contract, i.e. to

Re: [PATCH 1/2] gcc_qsort: source code changes

2018-05-10 Thread Alexander Monakov
On Thu, 10 May 2018, Richard Biener wrote: > > Just a quick first remark - how about putting this into libiberty? And then > name it xqsort? I'm not sure. It has a weaker contract compared to qsort, and I believe functions in libiberty are understood to provide stronger/better replacements.

Re: [PATCH 1/2] gcc_qsort: source code changes

2018-05-10 Thread Richard Biener
On May 10, 2018 5:56:40 PM GMT+02:00, Alexander Monakov wrote: > * sort.cc: New file. >* system.h [!CHECKING_P] (qsort): Redirect to gcc_qsort. >* vec.c (qsort_chk): Use gcc_qsort. Just a quick first remark - how about putting this into libiberty? And

Re: [PATCH 1/2] gcc_qsort: source code changes

2018-05-10 Thread David Malcolm
On Thu, 2018-05-10 at 18:56 +0300, Alexander Monakov wrote: > * sort.cc: New file. > * system.h [!CHECKING_P] (qsort): Redirect to gcc_qsort. > * vec.c (qsort_chk): Use gcc_qsort. [...snip...] I'm not a reviewer for this, but there's a lot of fiddly implementation logic

[PATCH 1/2] gcc_qsort: source code changes

2018-05-10 Thread Alexander Monakov
* sort.cc: New file. * system.h [!CHECKING_P] (qsort): Redirect to gcc_qsort. * vec.c (qsort_chk): Use gcc_qsort. --- gcc/sort.cc | 232 +++ gcc/system.h | 7 +- gcc/vec.c| 2 +- 3 files changed, 238