>>329
古い仕様っていつのやつ?
とりあえず JISX3010:2003 (C99 に相当) を見る限りでは規定はある。
関連しそうなところを抜粋したので細かいことは周辺を確認してね。

> 6.7.8 初期化
> 型の制限及び型変換は、単純代入と同じとする。

> 6.5.16.1 単純代入
> 右オペランドの値を代入式の型に型変換し、左オペランドで指し示される
> オブジェクトに格納されている値をこの値で置き換える。

> 6.3.1.3
> 整数型の値を _Bool 型以外の他の整数型に変換する場合、
> その値が新しい型で表現可能なとき、値は変化しない。
> 新しい型で表現できない場合、新しい型が符号無し整数型であれば、
> 新しい型で表現しうる最大の数に 1 加えた数を加えることまたは
> 減じることを、新しい型の範囲に入るまで繰り返すことによって得られる
> 値に変換する。
> そうでない場合、すなわち、新しい型が符号付き整数型であって、
> 値がその型で表現できない場合は、結果が処理系定義の値となるか、
> 又は処理系定義のシグナルを生成するかのいずれかとする。

そんなわけで、変換後が unsigned の場合はどんな値に変化するか既定があるし、
signed の場合は表現できる範囲内では値は変化しないから問題ない。
表現できない値になってるかどうかは基本的に実行時までわからんから
コンパイル時には黙って通す (わかるときは警告する) って感じ。