Richard Stallman wrote:
> [[[ To any NSA and FBI agents reading my email: please consider    ]]]
> [[[ whether defending the US Constitution against all enemies,     ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> 
>   > 1) The standardization group wanted a "core C" with optional features. VLA
>   >    was deemed optional because (quoting Jens Gustedt)
> 
> I may have misunderstood something.  I thought the feature had been removed,
> but you are saying it is now "optional".  That could be better than I thought,
> but what does "optional" mean in the C standard?

What I call "optional feature", the ISO C 11 standard calls a
"conditional feature".

A "strictly conforming program" can use conditional features provided the use
is guarded by an appropriate conditional inclusion preprocessing directive
using the related macro. For example, a strictly conforming program can use
variable length arrays and variably modified types if these uses are guarded by
  #ifndef __STDC_NO_VLA__
  ...
  #endif

So, the feature is optional in the sense that the compiler may or may not
implement it. (It still can be conforming to ISO C 11, in either case.)
But it has to declare (via this macro) whether it implements it.

Bruno




Reply via email to