On Wed, Nov 14, 2018 at 12:43 PM Iain Sandoe <i...@sandoe.co.uk> wrote:
>
>
> > On 13 Nov 2018, at 19:31, Dominique d'Humières <domi...@lps.ens.fr> wrote:
> >
> > Revision r266072 breaks bootstrap on darwin:
> >
> > In file included from ../../work/gcc/coretypes.h:430,
> >                 from ../../work/gcc/tree-vect-data-refs.c:24:
> > ../../work/gcc/poly-int.h: In instantiation of 'typename if_nonpoly<Ca, 
> > bool>::type maybe_lt(const Ca&, const poly_int_pod<N, Cb>&) [with unsigned 
> > int N = 1; Ca = int; Cb = long long unsigned int; typename if_nonpoly<Ca, 
> > bool>::type = bool]':
> > ../../work/gcc/tree-vect-data-refs.c:6338:13:   required from here
> > ../../work/gcc/poly-int.h:1384:12: error: comparison of integer expressions 
> > of different signedness: 'const int' and 'const long long unsigned int' 
> > [-Werror=sign-compare]
> > 1384 |   return a < b.coeffs[0];
> >      |          ~~^~~~~~~~~~~
> > cc1plus: all warnings being treated as errors
>
> It’s not immediately obvious why there aren’t more folks with bootstrap fails 
> - grep says that MAX_OFILE_ALIGNMENT is defined in a similar way for many 
> targets.
>
> I’m testing this (almost obvious) fix:
> (nit: the else case line also needs wrapping [81chars]) :
>
> diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
> index 1cc0320..deb7121 100644
> --- a/gcc/tree-vect-data-refs.c
> +++ b/gcc/tree-vect-data-refs.c
> @@ -6335,7 +6335,8 @@ vect_can_force_dr_alignment_p (const_tree decl, 
> poly_uint64 alignment)
>      return false;
>
>    if (TREE_STATIC (decl))
> -    return (known_le (alignment, MAX_OFILE_ALIGNMENT));
> +    return (known_le (alignment,
> +                     (unsigned HOST_WIDE_INT) MAX_OFILE_ALIGNMENT));
>    else
>      return (known_le (alignment, (unsigned HOST_WIDE_INT) 
> MAX_STACK_ALIGNMENT));
>  }
>
> OK?

OK.

> Iain
>

Reply via email to