-convert_cc


他コンパイラ向けに書かれたプログラムの移行を支援します。

[指定形式]

-convert_cc={ca78k0r|nc30|iar}

 

-

省略時解釈

他コンパイラ向けに書かれたプログラムの移行支援機能を無効にします。

[詳細説明]

-

他コンパイラの拡張機能をCC-RLの拡張機能に変換します。動作はCC-RLの仕様に従います。

-

ANSI C言語における未規定,未定義,処理系定義の項目については,移行前のコンパイラと同じ動作を保障しません。

-

本オプションを複数回指定した場合はコンパイル・エラーとなります。

-

本オプションにおけるコンパイラ種別が異なるオブジェクト同士をリンクする場合,動作を保証しません。

-

指定可能なパラメータを以下に示します。

これ以外のものを指定した場合はコンパイル・エラーとなります。

パラメータ

説明

ca78k0r

CA78K0Rの拡張仕様に対する移行支援機能を有効にします。

nc30

NC30の拡張仕様に対する移行支援機能を有効にします。

iar

ICCRL78(IARコンパイラ)の拡張仕様に対する移行支援機能を有効にします。

-

本オプションは,-lang=c99オプションを指定した場合は無効となります。

 

-convert_cc=ca78k0rを指定した場合の動作は以下のとおりです。

-

マクロ__CNV_CA78K0R__を有効にします。

-

#pragmaに続くキーワードがすべて大文字か,すべて小文字の場合に認識します。
キーワードに大文字と小文字が混在した場合は,未知のキーワードとして扱います。

-

拡張仕様の対応は以下のとおりです。

表 2.3

移行支援機能オプション指定時の動作(-convert_cc=ca78k0r)

ca78k0rの機能

CC-RLでの機能

オプション指定時の動作

__callt, callt

__callt

-strict_stdオプション非指定時に,calltキーワードを__calltに置換します。

__callf, callf

なし

サポート対象外です。

構文エラーとなります。

__sreg, sreg

__saddr

__sregキーワードを__saddrに置換します。

-strict_stdオプション非指定時に,sregキーワードを__saddrに置換します。

__leaf, norec, noauto

なし

サポート対象外です。

構文エラーとなります。

__boolean, boolean, bit

なし

-strict_stdオプション指定時に,__booleanキーワードをcharに置換します。

-strict_stdオプション非指定時に,__boolean,boolean,bitキーワードを_Boolに置換します。

__interrupt

__interrupt_brk

#pragma interrupt

#pragma interrupt_brk

キーワードで修飾された関数に対する#pragma指令が同じファイル内にある場合は,キーワードを削除します。そうでない場合は,キーワードを#pragma 指令に置換します。

__asm

#asm 〜 #endasm

#pragma inline_asm

サポート対象外です。

__asmは通常の関数呼び出しとして扱います。

#asm,および#endasmは構文エラーとなります。

__rtos_interrupt

#pragma rtos_interrupt

キーワードで修飾された関数に対する#pragma指令が同じファイル内にある場合は,キーワードを削除します。そうでない場合は,キーワードを#pragma 指令に置換します。

__pascal

なし

サポート対象外です。

構文エラーとなります。

__flash

なし

サポート対象外です。

構文エラーとなります。

__flashf

なし

サポート対象外です。

構文エラーとなります。

__directmap

#pragma address

キーワードを削除して新たに#pragma address を作成します。__sreg,sreg または__saddrを同時に指定した場合はコンパイル・エラーとなります。複数の変数を同一アドレスに指定した場合はエラーとなります。

__temp

なし

サポート対象外です。

構文エラーとなります。

__near, __far

__near, __far

farポインタの演算ルールはCC-RLの仕様に従います。

関数や関数ポインタの宣言における__near, __farキーワードの記述位置は,CC-RLの仕様に従います。CA78KORの仕様で記述した場合は,構文エラーとなります。

farポインタの演算ルールについては「メモリ配置領域指定(__near/__far)」の「ポインタ演算」の項を参照してください。

__mxcall

なし

サポート対象外です。

