I find it confusing to mix up optimziation levels with options for restricting the language to accomodate old incorrect code. The strict aliasing doesa not break any correct code. I quite understand that there is a lot of old incorrect code around in this particular regard, but it would seem more reasonable to me rely on a separate option for this.