gcc-4.6のAda2012対応状況メモ

試した分だけ。コンパイルには-gnat2012が必要。

  • function F return Integer is (0);
    • 通る。便利になりましたね。
  • use all type
    • 構文としては通ります、しかしまだ効果はuse typeと同じ
  • aspect
    • 型にのみ付けられるっぽいです。aspect.adsを見る感じ既存pragmaのみ。
  • for E of A
    • 配列にのみ使えるようになってます。
  • E in R1 | R2 | R3
    • 使えます。(正直優先度低いと思ってたごめんなさい)
  • (if C then T else F)
  • (case C is when P1 => V1, when others => V2)
  • (for all I in R in => C)
  • (for some I in R in => C)
    • 使えます。
  • <> end loop;
    • 使えます。
  • if then pragma Assert (C); end if;
    • 使えます。

使っているはずの変数を使ってないと警告されるバグが直っていたのが嬉しいです。でもそれ以外の(私が困ってる)バグは全部残ってました。しくしく。

あとgnatmemがビルドできなくなった(?)