http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51949
--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-01-23 10:42:04 UTC --- We do not honor cur_node->local.can_change_signature, and that does not take into account return value removal. I have a smallish workaround.