I agree that this would be a good thing to aim for as long as we exclude deprecation warnings (given Apple's penchant for deprecating large API surfaces such as OpenGL or the older accessibility APIs we really can't have the use of deprecated APIs be an error).

-- Kevin


On 11/24/2021 7:44 PM, Michael Strauß wrote:
That's a good idea. In general, warnings should always be treated as errors.


On Thu, Nov 25, 2021 at 2:01 AM Martin Fox <mar...@martinfox.com> wrote:
The Mac glass code generates a lot of compiler warnings. I tried cleaning this 
up and discovered that two of the warnings are brand new, courtesy of me. One 
of the headers in PR #651 has a typo that I didn’t catch and neither did the 
two reviewers. The compiler generated two warnings but they were lost in the 
sea.

I turned on warnings-as-errors for the Mac glass code and waded through the 
results. There are a couple of minor coding errors in addition to mine which 
should be cleaned up (like passing NO to a function that requires a non-null 
pointer). There’s also a few deprecated calls across a small handful of files 
which have easy replacements and are probably worth fixing.

Unfortunately Apple re-named a bunch of constants in 10.12 and deprecated the 
older forms (I think this was to rationalize the naming with Swift). These form 
the bulk of the warnings and affect multiple files. Not a fan of that sort of 
code churn but the alternative is to live with a slew of warnings forever. 
Apple is not going to un-deprecate those constants.

You can see the changes I made in my github repository (beldenfox/jfx) in the 
branch ‘macwarnings’. There’s multiple commits, the first and biggest catching 
most of the easy stuff like constant renaming.

In the short term it might be worth disabling deprecation warnings and turning 
on warnings-as-errors. Then at least outright coding errors (like mine!) have a 
chance of being caught.





Reply via email to