新規のコンパイラー・オプション

コンパイラー・オプションは、コマンド行上で、 あるいはアプリケーションのソース・ファイルに組み込まれているディレクティブを通じて、 指定することができます。

新規のコマンド行オプション

次の表は、XL C/C++ で新しいコマンド行オプションを要約したものです。 すべてのコンパイラー・オプションの詳細な構文上および使用上の情報は、 『コンパイラー・オプションの解説』 で見つけることができます。

オプション 説明および注釈
-qasm -qasm コンパイラー・オプションは、 新規の機能を追加しています。 ユーザーは、このコンパイラー・オプションを使用してユーザーのプログラム内のインラインのアセンブラー・ステートメントがどのように解釈されるかを制御することができるようになったばかりでなく、asm 文に対してコードが出されるかどうかを制御することもできます。
-qasm_as -qasm_as コンパイラー・オプションの構文はわずかに変わりました。
-qdump_class_hierarchy このオプションが有効になっている場合、 コンパイラーは、ファイルに対する各クラス・オブジェクトの階層および仮想関数テーブルのレイアウトの表現をダンプします。
-qlist -qlist コンパイラー・オプションは、新規の offset および nooffset のサブオプションを追加しています。 -qlist=offset を指定すると、コンパイラーは、 コード生成の始まりからではなく、プロシージャーの始まりからの、 オブジェクト・リスト・オフセットを表示するように指示されます。
-qmakedep -qmakedep コンパイラー・オプションは、 新規の gcc サブオプションを追加しています。 -qmakedep=gcc を指定すると、コンパイラーは、GNU C/C++ コンパイラーが使用するのと同様な形式で依存関係作成情報を生成するように指示されます。
-MF この新規のコンパイラー・オプションは、-qmakedep または -M オプションによって生成された依存関係作成ファイルのファイル名を指定します。
-qppline この新規のコンパイラー・オプションは、 プリプロセスされる出力内に #line ディレクティブを生成することを可能にします。 -qnoppline コンパイラー・オプションは、#line ディレクティブの生成を使用不可にします。
-qreserved_reg この新規のコンパイラー・オプションは、1 つ以上のレジスター名を予約させます。 予約されたレジスターは、スタック・ポインターまたはフレーム・ポインターとして、 あるいはその他の決まった役割で使用される場合を除き、コンパイル中は使用できません。
-qsourcetype このリリースは、-qsourcetype コンパイラー・オプションに、新規のサブオプションとして assembler-with-cpp を追加しています。

通常、コンパイラーは、プリプロセッシングが必要なアセンブラーのソース・ファイルを、 ファイルの .S ファイル名サフィックスによって認識します。 コンパイラーは、.S ソース・ファイルをプリプロセスし、 次にプリプロセッサーの出力をアセンブラーに送ります。

コマンド行上に -qsourcetype=assembler-with-cpp filename を指定すると、コンパイラーは、assembler-with-cpp より後に現れるすべてのファイル名を、ファイル名サフィックスには関係なく、 プリプロセッシングが必要なアセンブラー・ソース・ファイルとして扱うように指示されます。

-qtmplinst この新規のコンパイラー・オプションは、 コンパイラーがテンプレートの暗黙的インスタンス化を実行する方法を管理します。
-qversion -qversion コンパイラー・オプションを指定すると、 正式なコンパイラー製品名およびバージョンが戻されます。

新規のプラグマ・ディレクティブ

次の表は、XL C/C++ での新規のプラグマ・ディレクティブ・オプションを要約したものです。 詳細な構文および使用の情報は、『XL C/C++ プラグマ』 で見つけることができます。

#pragma ディレクティブ 説明および注釈
altivec_vrsave altivec_vrsave ディレクティブが有効になっている場合、 関数のプロローグおよびエピローグには、VRSAVE レジスターを維持するコードが組み込まれています。 このプラグマは、-qaltivec が有効になっているときに限り効果をもち、 ある 1 つの関数内でのみ使用しなければならず、それが現れる関数のみに影響を与えます。
STDC CX_LIMITED_RANGE STDC CX_LIMITED_RANGE ディレクティブは、 そのスコープ内で、 中間の計算がオーバーフローを起こしたり有効桁を失ったりしないような値でのみ複素数の部分と絶対値が呼び出されるようにコンパイラーに指示します。

関連情報