Everything
4.1.3 C90の処理系定義

(1)

どのような方法で診断メッセージを識別するか。(5.1.1.3)

10. メッセージ」を参照してください。

(2)

main 関数への実引数の意味。(5.1.2.2.1)

規定しません。

(3)

対話型装置がどのようなもので構成されるか。(5.1.2.3)

対話型装置の構成については、特に規定しません。

(4)

外部給合でない識別子において(31 以上の)意味がある先頭の文字数。(6.1.2)

先頭から 8189 文字までを意味のあるものとして扱います。

(5)

外部結合である識別子において(6 以上の)意味がある先頭の文字数。(6.1.2)

先頭から 8191 文字までを意味のあるものとして扱います。

(6)

外部結合である識別子において英小文字と英大文字の区別に意味があるか否か。(6.1.2)

識別子内の英小文字と英大文字を区別します。

(7)

ソース及び実行文字集合の要素で、この規格で明示的に規定しているもの以外の要素。(5.2.1)

ソースおよび実行文字集合の要素の値は、ASCII コード、EUC、SJIS、UTF-8、big5、gb2312 です。

コメントと文字列における日本語/中国語記述をサポートしています。

(8)

多バイト文字のコード化のために使用されるシフト状態。(5.2.1.2)

シフト状態に依存した表現形式を持ちません。

(9)

実行文字集合の文字におけるビット数。(5.2.4.2.1)

文字は8 ビットです。多バイト文字は16 ビットです。

(10)

(文字定数内及び文字列リテラル内の)ソース文字集合の要素と実行文字集合の要素との対応付け。(6.1.3.4)

ソース文字集合の要素と、実行文字集合の要素は一致します。

(11)

基本実行文字集合で表現できない文字若しくは拡張表記を含む単純文字定数の値、又はワイド文字定数に対しては拡張文字集合で表現できない文字若しくは拡張表記を含むワイド文字定数の値。(6.1.3.4)

特定の非図形文字は、\ に続く英小文字から構成する拡張表記\a、\b、\f、\n、\r、\t、および\v によって表現できます。その他の拡張表記はもたず、\ に続く文字は、その文字自身とします。

拡張表記

値(ASCII)

\a

0x07

\b

0x08

\f

0x0C

\n

0x0A

\r

0x0D

\t

0x09

\v

0x0B

(12)

2 文字以上の文字を含む単純文字定数又は2 文字以上の多バイト文字を含むワイド文字定数の値。(6.1.3.4)

4 バイト(ASCII であれば4 文字相当)の文字を含む整数文字定数の値は、4 バイト全てが有効値となります。5 バイト以上はエラーメッセージを出力します。

(13)

ワイド文字定数に対して、多バイト文字を対応するワイド文字(コード)に変換するために使用されるロケール。(6.1.3.4)

ロケールはサポートしていません。

(14)

"単なる"char がsigned char と同じ値の範囲をもつか、unsigned char と同じ値の範囲をもつか。(6.2.1.1)

char 型は、unsigned char 型と同じ値の範囲、同じ表現形式、同じ動作を持ちます。
ただし、オプション-signed_char でsigned char 型に切り替えが可能です。

(15)

整数の様々な型の表現方法及び値の集合。(6.1.2.5)

4.1.5 データの内部表現と領域」を参照してください。

(16)

整数をより短い符号付き整数に変換した結果、又は符号無し整数を長さの等しい符号付き整数に変換した結果で、値が表現できない場合の変換結果。(6.2.1.2)

少ないビット数へ変換する場合は、少ないビット数のビット幅でマスクをした(上位ビットを削除した)ビット列とします。符号なし整数を同じビット数の符号付き整数に変換する場合は、ビット列をそのままコピーします。

(17)

符号付き整数に対してビット単位の演算を行った結果。(6.3)

シフト演算子の場合は算術シフトを行います。その他の演算子については、符号なしの値として(ビット・イメージのままで)計算するものとします。

(18)

整数除算における剰余の符号。(6.3.5)

オペランドが負の値をもつ場合、"%" 演算子の結果の符号は第1 オペランド(被除数)の符号とします。

(19)

