Try the attached patch. In the case where I saw this ICE, the tree generated by Ada was not valid (had a type mismatch on a MODIFY_EXPR). So the patch you sent may not necessarily be needed.