On Mon, Jun 08, 2015 at 03:38:03PM +0200, Jakub Jelinek wrote: > On Mon, Jun 08, 2015 at 03:32:50PM +0200, Andreas Krebbel wrote: > > On 06/01/2015 10:22 AM, Jakub Jelinek wrote: > > > On Fri, May 22, 2015 at 09:54:00AM +0200, Andreas Krebbel wrote: > > >> On Tue, May 19, 2015 at 10:40:26AM +0200, Andreas Krebbel wrote: > > >>> On 05/18/2015 04:19 PM, Richard Biener wrote: > > >>>> Please use uint64_t instead. > > >>> > > >>> Done. Ok with that change? > > >> > > >> I've applied the following patch. > > > > > > Note that on current trunk cross compiler from x86_64-linux to > > > s390x-linux (admittedly just make cc1 of an older configured tree, > > > but with libcpp (normal and build) rebuilt) fails miserably with > > > genattrtab: invalid alternative specified for pattern number 1015 > > > > > >> * recog.h: Increase MAX_RECOG_ALTERNATIVES. > > >> Change type of alternative_mask to uint64_t. > > > > > > From quick look at genattrtab.c, there are many further spots > > > which rely on MAX_RECOG_ALTERNATIVES fitting into int bits. > > > > > > With this quick patch make cc1 at least succeeds, but no idea whether > > > I've caught all the spots which work with bitmasks of alternatives. > > > > I've regtested your patch on S/390 without seeing any problems. Could you > > please commit it to mainline? > > Ok, I will. Have you looked around if these are all the spots > that need changing for this in the gen* tools? > Perhaps trying -fsanitize=undefined and/or valgrind. I admit I haven't > spent too much time on it.
Could you please apply this to GCC 5 branch as well? I'm about to apply the z13 backports now. Bye, -Andreas-