On 6/29/2017 1:54 PM, Steve Dower wrote: > On 29Jun2017 1013, Terry Reedy wrote: >> Great work. > > Agreed. Thanks, Victor! > >> How about compiler warnings (and errors)? When I compile on Windows, >> there are a boatload of orange-yellow warnings. Some are about using >> a deprecated featured; some about dodgy casts; some (I presume) about >> other things. Should 'no warnings' be a goal? > > Yes, I think that's a good goal. We're quickly getting there as well - I > just merged two contributions yesterday that should significantly reduce > the number of warnings. Great. I recompiled changes for the last day or two (about 100 c files) and see none. _socket aside, I presume some of those files were the ones you fixed. >> I believe you once fixed some, but new commits added more. Could 'no >> additional warnings' be a CI requirement for merging? I expect that a >> new "How to avoid compiler warnings on Windows" section of the >> devguide would be needed. > > This is probably not feasible without a *really good* section in the > devguide. I would rather have warnings in the output than global > suppressions, and suppressing warnings globally is the usual instinct. > Locally suppressing warnings can be fairly hideous and is usually not > portable. > > Some warnings are also complicated because of the nature of CPython. For > example, the socket module exposes deprecated CRT functions (on Windows) > directly because the API of the socket module promises to provide the > function directly. Changing to the safer function would break the API > guarantee (except sometimes it won't... hence "complicated"). Thanks for the explanation. Does 'deprecated' mean future removal in ms-speak? Perhaps after the compile, build.bat should print something like [Ignore any socket deprecation warnings] > Noting in PR builds that there are new warnings would be great if > possible. I'd be concerned about it becoming a hard requirement though - > I much prefer to leave the final decision in the hands of trusted people > and provide them enough information to make a good decision. A robot that could scan the appveyor compile log, compare with a 'current warnings' set, and post a comment requesting a fix and possible help sources would be better than leaving them unseen, which I expect is the current situation. -- Terry Jan Reedy
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4