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

A.2.7 –compat[={ 4|5}]

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

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

A.2.7.1 値

-compat オプションには次の値を指定できます。

値 

意味  

-compat=4

(互換モード) 言語とバイナリの互換性を 4.0.1、4.1、4.2 コンパイラに合わせます。__cplusplus プリプロセッサマクロを 1 に、__SUNPRO_CC_COMPAT プリプロセッサマクロを 4 にそれぞれ設定します。

-compat=5

(標準モード) 言語とバイナリの互換性を ANSI/ISO 標準モード 5.0 コンパイラに合わせます。__cplusplus プリプロセッサマクロを 1997IIL に、__SUNPRO_CC_COMPAT プリプロセッサマクロを 5 にそれぞれ設定します。

デフォルト

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

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

相互の関連性

標準ライブラリは互換モード (-compat[=4]) で使用できません。

-compat[=4] では次のオプションの使用はサポートしていません。

-compat=5 では次のオプションの使用はサポートされません。

警告

共有ライブラリを構築するときは、-Bsymbolic を使用しないでください。

関連項目

C++ 移行ガイド