How to specify dialects of C?

When writing an answer, people here usually start with stating in which language it's implemented. When C is concerned, there is the "implicit int" rule that was, as far as I know, removed in 2011. This rule is very important for golfing. For example, a function calculating a square of a number:

s(a){return a*a;}           // with implicit int
int s(int a){return a*a;}   // without implicit int


If I specify that my code is in C, and my code is newer than 2011, does it imply that I cannot use the implicit-int rule?

Or, if I want to use the implicit-int rule, should I have to specify my language as "C99" or "C89" or "gcc version 4.6.4"?

Here, implicit-int is just an example. In general, what does "C" mean as a name of a programming language - "most recent C version at the time of code's creation" or "some unspecified version" or "C89"?

• I started specifying Java 7 on mine, even with full backward compatibility, just so people would stop bugging me to lambdify everything. I'd recommend it even moreso if it depends on being a certain version (or group of versions). – Geobits Oct 27 '16 at 14:05
• @Geobits You know, you could add a lambda to allow reuse: "I started specifying ((\x -> Java x) 7) on mine, ..." – jpaugh Oct 31 '16 at 14:18