ronnie sahlberg wrote: > :-) > > Well those files are not supposed to be manually edited/modified > anyway. I know, I know, that's the reason of the header comment, but I couldn't find another way :-( > > I can change PIDL to always emit > > #ifdef _MSC_VER > #pragma warning(disable:4005) > #pragma warning(disable:4013) > #endif > > at the head of the file. Sounds like a good approach. In the meantime the MSVC vs. MinGW problems have been fixed, so there shouldn't be further changes required with the #ifdef. > > Are there any other pramgas you want it to emit as well? > A find over all files showed the following pragmas in generated files:
PIDL: #ifdef _MSC_VER /* disable: warning C4101: 'xy' : unreferenced local variable */ #pragma warning(disable:4101) /* disable: warning C4018: '<' : signed/unsigned mismatch */ #pragma warning(disable:4018) /* disable: warning C4013: 'xy' undefined; assuming extern returning int */ #pragma warning(disable:4013) /* disable: warning C4005: 'xx' : macro redefinition */ #pragma warning(disable:4005) #endif Asn1 (only in rrlp): #ifdef _MSC_VER /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */ #pragma warning(disable:4146) #endif In my opinion: 4101: only annoying, pragma should be added to PIDL generation 4018: only annoying, pragma should be added to PIDL generation 4013: unclean code, should be fixed (BTW: As you've fixed some things, this might simply no longer be necessary :-) 4005: unclean code, but I don't know how this could be fixed, see below 4146: buggy code, needs to be fixed (uses a negative constant out of the valid range)! An explanation of 4005: The winreg IDL file defines e.g. REG_NONE, which is already defined in the windows header files, which is obviously a bad thing. The only clean way I can see would be to add a prefix (e.g. WS_) to the generated symbols. Unfortunately I don't know if this will raise other problems in the generated code (e.g. constant strings might be a problem). So the way to go: - adding 4101, 4018 as a #pragma to the code - these warnings can be safely ignored - fixing 4013, 4146 - these warnings actually indicate unclean generated code so they shouldn't be just ignored - fix 4005 if possible, otherwise add it as a #pragma to the code - might be fixed later, but still a pending "time bomb" if definitions are actually *different* Please add the corresponding comments to the pragmas, as remembering the meaning of the warning numbers is cumbersome. Unfortunately, I don't know enough about the generated files to fix it myself, so I must beg you to put some work on it ... Regards, ULFL _______________________________________________ Wireshark-dev mailing list Wireshark-dev@wireshark.org http://www.wireshark.org/mailman/listinfo/wireshark-dev