pragma Favor_Top_Level

──というのがいつのまにか追加されてた。
http://gcc.gnu.org/onlinedocs/gnat_rm/Pragma-Favor_005fTop_005fLevel.html#Pragma-Favor_005fTop_005fLevel
サブプログラムへのaccess型をトップレベル専用にしてネストされた関数にはトランポリンで対応するらしい。
それは今までと何が違うんだ?何も違わないです。
恐らくWindows XPのSP2以降スタックのコードが実行できなくなったので、D言語のようなフレームポインタ抱き合わせ形式もそのうちサポートされるのか、またはA#用かどちらかと想像します。前者なら嬉しいのですが……だからgcc-patchesに(ry
……最近自分が厨二病に思えて(ry
あと他にも幾つかpragmaが追加されているっぽいです。
あとあとソース頭のBOMを理解してくれるようになったっぽいですが文字コード周りの仕様が健在のままUTF-8化が推し進められているため相変わらず役に立たな(ry

かいせつ。
ソースをUTF-8にしてBOMを付ける or -gnatW8→2バイト以上のシーケンスを含む文字列リテラルUTF-16のWide_Stringに→4.3からUnicodeを受け付けてくれるようになった多くの標準ライブラリの引数はUTF-8のStringなわけでして→まさか新しく追加されたGNAT.Encode_UTF8_Stringを(ry→そうだpragma Wide_Character_Encodingでこまめに切り替えよう→バグってるorz
あとWide_Text_IOが入出力する文字コードUTF-8のままですのでWindowsでは……。UNIX系でもlocaleがUTF-8以外だと同じですがまあそれはスルーでもいいです。私の改造版もWindows以外はUTF-8に決め打ってますし。(←AdaCore内でもこんな感じで放置されているに違いない)
http://www.adacore.com/2007/12/17/gem-22/ ←白い目でしか見えない。