| Different implementations are used for different purposes. If 20% of implementations are used for purposes where a feature would be useful, which of the following would be best: 1. Have 10% of implementations support the feature one way, and 10% support it in an incompatible fashion. 2. Require that all compiler writers invest the time and necessary to support the feature without regard for whether any of their customers would ever use it. 3. Specify that implementations may either support the feature or report that they don't do so, at their leisure, but that implementations which claim to support the feature must do so in the manner prescribed by the Standard. When C89 was written, the Committee decided that rather than recognizing different categories of implementation that support different sets of features, it should treat the question of what "popular extensions" to support as a Quality of Implementation which could be better resolved by the marketplace than by the Committee. IMHO, the Committee should recognize categories of Safely Conforming Implementation and Selectively Conforming Program such that if an SCI accepts an SCP, and the translation and execution environments satisfy all documented requirements of the SCI and SCP, the program will behave as described by the Standard, or report in Implementation-Defined fashion an inability to do so, period. Any other behavior would make an implementation non-conforming. No "translation limit" loopholes. |