It's a good check to add, but if it returns true we should abort
rather than
just returning 0.

I couldn't convince myself that a subprogram definition inside a type
declaration would never happen, so I took the defensive approach. If
you're confident that it can't (or shouldn't) ever happen, then what if
I leave the predicate contains_subprogram_definition as is, remove the
call from the condition, and instead assert that it returns false just
before returning 1 from should_move_die_to_comdat?

(I have found a couple more cases where this happens in gcc 4.4.3, but
they're fixed on trunk.)

-cary

http://codereview.appspot.com/4433068/

Reply via email to