C++ ユーザーズガイド

-compat[=(4|5)]

コンパイラの主要リリースとの互換モードを設定します。このオプションは、__SUNPRO_CC_COMPAT__cplusplus マクロを制御します。

C++ コンパイラには主要なモードが 2 つあります。1 つは互換モードで、4.2 コンパイラで定義された ARM の意味解釈と言語が有効です。もう1 つは標準モードです。このモードでは、構文は ANSI/ISO 標準に従っていなければなりません。これらのモードには互換性はありません。ANSI/ISO 標準では、名前の符号化、vtable の配置、その他の ABI の細かい点で互換性のない変更がかなり必要であるためです。これらのモードは、次に示す -compat オプションで指定します。

値 

意味 

-compat=4

(互換モード) 言語とバイナリの互換性を 4.0.1、4.1、4.2 コンパイラに合わせます。 

-compat=5

(標準モード) 言語とバイナリの互換性を 5.0 コンパイラに合わせます。 

デフォルト

-compat オプションを指定しないと、-compat=5 が使用されます。

-compat だけを指定すると、-compat=4 が使用されます。

__SUNPRO_CC は、-compat の設定に関係なく 0x500 に設定されます。

相互の関連性

このオプションは、プリプロセッサの __SUNPRO_CC_COMPAT=(4|5) マクロを制御します。

-xarch=v9 オプションと -compat[=4] オプションを同時に指定することはできません。

関連項目

『C++ 移行ガイド』