So no one wastes time looking into this.... On Wed, Aug 15, 2012 at 10:54 AM, Matt Davis <mattdav...@gmail.com> wrote: > Hello, > In my compiler pass, I am inserting a new gimple call statement, and > then replacing the next call. This usually works fine, and after I do > this, the gimple dump looks as I expect. However, in one case, I > trigger gcc to abort in "remove_unreachable_handlers, at > tree-eh.c:3524" this is for gcc 4.7.1. When I perform the > gsi_insert() and gsi_replace() I maintain the EH data via setting the > 'update_eh_info' argument to 'true' in the latter function call. The > latter also updates the gimple statement, so I am really not sure what > else I should be doing. Usually this works, but in one of my cases it > is failing. I have not been able to pinpoint what is unique about the > failing case. I am just looking for any insight.
I figured out what my code was doing. There are cases where I move statements around, primarily a call statement. Anyways, this was in fact occurring and the EH data was all bad. I have corrected my logic, and consequentially have this bug fixed. -Matt