On 11 July, 2014 - Lubomir I. Ivanov wrote: > On 11 July 2014 10:13, Anton Lundin <gla...@acc.umu.se> wrote: > > glance> for (int i=0;i<3;i++) ? > > for that to work on older versions e.g. MSVC 2003, /Tp has to be used > (like jeff mentioned, we can mark the input to be C++) and then extern > "C" wrapping would be needed to preserve the binary interface. > > on even older versions like MSVC 1998, /Tp exists but the actual > intermix feature from c99 is a bit messed up. the lexical scanner does > recognize it, but then it assigns a non-local scope to the iterator. > so you can do things like: > > for (int i = 0; i < 10; i++) > puts("stuff"); > i = 0; // <--- > > i would advice against this particular feature if targeting older > MSVC, but for third party source projects i usually follow their usage > of "for" loops. > for my own managed projects, this: > > int i = 0; > while (i < ...) {... i++ } > > remained as a habit. >
Msvc 2013 seems to get it right, and i can gladly argue that we shouldn't support any older Msvc's just for the sake of it. How many do actually build subsurface for windows? You, Dirk and maybe 1 2 other dev's, but thats probably it. Dirk uses mingw, and you would know to use msvc 2013, so it doesn't feel like a show stopper for me =) But, if we as always, if we know that things break with older msvc's we should document it. //Anton -- Anton Lundin +46702-161604 _______________________________________________ subsurface mailing list subsurface@hohndel.org http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface