extern インライン関数のコンパイラの処理は、デフォルトでは、ISO/IEC 9899:1999 C 規格に規定されている動作に準拠しています。version 5.5 またはそれ以前の C および C++ コンパイラで提供されているのと同じ extern インライン関数の処理を得るには、-features=no%extinl を付けて新しいコードをコンパイルしてください。
表 B–6 -features のフラグ
値 |
意味 |
---|---|
extensions |
サイズがゼロの構造体または共用体の宣言、および有効な値を返す return 文を持つ void 関数を使用できます。 |
extinl |
extern インライン関数を大域関数として生成します。これがデフォルトで、1999 C 規格に準拠しています。 |
no%extinl |
extern インライン関数を静的関数として生成します。 |
%none |
このオプションを無効にします。 |
古い C および C++ オブジェクト (このリリースより前の Sun コンパイラで作成されたオブジェクト) は、そのオブジェクトの動作変更なしに、新しい C および C++ オブジェクトとリンクできます。規格に適合した動作を実現するには、最新のコンパイラを使って古いコードをコンパイルする必要があります。
-features に値を指定しない場合は、-features=extinl に設定されます。