4.1.5 ANSI規格に厳密な処理オプション

CC-RHで-Xansiオプションを指定した場合,ANSI規格に厳密な処理が行われます。

次に,-Xansiオプションを指定した場合と,指定しない場合の処理の違いを示します。

表 4.8

言語仕様に厳密な-Xansiオプション指定時の処理

項目

-Xansi指定あり

-Xansi指定なし

ビット・フィールド

ビット・フィールドにint型以外の型を指定した場合,エラー注1とします。

int型以外の型の指定を許可します。

#行番号

エラーとします。

“#line”行番号と同様に扱います。注2

#pragma inlineされた関数の引数

指定した関数の呼び出しと定義の間で戻り値の型や引数の型が異なるが型変換が可能である場合,エラーとします。

戻り値の型は呼び出し側の型に,引数は関数定義での型に変換して,インライン展開します。

_Bool型

long long型

__fp16型

エラーとします。

指定を許可します。

構造体指定子

共用体指定子

メンバ宣言並びが名前付のメンバを含まない場合,意味を持たない旨のエラーメッセージを出力します。

メンバ宣言並びが名前付のメンバを含まない場合,意味を持たない旨の警告メッセージを出力します。

注 1.

“E”で始まる通常のエラー。以下同じです。

注 2.

ANSI規格を参照してください。