------- Comment #2 from rguenth at gcc dot gnu dot org 2008-11-30 11:56 ------- Well, the middle-end thinks that *ap is clobbered by the calls to foo/bar (which it obviously is). The middle-end has no idea that the _vptr member of *ap is special and not clobbered (is it?). We do not have a suitable way to represent this either.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35560