負の値をもつ符号付き汎整数型の右シフトの結果。(6.3.7)

“E1 >> E2” において、E1 が符号付きの型で負の値をもつ場合、算術シフトを行います。

(20)

浮動小数点数の様々な型の表現方法及び値の集合。(6.1.2.5)

4.1.5 データの内部表現と領域」を参照してください。

(21)

汎整数の値を元の値に正確に表現することができない浮動小数点数に変換する場合の切捨ての方向。(6.2.1.3)

次のいずれかの条件を満たす場合、最近値の方向に切り捨てます。

-nofpu を指定

-cpu=rx200 を指定

-cpu=rx600 または-isa=rxv1 を指定し、かつ変換する対象の整数が符号なしである

それ以外の場合、単精度浮動小数点型への変換結果はFPSW のRM[0:1] ビットに従います。

【V3.01.00 以降】-dpfpu を指定した場合、倍精度浮動小数点型への変換結果はDPSW のDRM[0:1]ビットに従います。

(22)

浮動小数点数をより狭い浮動小数点数に変換する場合の切捨て又は丸めの方向。(6.2.1.4)

最近値に丸めます。

(23)

配列の大きさの最大値を保持するために必要な整数の型。すなわちsizeof 演算子の型size_t。(6.3.3.4、7.1.1)

unsigned long 型とします。

(24)

ポインタを整数へキャストした結果、及びその逆の場合の結果。(6.3.4)

-

整数からポインタへの変換結果
整数型のサイズがポインタ型のサイズより大きい場合、または整数型のサイズとポインタ型のサイズが等しい場合は、整数型の下位バイトの値になります。整数型のサイズがポインタ型のサイズより小さい場合は、符号拡張した値になります。

-

ポインタから整数への変換結果
ポインタ型のサイズが整数型のサイズより大きい場合、またはポインタ型のサイズと整数型のサイズが等しい場合は、ポインタ型の下位バイトの値になります。ポインタ型のサイズが整数型のサイズより小さい場合は、ゼロ拡張した値になります。

(25)

同じ配列内の、二つの要素へのポインタ間の差を保持するために必要な整数の型、すなわちptrdiff_t の型。(6.3.4、7.1.1)

long 型とします。

(26)

register 記憶域クラス指定子を使用することによって実際にオブジェクトをレジスタに置くことができる範囲。(6.5.1)

記憶域クラス指定子“register” の宣言の有無にかかわらず、可能なかぎり高速にアクセスするように最適化を行います。

(27)

共用体オブジェクトのメンバを異なる型のメンバを用いてアクセスする場合。(6.3.2.3)

データの内部表現はアクセスする型に従います。

(28)

構造体のメンバの詰め物及び境界調整。(6.5.2.1)

4.1.5 データの内部表現と領域」を参照してください。

(29)

"単なる"int 型のビットフィールドが、signed int のビットフィールドとして扱われるか、unsigned int のビットフィールドとして扱われるか。(6.5.2.1)

符号を明示せずに宣言されたビットフィールドは、unsigned int 型として扱います。

(30)

単位内のビットフィールドの割付け順序。(6.5.2.1)

最初に宣言されたビットフィールドは、ビットフィールド宣言時の型のサイズの領域の最下位ビットから割り当てられます。ただし、オプションにより変更可能です。

4.1.5 データの内部表現と領域」を参照してください。

(31)

ビットフィールドを記憶域単位の境界にまたがって割り付けうるか否か。(6.5.2.1)

ビットフィールドは境界を跨がず、次の領域に割り付けます。

4.1.5 データの内部表現と領域」を参照してください。

(32)

列挙型の値を表現するために選択される整数型。(6.5.2.2)

signed long 型です。オプション-auto_enum を指定した場合、列挙値が収まる最小の型となります。

(33)

volatile 修飾型のオブジェクトへのアクセスをどのように構成するか。(6.5.3)

アクセス順序、アクセス回数はCソース上の記述通りに実施しますが、対応するマイコンの命令がない型へのアクセスは、その限りではありません。アクセス幅は宣言型より小さなサイズでアクセスすることがあります。

(34)

算術型、構造体型又は共用体型を修飾する宣言子の最大数。(6.5.4)

