Sun Studio 12 Update 1: C++ ユーザーズガイド

A.2.107 -xalias_level[= n]

(SPARC) C++ コンパイラで次のコマンドを指定して、型に基づく別名の解析および最適化を実行することができます。

char 

short int 

long int 

float 

signed char 

unsigned short int 

unsigned long int 

double 

unsigned char 

int 

long long int 

long double 

wchar_t 

unsigned int 

unsigned long long int 

enumeration types 

データポインタ型 

関数ポインタ型 

データメンバーのポインタ型 

関数メンバーのポインタ型 

これらは、次の型の lvalue を使用してだけアクセスされます。

A.2.107.1 デフォルト

-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;
}