FreeBSD Daily Topics

2013年2月13日FreeBSDにおけるC11、C11++、C99対応状況

src

Supporting the new C and C++ standards in FreeBSD

先日開催されたFOSDEM'13で「Supporting the new C and C++ standards in FreeBSD」という発表があったのですが、プレゼン資料が公開されました。

C11およびC11++は2011年の終盤に発表されたC/C++の新しい規約です。それまでの規約と比べて、それぞれ次のような特徴があると説明があります。

C11
  • アライメントに関して仕様化
  • メモリモデルの仕様化
  • マルチスレッドのサポート
  • スタティックアサーションの導入
  • Unicodeをサポート
C11++
  • ロケールサポートの向上
  • アトミック/スレッド/スレッドローカルストレージの導入
  • スマートポインタの導入
  • タプルの導入

公開されている資料では、とくにC11/C11++のどの機能のサポートが難しいかが説明されています。サポート状況を簡単にまとめますと、FreeBSDに統合されているコンパイラ環境は、C11とC11++の大半に対応しているものの、一部機能は実装していない、という状況とのことです。また、以前の規約となるC99 math.hに関しても、まだ一部機能が実装されていないとの説明があります。

残りの機能に関しては順次開発が実施されることになるとみられますが、実装が困難なものに関して、いつどのタイミングで開発が取り組まれるのか、または開発そのものを見送るのかは、今後の議論対象になりそうです。

おすすめ記事

記事・ニュース一覧