128 です。

(35)

switch 文におけるcase 値の最大数。(6.6.4.2)

制限はありません。

(36)

条件付き取込みを制御する定数式中の単一文字からなる文字定数の値が実行文字集合中の同じ文字定数の値に一致するか否か。このような文字定数が負の値をもつことがあるか否か。(6.8.1)

条件付き取り込みで指定される文字定数に対する値と、その他の式中に現れる文字定数の値とは一致します。

負の値を持ちません。

(37)

取込み可能なソース・ファイルを捜すための方法。(6.8.2)

次の順序で探索し、フォルダにある同名ファイルをヘッダと識別します。

1. フルパス指定の場合はそのパスが示すフォルダ

フルパス指定がない場合は

2. ソース・ファイルがあるフォルダ

3. オプション-include で指定されたフォルダ

4. 標準インクルードファイルフォルダ(環境変数INC_RX 指定フォルダ)

(38)

取込み可能なソース・ファイルに対する" で囲まれた名前の探索。(6.8.2)

次の順序で探索します。

1. フルパス指定の場合はそのパスが示すフォルダ

フルパス指定がない場合は

2. ソース・ファイルがあるフォルダ

3. オプション-include で指定されたフォルダ

4. 標準インクルードファイルフォルダ(環境変数INC_RX 指定フォルダ)

(39)

ソース・ファイル名と文字列との対応付け。(6.8.2)

< と >、”” で囲まれた前処理字句列は、そのままヘッダ名に対応付けられます。マクロが展開され < 文字列 >、” 文字列” の形式になった場合は、その内容をヘッダ名に対応付けられます。

(40)

認識される#pragma 指令の動作。(6.8.6)

4.2.3 #pragma指令」を参照してください。

(41)

翻訳日付及び翻訳時刻がそれぞれ有効でない場合における__DATE__ 及び__TIME__ の定義。(6.8.8)

日付や時刻が得られない場合はありません。

(42)

マクロNULL が展開する空ポインタ定数。(7.1.6)

0 とします。

(43)

assert 関数によって表示される診断メッセージ及びassert 関数の終了時の動作。(7.2)

コンパイル時の lang オプションにより表示は変化します。

-lang=c99 がないとき(C(C89)、C++、EC++ 言語の場合):

ASSERTION FAILED:Δ 式ΔFILEΔ< ファイル名>,LINEΔ< 行番号>

-lang=c99 があるとき(C(C99) 言語の場合):

ASSERTION FAILED:Δ 式ΔFILEΔ< ファイル名>,LINEΔ< 行番号>ΔFUNCNAMEΔ< 関数名>

assert 関数終了時の動作は規定しません。低水準インタフェースルーチンの仕様によります。

(44)

isalnum 関数、isalpha 関数、iscntrl 関数、islower 関数、isprint 関数及びisupper 関数によってテストされる文字集合。(7.3.1)

unsigned char 型(0 ~ 255)およびEOF(-1)です。

(45)

数学関数に定義域エラーが発生した場合に返される値。(7.5.1)

非数を返します。

4.1.5 データの内部表現と領域」の「(5) 浮動小数点型の仕様」を参照してください。

(46)

アンダフロー値域エラーの場合に、数学関数がマクロERANGE の値を整数式errno に設定するか否か。(7.5.1)

アンダフロー発生時にerrno にERANGE を設定する関数については、「10.5.6 C標準ライブラリ関数のエラーメッセージ」を参照してください。それ以外は設定しません。

(47)

fmod 関数の第2 引数が0 の場合に、定義域エラーが発生するか又は0 が返されるか。(7.5.6.4)

定義域エラーが発生します。詳細はfmod 関数群の説明を参照してください。

(48)

signal 関数に対するシグナルの集合。(7.7.1.1)

signal 関数はサポートしていません。

(49)

signal 関数によって認識されるシグナルの意味。(7.7.1.1)

signal 関数はサポートしていません。

(50)

signal 関数によって認識されるシグナルに対する既定の処理及びプログラム開始時の処理。(7.7.1.1)

signal 関数はサポートしていません。

(51)