構文エラーとなります。

#pragma sfr

#include "iodefine.h"

#pragma 指令を無視し,警告メッセージを出力します。

ビットアクセスを含むSFR への参照を,iodefine.hで定義した記号定数への参照に変換します。

iodefine.hのインクルードは手動で指定してください。

#pragma vect

#pragma interrupt

#pragma interrupt

#pragma interrupt_brk

CC-RLの仕様に置換します。

vectキーワードをinterruptに置換します。

割り込み要求名がBRK_Iの場合は,interruptまたはvectキーワードをinterrupt_brkに置換します。

スタック切り替え指定がある場合は削除し,警告メッセージを出力します。

割り込み要求名は,iodefine.hで定義したアドレスに変換します。iodefine.hのインクルードは手動で指定してください。

Cソース・ファイル中に#pragma指令のみを記述し関数宣言や関数定義がない場合は,ベクタテーブルを生成せず,リンク時にエラーとなりません。

割り込みハンドラには一つの割り込み要求名しか設定できません。

#pragma rtos_interrupt

#pragma rtos_interrupt

CC-RLの仕様に置換します。

割り込み要求名は,iodefine.hで定義したアドレスに変換します。iodefine.hのインクルードは手動で指定してください。

Cソース・ファイル中に#pragma指令のみを記述し関数宣言や関数定義がない場合は,ベクタテーブルを生成せず,リンク時にエラーとなりません。

#pragma rtos_task

#pragma rtos_task

CC-RLの仕様に置換します。

#pragma di

#pragma ei

__DI

__EI

関数DI, EIの呼び出しを__DI, __EIに置換します。

#pragma halt

#pragma stop

#pragma brk

#pragma nop

__halt

__stop

__brk

__nop

関数HALT, STOP, BRK, NOPの呼び出しを__halt, __stop, __brk, __nopに置換します。

#pragma section

#pragma section

コンパイラ出力セクション名をCC-RL仕様に従ったセクション名に置換します。アドレス指定がある場合は削除し,警告メッセージを出力します。CC-RLのセクション名に置換できない場合は,#pragma指令を削除し警告メッセージを出力します。

