勝手に直す、これ最強

ある種の諦めとも。
http://panathenaia.halfmoon.jp/alang/gcc-private-build/gcc-4.2.0-mingw32.7z
http://panathenaia.halfmoon.jp/alang/gcc-private-build/gcc-4.2-patch-by-yt

  • Ada.Calendar
    • GNAT GPL 2006のAda.Calendar.Arithmetic, Formatting, Time_Zonesをbackportしました。
    • うるう秒の計算ルーチンはごっそり消して0を返すようにしてます。酷過ぎますがこれが一番計算合うんです。
    • (Windows) タイムゾーンがちゃんと求まるように。
  • Ada.Directories
    • PR/21346を修正。
    • (Windows) 扱うファイル名をUTF-8に。
  • System.File_IO (←Ada.*_IOの下位パッケージ)

その他少々。
たぶんWindows以外ではたぶん、setlocaleでUTF-8にしたらファイル名関連の問題は無くなる、たぶん。
あとは、Ada.Text_IOでUTF-8文字列を出力したら標準出力にはDBCSで出て行くようにしたいなあ……そこまでいくと修正と呼べる範疇超えてるか……?
本当はGNAT GPL 2006からextended returnをbackportしてきたいのですが、流石にコンパイラに手を入れるのはなあ……。
他には少しでもランタイムサイズ削りたいので、狂った仕様であるところのSJIS, EUC関連ごそっと削りたいのですが、そこもコンパイラとソース兼用の部分ですし……これこそ__attribute__((weak))でどうにかできそうな気も。