Well then smart guy what compiler has implemented it successfully. I know for a fact gcc and Microsoft hasn't.

I really don't care what ISO says! If Microsoft or Linux has not implemented it then I certainly cannot rely on it. So like I originally said, "we should always declare destructors as virtual."

If you don't then you are asking for trouble. It's a good programming technique.