コンパイラの主要リリースとの互換モードを設定します。このオプションは、__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++ 移行ガイド』