[Bug ada/48835] Porting GNAT to GNU/Linux/m68k
mikpe at it dot uu.se
gcc-bugzilla@gcc.gnu.org
Wed Sep 21 08:22:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48835
--- Comment #31 from Mikael Pettersson <mikpe at it dot uu.se> 2011-09-21 07:34:33 UTC ---
(In reply to comment #29)
> (In reply to comment #28)
> > Created attachment 24791 [details]
> > working patch for gcc-4.7-20110709
> >
> > gcc-4.7-20110709 bootstrapped fine with the attached forward-port of the
> > gcc-4.5 patch. I'm starting a bisection to see when trunk started to work
> > again, hoping that the same change will unbreak 4.6.1.
>
> After a lengthy bisection process, I've now finally identified r171341
> <http://gcc.gnu.org/ml/gcc-cvs/2011-03/msg00765.html> as the critical change
> that unbroke GNAT/m68k on trunk. r171341 mixes cleanups with bugfixes, and is
> far too big to backport as-is to 4.6, so I'm now trying to split it up to
> identify a minimal bugfix-only fragment that unbreaks GNAT/m68k.
It's the store_bit_field_1 changes + the new helpers that do the trick,
specifically:
* optabs.h
(expand_operand_type): New enum.
(expand_operand): New structure.
(create_expand_operand): New function.
(create_fixed_operand, create_output_operand): Likewise
(create_input_operand, create_convert_operand_to): Likewise.
(create_convert_operand_from, create_address_operand): Likewise.
(create_integer_operand): Likewise.
(create_convert_operand_from_type, maybe_legitimize_operands): Declare.
(maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
(expand_insn, expand_jump_insn): Likewise.
* optabs.c
(create_convert_operand_from_type): New function.
(maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
(maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
(expand_insn, expand_jump_insn): Likewise.
* expmed.c
(store_bit_field_1): Use the new interfaces.
I'll continue trying to minimize the changeset.
More information about the Gcc-bugs
mailing list