https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89924

--- Comment #9 from Eyal Rozenberg <eyalroz at technion dot ac.il> ---
(In reply to Jason Merrill from comment #8)
> I think if the object were not an actual Aint, performing the standard
> conversion to A* should be undefined, allowing the devirtualization.  But
> I'm not finding actual wording to that effect in the current draft.

I'm not sure you _should_ find such language, because it's unnecessary. A
function getting a T* is allowed to assume that the pointer is pointing to a
valid T (and if I were a language lawyer I would tell you where that's stated).
Implicitly, therefore,, a C++ program is not required to have any defined
behavior when that T* does not point to a valid T.

Reply via email to