How to find my current compiler’s standard, like if it is C90, etc

This is compiler dependent, I’m supposing you’re using GCC.
You could check your compiler defined macros using:

gcc -dM -E - < /dev/null

Check the manual about the flags, specially:

###__STDC_VERSION__###

This macro expands to the C Standard’s
version number, a long integer
constant of the form yyyymmL where
yyyy and mm are the year and month of
the Standard version. This signifies
which version of the C Standard the
compiler conforms to. Like __STDC__,
this is not necessarily accurate for
the entire implementation, unless GNU
CPP is being used with GCC.

The value 199409L signifies the 1989 C
standard as amended in 1994, which is
the current default; the value 199901L
signifies the 1999 revision of the C
standard. Support for the 1999
revision is not yet complete.

This macro is not defined if the
-traditional-cpp option is used, nor when compiling C++ or Objective-C.

In this site you can find a lot of information about this. See the table present here.

Leave a Comment