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
