------- Comment #74 from rguenth at gcc dot gnu dot org 2007-05-16 15:36 ------- Note that another solution to this whole problem is to record conflicts for all stored-to types that we cannot disambiguate by points-to analysis. This also solves the reading of the standard that allows
int i = 1; (float *)&i = 0.0; at RTL expansion time we need to do the same apart from that we don't have points-to information available. The above supports the notion of "re-using memory changes its dynamic type". Which of course gets a little interesting for aggregates that are initialized piece-wise (not that this problem isn't present now). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29286