CC-RLで記述可能なセクション名については,「コンパイラ出力セクション名の変更(#pragma section)」を参照してください。

#pragma name

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma rot

__rolb, __rorb,

__rolw, __rorw

関数rolb, rorb, rolw, rorwの呼び出しを__rolb, __rorb, __rolw, __rorwに置換します。

#pragma mul

__mulu,

__mului, __mulsi

関数mulu, muluw, mulswの呼び出しを__mulu, __mului, __mulsiに置換します。

#pragma div

__divui, __remui

関数divuw, moduwの呼び出しを__divui, __remuiに置換します。

#pragma mac

__macui, __macsi

関数macuw, macswの呼び出しを__macui, __macsiに置換します。

#pragma bcd

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma opc

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma ext_func

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma inline

なし

#pragma指令に続いて改行がある場合は#pragma指令を無視して警告メッセージを出力します。

#pragma指令に続いて同じ行に関数名がある場合は

CC-RLの#pragma inline(別機能)として処理します。

2進定数

2進定数

そのまま2進定数として処理します。

__K0R__

__RL78__

マクロが有効となります(10進定数1)。

__K0R__SMALL__

__RL78_SMALL__

-memory_modelオプションでsmallを指定した場合,または,-cpuオプションでS1を指定し-memory_modelオプションを指定しなかった場合にマクロが有効となります(10進定数1)。

__K0R__MEDIUM__

__RL78_MEDIUM__

-memory_modelオプションでmediumを指定した場合,または,-cpuオプションでS1以外を指定し

-memory_modelオプションを指定しなかった場合にマクロが有効となります(10進定数1)。

__K0R__LARGE__

なし

サポート対象外です。

ユーザ定義マクロとして扱います。

__CHAR_UNSIGNED__

__UCHAR

-signed_charオプションを指定しなかった場合にマクロが有効となります(10進定数1)。

__RL78_1__

__RL78_S2__

-cpuオプションでS2を指定した場合にマクロが有効となります(10進定数1)。

__RL78_2__

__RL78_S3__

-cpuオプションでS3を指定した場合にマクロが有効となります(10進定数1)。

__RL78_3__

__RL78_S1__

-cpuオプションでS1を指定した場合にマクロが有効となります(10進定数1)。

__CA78K0R__

なし

マクロが有効となります(10進定数1)。

CPUマクロ

なし

サポート対象外です。

ユーザ定義マクロとして扱います。

標準ライブラリ関数

va_starttop

va_start

stdarg.hにて,va_starttopをva_startに置換します。

標準ライブラリ関数

toup,_toupper,tolow,

_tolower,__putc,calloc,

free,malloc,realloc,

atexit,brk,sbrk,itoa,

ltoa,ultoa,strbrk,strsbrk,

stritoa,strltoa,strultoa,

strcoll,strxfrm,matherr,

_assertfail

なし

サポート対象外です。

通常の関数呼び出しとして扱います。

標準ライブラリ関数

その他

標準ライブラリ関数

CC-RLの仕様に従います。

関数や関数ポインタに対する__near, __farキーワードの記述位置は,CC-RLの仕様に従います。CA78KORの仕様で記述した場合は,構文エラーとなります。

標準ライブラリ

マクロ

標準ライブラリ

マクロ

CC-RLのヘッダ・ファイルで定義するマクロと同名のマクロは,CC-RLの仕様に従います。

それ以外のマクロはサポート対象外です。ユーザ定義マクロとして扱います。

 

-convert_cc=nc30を指定した場合の動作は以下のとおりです。

-

マクロ__CNV_NC30__を有効にします。

-

拡張仕様の対応は以下のとおりです。

表 2.4

移行支援機能オプション指定時の動作(-convert_cc=nc30)

nc30の機能

CC-RLでの機能

オプション指定時の動作

wchar_t型

なし

stddef.hにて,wchar_t型をunsigned short型としてtypedef宣言します。

接尾語なし,接尾語l

またはLの10進定数

int

long int

long long int

接尾語なし,接尾語lまたはLの10進定数

int

long int

long long int

CC-RLの仕様に従います。

2進定数

2進定数

そのまま2進定数として処理します。

“_”は数値と数値の間に記述できます。それ以外の場所に記述した場合は構文エラーとなります。

ワイド文字列

ワイド文字列

文字列定数とワイド文字列定数を結合する場合は,

CC-RLの仕様に従います。

関数のデフォルト引数宣言

なし

サポート対象外です。

構文エラーとなります。

near,far

_near,_far

__near,__far

キーワードを__near,__farに置換します。

farポインタの演算ルールはCC-RLの仕様に従います。

farポインタの演算ルールについては「メモリ配置領域指定(__near/__far)」の「ポインタ演算」の項を参照してください。

asm,_asm

#pragma inline_asm

サポート対象外です。

通常の関数呼び出しとして扱います。

inline,_inline

__inline

キーワードを__inlineに置換します。

restrict

なし

キーワードを削除し,警告メッセージを出力します。

_ext4mptr

なし

キーワードを削除し,警告メッセージを出力します。

#pragma ROM

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma SECTION

#pragma section

コンパイラ出力セクション名をCC-RLのセクション名に置換します。

セクション種別が不適切な場合は#pragma指令を削除し警告メッセージを出力します。

CC-RLのセクション名に置換できない場合はコンパイル・エラーとなります。

#pragma STRUCT

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma EXT4MPTR

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma ADDRESS

#pragma address

CC-RLの#pragma addressとして処理します。

アドレスの数値表記がCC-RLの仕様と異なる場合は,#pragma指令を削除し警告メッセージを出力します。

#pragma BITADDRESS

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma INTCALL

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma INTERRUPT

#pragma interrupt

CC-RLの#pragma interruptとして処理します。

CC-RLと異なるフォーマットで記述した場合は,#pragma指令を削除し警告メッセージを出力します。

#pragma PARAMETER

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma SPECIAL

#pragma callt

#pragma指令で指定した関数をcallt関数とし,警告メッセージを出力します。

呼び出し番号は無視します。

#pragma ALMHANDLER

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma CYCHANDLER

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma INTHANDLER

#pragma HANDLER

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma TASK

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma __ASMMACRO

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma ASM〜ENDASM

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma JSRA

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma JSRW

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma PAGE

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma SBDATA

なし

#pragma指令を削除し警告メッセージを出力します。

NC30

なし

マクロが有効となります。(空白を定義)

M16C

なし

マクロが有効となります。(空白を定義)

__R8C__

なし

マクロが有効となります。(空白を定義)

__cplusplus

なし

ユーザ定義マクロとして扱います。

標準ライブラリ関数

clearerr,fgetc,getc,

fgets,fread,fscanf,fputc,

putc,fputs,fwrite,fflush,

fprintf,vfprintf,ungetc,

ferror,feof,calloc,free,

malloc,realloc,mblen,

mbstowcs,mbtowc,

wcstombs,wctomb,

strcoll,stricmp,strnicmp,

strxfrm,bzero,bcopy,

memicmp,localeconv,

setlocale

なし

サポート対象外です。

通常の関数呼び出しとして扱います。

サポートしていないヘッダ・ファイルをインクルードしている場合はコンパイル・エラーとなります。

標準ライブラリ関数

その他

標準ライブラリ関数

CC-RLの仕様に従います。

関数や関数ポインタに対する__near, __farキーワードの記述位置は,CC-RLの仕様に従います。

標準ライブラリ

マクロ

標準ライブラリ

マクロ

CC-RLのヘッダ・ファイルで定義するマクロと同名のマクロは,CC-RLの仕様に従います。

それ以外のマクロはサポート対象外です。ユーザ定義マクロとして扱います。

 

-convert_cc=iarを指定した場合の動作は以下のとおりです。

-

マクロ__CNV_IAR__を有効にします。

-

拡張仕様の対応は以下のとおりです。

表 2.5

移行支援機能オプション指定時の動作(-convert_cc=iar)

iarの機能

CC-RLでの機能

オプション指定時の動作

wchar_t型

なし

stddef.hにて,wchar_t型をunsigned short型としてtypedef宣言します。

ファイルスコープの

匿名共用体

なし

サポート対象外です。

構文エラーとなります。

__near,__far

__near,__far

farポインタの演算ルールはCC-RLの仕様に従います。

farポインタの演算ルールについては「メモリ配置領域指定(__near/__far)」の「ポインタ演算」の項を参照してください。

__near_func,__far_func

__near,__far

キーワードを__near,__farに置換します。

farポインタの演算ルールはCC-RLの仕様に従います。

farポインタの演算ルールについては「メモリ配置領域指定(__near/__far)」の「ポインタ演算」の項を参照してください。

__interrupt

#pragma interrupt

"#pragma interrupt 関数名"に置換します。

__monitor

なし

キーワードを削除し,警告メッセージを出力します。

__no_bit_access

なし

キーワードを削除し,警告メッセージを出力します。

__no_init

なし

キーワードを削除し,警告メッセージを出力します。

__intrinsic

なし

サポート対象外です。

構文エラーとなります。

__noreturn

なし

キーワードを削除し,警告メッセージを出力します。

__no_save

なし

キーワードを削除し,警告メッセージを出力します。

__root

なし

キーワードを削除し,警告メッセージを出力します。

__ro_placement

なし

キーワードを削除し,警告メッセージを出力します。

__sfr

なし

サポート対象外です。

構文エラーとなります。

__saddr

__saddr

そのまま__saddrキーワードとして扱います。

@演算子

#pragma address

サポート対象外です。

構文エラーとなります。

__segment_begin

__sectop

変換せず,エラー・メッセージを出力します。

__segment_end

__secend

変換せず,エラー・メッセージを出力します。

__segment_size

なし

エラー・メッセージを出力します。

__ALIGNOF__

なし

エラー・メッセージを出力します。

static_assert

なし

エラー・メッセージを出力します。

__break

__brk

__brkに置換します。

__disable_interrupt

__DI

__DIに置換します。

__enable_interrupt

__EI

__EIに置換します。

__get_interrupt_level

なし

通常の関数呼び出しとして扱います。

__get_interrupt_state

なし

通常の関数呼び出しとして扱います。

__mach

なし

通常の関数呼び出しとして扱います。

__machu

なし

通常の関数呼び出しとして扱います。

__no_operation

__nop

__nopに置換します。

__set_interrupt_level

なし

通常の関数呼び出しとして扱います。

__set_interrupt_state

なし

通常の関数呼び出しとして扱います。

__stop

__stop

そのまま__stopとして扱います。

#pragma vector

#pragma interrupt

"#pragma interrupt 関数名 (vect=アドレス)"に置換します。

関数名は#pragma vectorに後続する関数宣言中の関数名とし,__interruptキーワードは削除します。

__interrupt関数が後続しない場合は,#pragma宣言を削除します。

割り込みハンドラに複数の割り込み要求名を指定した場合,最初の割り込み要求名を設定し,2つ目以降の割り込み要求名は警告を出して無視します。

#pragma bank

#pragma interrupt

"#pragma interrupt 関数名 (bank={RB0 | RB1 | RB2 | RB3})"に置換します。

関数名は#pragma bankに後続する関数宣言中の関数名とし,__interruptキーワードは削除します。

移行後のレジスタ・バンクは,#pragma bankで指定した番号の先頭に"RB"を付けたものとなります。

__interrupt関数が後続しない場合は,#pragma 宣言を削除します。

#pragma basic_template_matching

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma bitfields

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma constseg

#pragma section

#pragma指令を削除し警告メッセージを出力します。

#pragma data_alignment

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma dataseg

#pragma section

#pragma指令を削除し警告メッセージを出力します。

#pragma diag_default

なし

#pragma指令が有効となります。

#pragma diag_error

なし

#pragma指令が有効となります。

#pragma diag_remark

なし

#pragma指令が有効となります。

#pragma diag_suppress

なし

#pragma指令が有効となります。

#pragma diag_warning

なし

#pragma指令が有効となります。

#pragma error

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma include_alias

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma inline

#pragma inline /

#pragma noinline

forced指定時は#pragma inline,never指定時は#pragma noinlineに置換します。

なお,forced指定時に必ずインライン展開されるとは限りません。

適用する関数は#pragma inlineに後続する関数宣言中の関数とします。

関数宣言以外が後続する場合はエラーとなります。

何も後続しない場合は,#pragma指令を削除し警告メッセージを出力します。

IAR形式の#pragma inlineのみ使用可能です。CC-RL形式の#pragma inlineはコンパイル・エラーとなります。

#pragma language

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma location

#pragma address

絶対アドレスを指定した場合,#pragma addressに置換します。

#pragma addressで用いる変数名は#pragma locationに後続する変数宣言中の変数名とします。

変数宣言が後続しない場合は,#pragma指令を削除し警告メッセージを出力します。

セグメント名はサポート対象外です。構文エラーとなります。

#pragma message

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma object_attribute

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma optimize

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma pack

なし

アライメントが1と判断できた場合はCC-RLの#pragma packに,アライメントが2と判断できた場合はCC-RLの#pragma unpackに変換します。

それ以外のアライメント指定,アライメント以外のパラメータは無視します。

#pragma __printf_args

なし

#pragma指令が有効となります。

#pragma required

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma rtmodel

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma __scanf_args

なし

#pragma指令が有効となります。

#pragma segment

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma section

なし

CC-RLの#pragma sectionとして処理します。

CC-RLと異なるフォーマットで記述された場合は#pragma指令を無視し,警告メッセージを出力します。

#pragma STDC CX_LIMITED_RANGE

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma STDC FENV_ACCESS

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma STDC FP_CONTRACT

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma type_attribute

なし

#pragma指令を削除し警告メッセージを出力します。

#pragma unroll

なし

#pragma指令を削除し警告メッセージを出力します。

#warning

なし

#pragma指令が有効となります。

_Pragma()

なし

通常の関数呼び出しとして扱います。

__CORE__

なし

マクロが有効となります。

-cpuオプションの指定に応じて以下のいずれかの値になります。

-

__RL78_0__(-cpuオプションでS1を指定した場合)

-

__RL78_1__(-cpuオプションでS2を指定した場合)

-

__RL78_2__(-cpuオプションでS3を指定した場合)

__RL78_0__

__RL78_S1__

マクロが有効となります。(値は1)

__RL78_1__

__RL78_S2__

マクロが有効となります。(値は2)

__RL78_2__

__RL78_S3__

マクロが有効となります。(値は3)

__CODE_MODEL__

なし

マクロが有効となります。

-memory_modelオプション,または,-cpuオプションの指定に応じて以下のいずれかの値になります。

-

__CODE_MODEL_NEAR__(-memory_model オプションでsmallを指定した場合,または,-cpuオプションでS1を指定し-memory_modelオプションを指定しなかった場合)

-

__CODE_MODEL_FAR__(-memory_model オプションでmediumを指定した場合,または,-cpuオプションでS1以外を指定し-memory_modelオプションを指定しなかった場合)

__CODE_MODEL_NEAR__

__RL78_SMALL__

マクロが有効となります。(値は1)

__CODE_MODEL_FAR__

__RL78_MEDIUM__

マクロが有効となります。(値は2)

__DATA_MODEL__

なし

マクロが有効となります。

-memory_modelオプション,-cpuオプションの指定にかかわらず,値は__DATA_MODEL_NEAR__となります。

__DATA_MODEL_NEAR__

__RL78_SMALL__

マクロが有効となります。(値は1)

__DATA_MODEL_FAR__

なし

マクロが有効となります。(値は2)

__func__

なし

マクロが有効となります。

__FUNCTION__

なし

マクロが有効となります。

__PRETTY_FUNCTION__

なし

マクロが有効となります。

__IAR_SYSTEMS_ICC__

なし

マクロが有効となります。(値は8)

__ICCRL78__

なし

マクロが有効となります。(値は1)

__BUILD_NUMBER__

__cplusplus

__DOUBLE__

__embedded_cplusplus

__LITTLE_ENDIAN__

__SUBVERSION__

__VER__

なし

ユーザ定義マクロとして扱います。

標準ライブラリ関数

fabsl

acosl

asinl

atanl

atan2l

ceill

cosl

coshl

expl

floorl

fmodl

frexpl

ldexpl

logl

log10l

modfl

powl

sinl

sinhl

sqrtl

tanl

tanhl

strtold

なし

以下の関数名に置換します。

fabs

acos

asin

atan

atan2

ceil

cos

cosh

exp

floor

fmod

frexp

ldexp

log

log10

modf

pow

sin

sinh

sqrt

tan

tanh

strtod

関数や関数ポインタに対する__near, __farキーワードの記述位置は,CC-RLの仕様に従います。

CC-RLでサポートしている標準ライブラリ関数

標準ライブラリ関数

CC-RLの仕様に従います。

関数や関数ポインタに対する__near, __farキーワードの記述位置は,CC-RLの仕様に従います。

標準ライブラリ関数

その他

なし

サポート対象外です。

通常の関数呼び出しとして扱います。

サポートしていないヘッダ・ファイルをインクルードしている場合はコンパイル・エラーとなります。

標準ライブラリ

マクロ

標準ライブラリ

マクロ

CC-RLのヘッダ・ファイルで定義するマクロと同名のマクロは,CC-RLの仕様に従います。

それ以外のマクロはサポート対象外です。ユーザ定義マクロとして扱います。

[使用例]

-

ca78k0r向けに書かれたプログラムの移行支援機能を有効にします。

>ccrl -convert_cc=ca78k0r -cpu=S2 -dev=dr5f100pj.dvf main.c