Liste des Groupes | Revenir à cl c |
David Brown <david.brown@hesbynett.no> wrote:I personally have no problems with this thread in this group, though I understand that others may feel differently. I think it would have been clearer that it is topical if Thiago had given a bit more explanation in the original post.
A number of regulars here have responded (with posts other than "thisI like to see such things discussed here. If it looks like there is a
is off-topic"), so that suggests there is at least some interest in
the group.
need for new constructs, the thread(s) may end with acceptable
alternatives using only current C's capabilities.
Other times a pre-compiler might add some icing on the C cake. I'dUsually all that is needed to build older code is to make sure that you specify the C standard explicitly, as gcc gradually updates their "default" C standard. I think perhaps it would be better if the standard had to be given explicitly with no default. Alternatively, it could be the current standard - C23 - along with all the compatibility warning flags, thus requiring the code to be in the intersection of all C standards.
prefer that way over touching the standard.
With changes to C directly, I'd be very conservative. Far too often I
already stumble over stuff that isn't buildable with current compilers
any more. Try even to build some older GCC with the current ones.
Imo we do not do us a favour if the incompatibilities pile up to a levelIt is certainly easier when a new feature can, to at least some extent, be implemented as macros for older compilers. For example, it is possible to implement C11's "_Static_assert" using macros in C99. The result is uglier and gives less clear error messages, but it does the job. And Thiago has implements his do/quit or try/catch system in a limited form as macros - though a language extension would be more powerful (such as allowing for multiple uses within one function).
that ends with C != C, but it already seems too late to stop this.
Les messages affichés proviennent d'usenet.