Everything
4.2.2 マクロ

CC-RHであらかじめ定義されるマクロ名を次に示します。

表 4.8

サポートしているマクロ

定義する条件注1

マクロ名

常に

__LINE__

その時点でのソース行の行番号(10進数)

常に

__FILE__

ソース・ファイルの名前(文字列定数)

常に

__DATE__注2

ソース・ファイルの翻訳日付(文字列定数)注3

常に

__TIME__注2

ソース・ファイルの翻訳時間(文字列定数)注4

-strict_std指定時

__STDC__

1

-lang=c99指定時

__STDC_HOSTED__

0

常に

__STDC_VERSION__

199409L(-lang=c99未指定時)

199901L(-lang=c99指定時)

-lang=c99指定時

__STDC_IEC_559__

1

常に

__RENESAS__

1

常に

__RENESAS_VERSION__

0xXXYYZZ00注5

常に

__CCRH__

1

__CCRH

1

常に

__RH850__

1

__RH850

1

常に

__v850e3v5__

1

__v850e3v5

1

-Xdbl_size=4 指定時

__DBL4

1

__DOUBLE_IS_32BITS__

1

-Xdbl_size=8 指定時

__DBL8

1

__DOUBLE_IS_64BITS__

1

-Xround=nearest 指定時

__RON

1

-Xround=zero 指定時

__ROZ

1

-Xbit_order=left指定時

__BITLEFT

1

-Xbit_order=right指定時

__BITRIGHT

1

-Xenum_type=auto指定時

__AUTO_ENUM

1

-Xfloat=fpu指定時

__FPU

1

常に

__CHAR_SIGNED__

1

-Xreg_mode=32指定時

__reg32__

1

-Xreg_mode=22指定時

__reg22__

1

-Xreg_mode=common指定時

__reg_common__

1

常に

_LIT

1

常に

__MULTI_LEVEL__

levelで指定した値(10進数)

(-Xmulti_levelオプションが指定されていない場合,値は0)

-pic指定時

__PIC

1

-pirod指定時

__PIROD

1

-pid指定時

__PID

1

注 1.

オプション指定の条件は,省略時解釈の場合も該当します。

注 2.

翻訳日付または翻訳時刻を得られない場合はなく,__DATE__,__TIME__は常に定義を持ちます。

注 3.

“Mmm dd yyyy”の形式をもつ文字列定数。ここで,月の名前(Mmm)はC言語規格で規定されているasctime関数で生成されるもの(英字3文字の並びで最初の1文字のみ大文字)と同じもの。ddの最初の文字は値が10より小さい場合空白とします。

注 4.

asctime関数で生成される時間と同じような“hh : mm : ss”の型式をもつ文字列定数。

注 5.

バージョンがVXX.YY.ZZの場合,0xXXYYZZ00とします。
例)V1.02.03 → __RENESAS_VERSION__ = 0x01020300