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. Jakub