[Patch] PR 61692 - Fix for inline asm ICE

Jeff Law law@redhat.com
Mon Dec 8 21:59:00 GMT 2014


On 11/15/14 20:59, David Wohlferd wrote:
> On 9/15/2014 2:51 PM, Jeff Law wrote:
>> Let's go with your original inputs + outputs + labels change and punt
>> the clobbers stuff for now.
>>
>> jeff
>
> I have also added the test code you requested.
>
> I have a release on file with the FSF, but don't have SVN write access.
>
> Problem:
> extract_insn() in recog.c will ICE if (noperands > MAX_RECOG_OPERANDS).
> Normally this isn't a problem since expand_asm_operands() in cfgexpand.c
> catches and reports a proper error for this condition.  However,
> expand_asm_operands() only checks (ninputs + noutputs) instead of
> (ninputs + noutputs + nlabels), so you can get the ICE when using "asm
> goto."
>
> ChangeLog:
> 2014-11-15  David Wohlferd <dw@LimeGreenSocks.com>
>
>          PR target/61692
>          * cfgexpand.c (expand_asm_operands): Count all inline asm params.
>          * testsuite/gcc.dg/pr61692.c: New test.
Thanks.  I put the testsuite ChangeLog entry in the right place and 
added a dg-do directive to the testcase to ensure we just try to compile it.

Thanks for your patience, things got rather busy and obviously I'm still 
working through my personal backlog of patches from folks.

Jeff



More information about the Gcc-patches mailing list