C99 Support in Intel® C++ Compiler

The following C99 features are supported by Intel® C++ Compiler 12.0 or newer.

The option to turn on C99 support:  

  • /Qstd=c99 on Windows*
  • -std=c99 on Linux* and macOS*
  • The default is C89 instead

The following C99 features are supported:

  • restricted pointers (restrict keyword)
  • variable-length Arrays
  • flexible array members
  • complex number support (_Complex keyword)
  • hexadecimal floating-point constants
  • compound literals
  • designated initializers
  • mixed declarations and code
  • macros with a variable number of arguments
  • inline functions (inline keyword)
  • boolean type (_Bool keyword)

See C11 Features Supported by Intel(R) C++ compiler for supported C11 (C1x) features.

See C++0x Features Supported by Intel® C++ Compiler for supported C++0x features.

For more complete information about compiler optimizations, see our Optimization Notice.


SergeyKostrov@hotmail.com's picture

>>The following features are not supported:
>>...- long double (128-bit representations)
Something is wrong with the statement because Intel C++ compiler supports 80-bit precision when a command line option /fp:extended is used and in that case sizeof( long double ) will be equal to 16, that is 128-bit representation.

What about the support of the c99 standard library on Windows? Compilers without standard libraries are useless...

Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.