> It doesn't build, though. FluidSynth source code is not ANSI C compliant. > MSVC is C90 with a few additional features of C99, but not including the > "intermingled declarations and code" syntax. See: > http://en.wikipedia.org/wiki/C99 >
OK, that makes sense. Instead of the "-ansi" flag, you may prefer "-pedantic". It reports as > warnings all the code not conforming with C90, for instance in this case: > "warning: ISO C90 forbids mixed declarations and code". A much more focused > GCC flag to trap this particular mistake is > "-Wdeclaration-after-statement", which may be included in the CMakeLists.txt > if nobody objects. > It sounds like a good idea, as a declaration-after-statement is going to be rejected by MSVC, we should warn about it in GCC. The other bug was an implicit void* to char* cast. I searched the GCC man page for any flag that would warn about that but I can't find any specific one. I did find -Wc++-compat, which is documented as: "Warn about ISO C constructs that are outside of the common subset of ISO C and ISO C++, e.g. request for implicit conversion from "void *" to a pointer to non-"void" type." That would detect it, but it might also warn about a whole lot of other things which are irrelevant. Is there a better flag for warning about this?
_______________________________________________ fluid-dev mailing list fluid-dev@nongnu.org http://lists.nongnu.org/mailman/listinfo/fluid-dev