Good clarification, you really only know what you're going to get on (language, compiler, compiler version, platform).
But extensions like typeof are different from UB. They have documented behavior, it is just documented by GNU instead of the C standards committee.