3 ms·
I guess I must have experienced some of this rewrite. With VC++ in 2015, a piece of code that had a very long if/elseif chain no longer compiled. Parser stack o
by MichaelGG 11y ago
I guess I must have experienced some of this rewrite. With VC++ in 2015, a piece of code that had a very long if/elseif chain no longer compiled. Parser stack overflow: program too complex. Easy enough fix (break the if/elseif in half) but funny in a way.
I hope they'll be able to continue to keep up C support as well as C++. It'd been so nice having C99 in MSVC, as cross-platform projects can now adopt C99 features.
- pjmlp 11y ago> I hope they'll be able to continue to keep up C support as well as C++. It'd been so nice having C99 in MSVC, as cross-platform projects can now adopt C99 features. I hope that they only keep it as much as required by the ANSI C++ standard. Annex K was a joke.
- stephencanon 11y agoAnnex K is optional.
- pjmlp 11y agoHence why it is a joke. Not only has the standards comitte not done anything serious about preventing bounds overflows, they made it optional. Sizes still aren't guaranteed to be correct for the string/buffer. No portable C code can rely on its presence.
- stephencanon 11y agoAFAIK Annex K originated as a Microsoft proposal, so I find it somewhat strange that you're using it as an example of a C feature that Microsoft shouldn't adopt (though I agree that it's a terrible feature that never should have made the cut).
- pjmlp 11y agoYes, as such there is nothing to adopt. It is already there. What I am in favor is Microsoft pushing C aside. C++ provides safer constructs and if one wants to keep on doing unsafe C style coding, it is still there.