2011-11-21 4.7がStage 3に入ったので試してみた gcc Ada 2012対応状況 use all type → 「変数 := 式;」の形の式の部分でのみOK。 Implicit_Dereference → 関数呼び出しの返値でのみOK。 range-based for(違) → OK、ありえんぐらい酷いコードが出てくるけど動く。Ada.Iterator_Interfacesもちゃんとある。 operator () (違) → OK、Constant_Referenceが呼ばれないような気もするけど。 後は4.6のときと同じ。 その他気になる改善点 protected型がちゃんとread-write lockしてくれるようになってます。 Controlled型がリンクリストを作らなくなってます。*1 Unbounded_Stringに参照カウンタの実装も追加されたみたいです。*2でもデフォルトでは無効っぽい。 *1:上では余計なデータはVMTだけみたいに書いてますが、実はgcc 4.6までは前後へのリンクも持ってました。 *2:上ではあたかもUnbounded_Stringが参照カウンタで実装されてるように書いてますが、gcc 4.6までは毎回コピーされてました。