(5.1.2.1) 第 4 節で規定されている最小セット以外に自立したプログラムから使用可能なライブラリ機能。
ホスト環境に実装されています。
(7.2.1.1) 表明マクロが出力する診断の形式。
診断は次のような形式になっています。
Assertion failed: statement. file filename, line number, function name
statement は表明が失敗した文、filename は __FILE__ の値です。line number は __LINE__、function name は __func__ の値です。
(7.6.2.2) fegetexceptflag 関数が格納する浮動小数点ステータスフラグの表現。
fegetexceptflag によってステータスフラグに格納された各例外は、定数のすべての組み合わせのビット単位 OR が明確な値を持つように、値を持つ整定数式に展開されます。
(7.6.2.3) 「オーバーフロー」または「アンダーフロー」浮動小数点例外のほかに feraiseexcept 関数によって「不正確」浮動小数点例外が立てられるかどうか。
「不正確」の例外は立てられません。
(7.11.1.1) setlocale 関数への第 2 引数として渡すことが可能な、「C」および "" 以外の文字列。
意図的に空白にします。
(7.12) FLT_EVAL_METHODマクロの値がゼロ未満か 2 より大きい場合に float_t および double_t に定義される型。
SPARC の場合、型は次のとおりです。
typedef float float_t;
typedef double double_t;
x86 の場合、型は次のとおりです。
typedef long double float_t;
typedef long double double_t;
(7.12.1) この国際規格で規定されている以外の、数学関数のドメインエラー。
入力引数が 0 か +/--Inf、 NaN のどれかの場合、ilogb()、ilogbf()、および ilogbl() は不正の例外を立てます。
(7.12.1) ドメインエラー時に数学関数が返す値。
完全な C99 モード (-xc99=%all,lib) でのドメインエラー時に返される『Programming Language - C (ISO/IEC 9899:1999)』の Annex F の仕様どおりです。
アンダーフロー範囲エラー時に数学関数が返す値と、整数式の math_errhandling & MATH_ERRNO がゼロ以外の場合に errno に ERANGE マクロの値が設定されるかどうか、また整数式の math_errhandling & MATH_ERREXCEPT がゼロ以外の場合に「アンダーフロー」浮動小数点例外が立てられるかどうか。 (7.12.1)
アンダーフロー範囲エラーについて: 値が非正規数の可能性がある場合は、その非正規数が返され、それ以外の場合は、適宜 +-0 が返されます。
整数式の math_errhandling & MATH_ERRNO がゼロ以外の場合に errno に ERANGE マクロの値が設定されるかどうかについて: Sun の実装では、(math_errhandling & MATH_ERRNO) == 0 のため、この部分は該当しません。
整数式の math_errhandling & MATH_ERREXCEPT がゼロ以外の場合に「アンダーフロー」浮動小数点例外が立てられるかどうかについて: 浮動小数点アンダーフローとともに精度が失われた場合に例外が立てられます。
(7.12.10.1) fmod 関数の第 2 引数が 0 の場合に、ドメインエラーとなるか、0 が返されるか。
ドメインエラーが発生します。
(7.12.10.3) 商を約分する際に remquo 関数が使用する係数の 2 を底とする対数。
31。
(7.14.1.1) シグナルハンドラを呼び出す前に signal(sig, SIG_DFL); 相当のものを実行するかどうか、また実行されない場合は、実行されるシグナルのブロック処理。
シグナルハンドラを呼び出す前に signal(sig, SIG_DFL); 相当を実行します。
(7.17) マクロ NULL を展開したときの null ポインタ定数。
NULL は 0 に展開されます。
(7.19.2) テキストストリームの最終行で改行文字による終了を必要とするか。
最終行を改行文字で終了する必要はありません。
(7.19.2) テキストストリームへの書き出しでスペース文字が改行文字の直前にあった場合、そのスペース文字が読み込みで表示されるかどうか。
ストリームが読み込まれるときにはすべての文字が表示されます。
(7.19.2) バイナリストリームに書き込まれるデータに追加することのできる null 文字の数。
バイナリストリームには null 文字を追加しません。
(7.19.3) 当初、アペンドモードのストリームのファイル位置指示子がファイルの始まりと終わりのどちらに置かれるか。
ファイル位置指示子は最初にファイルの終わりに置かれます。
(7.19.3) テキストストリームへの書き込みを行うと、関係するファイルの内容が書き込み点以降切り捨てられるか。
ハードウェアの命令がないかぎり、テキストストリームへの書き込みによって書き込み点以降の関連ファイルが切り捨てられることはありません。
(7.19.3) ファイルバッファリングの特性。
標準エラーストリーム (stderr) を除く出力ストリームは、デフォルトでは、出力がファイルの場合にはバッファリングされ、出力が端末の場合には行バッファリングされます。標準エラー出力ストリーム (stderr) は、デフォルトではバッファリングされません。
バッファリングされた出力ストリームは多くの文字を保存し、その文字をブロックとして書き込みます。バッファリングされなかった出力ストリームは宛先ファイルあるいは端末に迅速に書き込めるように情報の待ち行列を作ります。行バッファリングされた出力は、その行が完了するまで (改行文字が要求されるまで) 行単位の出力待ち行列に入れられます。
(7.19.3) 長さゼロのファイルが実際に存在するかどうか。
ディレクトリエントリを持つという意味ではゼロ長ファイルは存在します。
(7.19.3) 有効なファイル名の作成規則。
有効なファイル名は 1 から 1,023 文字までの長さで、NULL 文字とスラッシュ (/) 以外のすべての文字を使用することができます。
(7.19.3) 同一のファイルを同時に複数回開くことが可能か。
同一のファイルを何回も開くことができます。
(7.19.3) ファイル内の複数バイト文字に使用する符号化方式の性質と選択方法。
複数バイト文字に使用する符号化方式は、ファイルごとに同じです。
(7.19.4.1) 開いたファイルに対する remove 関数の処理。
ファイルを閉じる最後の呼び出しによりファイルが削除されます。すでに除去されたファイルをプログラムが開くことはできません。
(7.19.4.2) rename 関数を呼び出す前に新しい名前を持つファイルがあった場合の処理。
そのようなファイルがあれば削除され、新しいファイルが元のファイルの上に書き込まれます。
(7.19.4.3) プログラムの異常終了時に開いていた一時ファイルが削除されるかどうか。
ファイルの作成とリンク解除の間にプロセスが終了した場合は、ファイルがそのまま残ることがあります。freopen(3C) のマニュアルページを参照してください。
(7.19.5.4) 許されるモードの変更とその状況。
ストリームの基になっているファイル記述子のアクセスモードに従って、次のモード変更が許されます。
+ が指定されている場合、ファイル記述子モードは O_RDWR である必要があります。
r が指定されている場合、ファイル記述子モードは O_RDONLY か O_RDWR である必要があります。
a または w が指定されている場合、ファイル記述子モードは O_WRONLY か O_RDWR である必要があります。
freopen(3C) のマニュアルページを参照してください。
(7.19.6.1, 7.24.2.1) 無限または NaN の出力に使用する形式と NaN で出力する n-char または n-wchar シーケンスの意味。
[-]Inf、[-]NaN です。F 変換指示子がある場合は、[-]INF、[-]NAN になります。
(7.19.6.1, 7.24.2.1) fprintf または fwprintf 関数における %p 変換の出力。
%p の出力は %x と等しくなります。
(7.19.6.2, 7.24.2.1) fscanf() または fwscanf() 関数における %[ 変換のスキャンリストで、先頭文字でも最終文字でもなく、また先頭文字が ^ の場合に 2 番目の文字でもない - 文字の解釈。
- がスキャンリストにあり、先頭文字でも最終文字でもなく、^ が先頭文字の場合に 2 番目の文字でない場合は、一致とみなす文字の範囲を示します。
fscanf(3C) のマニュアルページを参照してください。
(7.19.6.2, 7.24.2.2) fscanf() または fwscanf() 関数の %p 変換で一致とみなされるシーケンスと、対応する入力項目の解釈。
対応する printf(3C) 関数の %p 変換で生成されるシーケンスと同じシーケンスを一致とみなします。対応する引数は、void 型ポインタへのポインタである必要があります。入力項目が同じプログラムの実行中の以前に変換された値の場合、生成されるポインタはその値に等しいとみなされます。それ以外の場合の %p 変換の動作は定義されていません。
fscanf(3C) のマニュアルページを参照してください。
(7.19.9.1, 7.19.9.3, 7.19.9.4) エラー時に fgetpos、fsetpos、ftell がマクロ errno に設定する値。
EBADF ストリームの基になっているファイル記述子が不正です。fgetpos(3C) のマニュアルページを参照してください。
ESPIPE ストリームの基になっているファイル記述子がパイプか FIFO、ソケットに関連付けられています。fgetpos(3C) のマニュアルページを参照してください。
EOVERFLOW fpos_t 型のオブジェクトでは、ファイル位置の現在の値を正しく表現できません。fgetpos(3C) のマニュアルページを参照してください。
EBADF ストリームの基になっているファイル記述子が不正です。fsetpos(3C) のマニュアルページを参照してください。
ESPIPE ストリームの基になっているファイル記述子がパイプか FIFO、ソケットに関連付けられています。 fsetpos(3C) のマニュアルページを参照してください。
EBADF ストリームの基になっているファイル記述子が開いているファイルの記述子ではありません。ftell(3C) のマニュアルページを参照してください。
ESPIPE ストリームの基になっているファイル記述子がパイプか FIFO、ソケットに関連付けられています。ftell(3C) のマニュアルページを参照してください。
EOVERFLOW long 型のオブジェクトでは、現在のファイルオフセット値を正しく表現できません。ftell(3C) のマニュアルページを参照してください。
(7.20.1.3, 7.24.4.1.1) strtod()、 strtof()、 strtold()、 wcstod()、 wcstof()、または wcstold() 関数によって変換される NaN を表す文字列内の n-char または n-wchar シーケンスの意味。
n-char シーケンスには特別な意味は与えられていません。
(7.20.1.3, 7.24.4.1.1) アンダーフローが発生したとき、strtod、strtof、strtold、wcstod、wcstof、または wcstold 関数が errno に ERANGE を設定するかどうか。
アンダーフロー時、errno には ERANGE が設定されます。
(7.20.3) 要求サイズがゼロの場合、calloc、malloc、および realloc 関数が null ポインタまたは割り当てオブジェクトへのポインタのどちらを返すか。
null ポインタか free() に渡すことが可能な一意のポインタが返されます。
malloc(3C) のマニュアルページを参照してください。
(7.20.4.1, 7.20.4.4) abort または _Exit 関数が呼び出されたときに、バッファー内にまだ書き出されていないデータがある開いているストリームをフラッシュするか、開いているストリームを閉じるか、一時ファイルを削除するか。
異常終了処理では、開いているすべてのストリームに対して少なくとも fclose(3C) の処理が行われます。abort(3C) のマニュアルページを参照してください。
開いているストリームが閉じられます。フラッシュはされません。_Exit(2) のマニュアルページを参照してください。
(7.20.4.1, 7.20.4.3, 7.20.4.4) abort、exit、または _Exit 関数がホスト環境に返す終了ステータス。
abort によって wait(3C) または waitpid(3C) から使用できるようにされたステータスが、SIGABRT シグナルで終了されたプロセスのステータスになります。abort(3C)、exit(1)、および _Exit(2) のマニュアルページを参照してください。
exit または _Exit によって返される終了ステータスは、呼び出し側のプロセスの親プロセスが行なっていた処理によって異なります。
呼び出し側プロセスの親プロセスが wait(3C) か wait3(3C)、waitid(2)、waitpid(3C) のどれかを実行していて、その SA_NOCLDWAIT フラグの設定がなく、かつ SIGCHLD を SIG_IGN に設定していなかった場合、親プロセスは呼び出し側プロセスの終了の通知を受け、ステータスの下位 8 ビット (すなわち、ビット 0377) を使用できるようになります。親が待ち状態ではない場合は、そのあと、親が wait()、wait3()、 waitid()、waitpid() のどれかを実行した時点で子のステータスを利用できるようになります。
(7.20.4.6) 引数が null ポインタ以外の場合に system 関数によって返される値。
waitpid(3C) によって指定された形式でシェルの終了ステータスが返されます。
(7.23.1) 現地時間帯と夏時間。
現地時間帯は、環境変数 TZ で設定します。
(7.23) clock_t および time_t で表現可能な時間の範囲と精度。
clock_t および time_t の精度は 100 万分の 1 秒です。範囲は、x86 および SPARC v8 で -2147483647-1 ~ 4294967295 (100 万分の 1 秒単位) です。SPARC v9 では、-9223372036854775807LL-1 ~ 18446744073709551615 です。
clock 関数の経過時間は、プログラム実行開始時を原点とする時間経過として表現されます。
(7.23.3.5, 7.24.5.1) 「C」ロケールにおける、strftime および wcsftime 関数に対する %Z 指示子の置換文字列。
時間帯の名前か短縮名。また、時間帯の判定ができない場合は、置換文字なしです。
(F.9) IEC 60559 準拠の実装で trigonometric、hyperbolic、e を底とする指数、e を底とする対数、エラー、ログガンマ関数が「不正確」の浮動小数点例外を立てるかどうか、また立てる場合はそのタイミング。
一般に「不正確」の例外は、結果が正確に表現できない場合に立てられます。また「不正確」の例外は、結果が正確に表現可能な場合にも立てられることがあります。
(F.9) IEC 60559 準拠の実装で <math.h> の関数が丸め方向モードに従うかどうか。
<math.h> のどの関数についても、デフォルトの丸め方向モードの強制は試みられません。