任何c编译器是否实现了任何C1X功能?

时间:2011-09-01 09:36:26

标签: c compiler-construction c11

是否有任何c编译器实现任何C1X功能?

P.S。:有一种方法可以在当前的c编译器中模拟其中的一些功能

4 个答案:

答案 0 :(得分:7)

GCC 4.6对C1X功能有一些实验支持:

  

现在,对即将推出的ISO C标准的C1X版本的某些功能进行了实验性支持。对于带有GNU扩展的C1X,可以使用-std = c1x或-std = gnu1x选择此支持。请注意,此支持是实验性的,并且可能在将来的版本中不兼容地更改,以与C1X标准草案的更改保持一致。如N1539 C1X草案所述,新支持以下功能(2011年3月WG14会议同意更改);一些其他功能已经得到支持,不需要编译器更改,或者有一些支持但不完全符合N1539(修订版)。

     
      
  • 静态断言(_Static_assert关键字)
  •   
  • Typedef重新定义
  •   
  • < float.h>
  • 中的新宏   
  • 匿名结构和工会
  •   

答案 1 :(得分:7)

除了gcc之外,clang已经开始添加对C1x功能的支持。特别是,支持_Generic_Static_assert。其他一些功能也可以实现,但我还没有尝试过。

答案 2 :(得分:3)

基于对列表和gcc testsuite(ls gcc / gcc / testsuite / gcc.dg / c1x *)的细读:

  • 我在gcc-4.7中看起来像_Noreturn is coming
  • 从测试套件看,它看起来也像是unicode字符串。
  • 它也看起来像CMPLX宏are being worked
  • 也许_Generic即将进入gcc-4.8。

答案 3 :(得分:2)

您可能需要检查Pelles C(仅适用于Windows)。