如果未指定 -xalias_level,则编译器将该选项设置为 -xalias_level=any。如果指定了 -xalias_level 但未提供值,则编译器将该选项设置为 -xalias_level=compatible。
编译器在 -xO2 和更低的优化级别不执行基于类型的别名分析。
如果要使用 reinterpret_cast 或等价的旧式强制类型转换,程序可能会违反分析假定。此外,联合类型也违反了分析的假定,如以下示例所示。
union bitbucket{ int i; float f; }; int bitsof(float f){ bitbucket var; var.f=3.6; return var.i; } |