シグナル処理ルーチンの呼出しの前にsignal(sig, SIG_DFL); と同等のことが実行されない場合のシグナルの遮断の処置。(7.7.1.1)

signal 関数はサポートしていません。

(52)

シグナル関数によって指定された処理ルーチンによってSIGILL シグナルが受け付けられる場合に既定の処理が再設定されるか否か。(7.7.1.1)

signal 関数はサポートしていません。

(53)

テキストストリームの最終行が、終了を示す改行文字を必要とするか否か。(7.9.2)

規定しません。低水準インタフェースルーチンの仕様によります。

(54)

データが読み取られる時、改行文字の直前にテキストストリームに書き込まれた空白文字の並びが現れるか否か。(7.9.2)

規定しません。低水準インタフェースルーチンの仕様によります。

(55)

バイナリストリームに書き込むデータに付加してもよいナル文字の個数。(7.9.2)

規定しません。低水準インタフェースルーチンの仕様によります。

(56)

追加モードのストリームのファイル位置表示子が、最初にファイルの先頭又は終わりのどちらに位置付けされるか。(7.9.3)

規定しません。低水準インタフェースルーチンの仕様によります。

(57)

テキストストリームへの書込みが、結び付けられたファイルを最終書込み点の直後で切り捨てるか否か。(7.9.3)

規定しません。低水準インタフェースルーチンの仕様によります。

(58)

ファイルバッファリングの特性。(7.9.3)

規定しません。低水準インタフェースルーチンの仕様によります。

(59)

長さ0 のファイルが実際に存在するか否か。(7.9.3)

規定しません。低水準インタフェースルーチンの仕様によります。

(60)

正しいファイル名の規則。(7.9.3)

規定しません。低水準インタフェースルーチンの仕様によります。

(61)

同一ファイルを複数回オープンすることが可能か否か。(7.9.3)

規定しません。低水準インタフェースルーチンの仕様によります。

(62)

オープンされているファイルに対するremove 関数の効果。(7.9.4.1)

remove 関数はサポートしていません。

(63)

rename 関数呼出し前に新しい名前をもつファイルが存在している場合の効果。(7.9.4.2)

rename 関数はサポートしていません。

(64)

fprintf 関数中の%p 変換による出力。(7.9.6.1)

16 進数出力です。

(65)

fscanf 関数中の%p 変換に対する入力。(7.9.6.2)

16 進数入力です。

(66)

fscanf 関数中の%[ 変換において文字- が走査文字の並び中の最初の文字でも最後の文字でもない場合の解釈。(7.9.6.2)

「^」の直後でない場合、直前の文字と直後の範囲を示します

(67)

fgetpos 関数又はftell 関数が失敗した場合に、マクロerrno に設定される値。(7.9.9.1、7.9.9.4)

fgetpos 関数はサポートしていません。

ftell 関数については規定しません。低水準インタフェースルーチンの仕様によります。

(68)

perror 関数によって生成されるメッセージ。(7.9.10.4)

7.4 ライブラリ関数」を参照してください。

(69)

要求された大きさが0 の場合のcalloc 関数、malloc 関数又はrealloc 関数の動作。(7.10.3)

NULL を返します。

(70)

オープンされているファイル及び一時ファイルに関してのabort 関数の動作。(7.10.4.1)

規定しません。低水準インタフェースルーチンの仕様によります。

(71)

exit 関数の実引数の値が0、EXIT_SUCCESS 又はEXIT_FAILURE 以外の場合に返される状態。(7.10.4.3)

exit 関数はサポートしていません。

(72)

getenv 関数によって使われる環境の名前の集合及び環境の並びを変更する方法。(7.10.4.4)

getenv 関数はサポートしていません。

(73)

system 関数による文字列の実行のモード及び内容。(7.10.4.5)

system 関数はサポートしていません。

(74)

strerror 関数によって返されるエラーメッセージ文字列の内容。(7.11.6.2)

10.5.6 C標準ライブラリ関数のエラーメッセージ」を参照してください。

(75)

地方時及び夏時間。(7.12.1)

time.h はサポートしていません。

(76)

clock 関数のための時点。(7.12.2.1)

clock 関数はサポートしていません。