tags:

views:

128

answers:

2

I just came across this term in this post,

how do I check which rule is actually used by my compiler?

Or is it possible to specify a rule for cl.exe?

+3  A: 

C99 compilers must define a preprcessor symbol __STDC_VERSION__ with value 199901L which C90 one shouldn't do this (nothing prevent them to do so and still be compliant with C90, but I doubt they do). Obviously nothing is sure for non compliant compilers or compilers in non compliant mode. And there are still the question of bugs and transition (last time I checked for instance, g++ didn't still define the equivalent macro at the value mandated for C++98 while most people I know think it would be more usefull for them to do so instead of waiting for the implementation of export).

AProgrammer
`__STDC_VERSION__` (two underscores)
Joe D
@Joe, fixed, thanks.
AProgrammer
A: 

cl.exe, the Microsoft compiler? It doesn't support C99, mostly.

DeadMG