View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005322 | unreal | ircd | public | 2019-06-23 08:29 | 2019-08-25 13:43 |
Reporter | syzop | Assigned To | syzop | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | resolved | Resolution | fixed | ||
Product Version | 5.0.0-alpha1 | ||||
Fixed in Version | 5.0.0-alpha2 | ||||
Summary | 0005322: U5: make Windows compile without compiler warnings | ||||
Description | The ultimate goal - during build tests - would be to have /W4 with /WX (which is -Werror). For reference, the default warning level is /W1. If it's too much hassle then we can settle for /W3 I suppose, but /W4 /WX would be the goal. See also https://stackoverflow.com/questions/4001736/whats-up-with-the-thousands-of-warnings-in-standard-headers-in-msvc-wall to read why /W4 is a reachable target, and /Wall is not. | ||||
Tags | No tags attached. | ||||
3rd party modules | |||||
|
Also, you may want to switch to 64 bit first, as otherwise there's a slight change that you would end up fixing things that won't be there anymore. |
|
64 bit mostly done (ticket closed). I removed some warnings, added some more. Will look at this soon, if my spare time permits. |
|
Add SAL annotations for printf style code. Also add /ANALYZE but only for some warnings, eg only for printf + some perhaps. |
|
The printf warnings have been added and I believe I solved them all (buildbot may correct me if I'm wrong). More warnings (other warnings..) will be fixed later. |
|
Temporarily turned /ANALYZE off for speed (compiling is really slow with it). Ok, solved all warnings for /W1 now with last commit 6f884a6f60a8cc4ef59200dbedfa7d69ae520004 (but mostly the commits before it) On to next level :D |
|
/W3 is done, and I'm happy enough with that. These are my notes about warnings we ignore: For /W3: C4267: downgrade of size_t to int and such, pointless... C4101: unreferenced local variable C4018: signed/unsigned mismatch C4244: implicit conversions with "possible loss of data". there are 75+ of them and they are likely all harmless (usually plain obvious too) C4996: fixme! warnings about deprecated functions, currently only for GetVersion.. For /W4, additionally: C4706: assignment in an if, like: if ((x = strchr(... C4100: unreferenced parameter C4189: unused local variable (that was initialized) C4459: local variable shadowing global var C4456: scope variable shadowing local var ...then i stopped... /W4 could be doable but it's even firing warnings in system headers so... I don't know. I'm settling with W3 for now and since I don't think I'll revisit this anytime soon I'm closing the issue too. So we compile with /W3 now and also with /WX to make it that warnings are errors (like -Werror) Oh and /ANALYZE is on again for printf-validation. Iit was temporarily turned off during an earlier commit, while I was rebuilding a million times, since unfortunately /ANALYZE increases the compile time A LOT. |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-06-23 08:29 | syzop | New Issue | |
2019-06-23 08:30 | syzop | Note Added: 0020740 | |
2019-06-23 09:04 | syzop | Relationship added | child of 0005279 |
2019-08-18 15:17 | syzop | View Status | private => public |
2019-08-18 15:55 | syzop | Status | new => acknowledged |
2019-08-18 15:55 | syzop | Relationship added | related to 0005320 |
2019-08-22 20:24 | syzop | Note Added: 0020842 | |
2019-08-23 17:40 | syzop | Note Added: 0020843 | |
2019-08-24 18:56 | syzop | Note Added: 0020844 | |
2019-08-25 10:40 | syzop | Note Added: 0020845 | |
2019-08-25 13:43 | syzop | Assigned To | => syzop |
2019-08-25 13:43 | syzop | Status | acknowledged => resolved |
2019-08-25 13:43 | syzop | Resolution | open => fixed |
2019-08-25 13:43 | syzop | Fixed in Version | => 5.0.0-alpha2 |
2019-08-25 13:43 | syzop | Note Added: 0020846 |