Hacker News new | ask | show | jobs
by warmwaffles 60 days ago
`-Wall` is your friend and boy it is a major irritant using third party sloppy libraries when statically compiling it all.
4 comments

There are even more options you might also want to consider: https://stackoverflow.com/questions/73310403/whats-the-diffe...
I'm actually a little horrified to learn that warnings were suppressed while developing code to control a 747.
Right out of college, one of my first job offers was to work on the compiler for the computer for the Space Shuttle. Apparently because I had once taken a compiler course. Even young, naive, optimistic me thought to question the wisdom of that offer.

I ended up not taking it because the pay wasn’t great (and at the time it wasn’t really what I wanted to do), but part of me is still curious about what that would have been like.

And it took them a month to figure this out.
This is one of those things that is hard to do, but great to have done. It's hard to do with a codebase in flight with lots of people working on it.

What I remember implementing this on projects was the messiness of:

- incrementally getting the Makefiles to turn on -Wall file-by-file as they were scrubbed. I think it was something similar to "<list-of-files>: CFLAGS+=-Wall" and then add to the list.

- suppressing warnings that were "ok" on a case-by-case basis. different languages had different ways of saying "ignore error 123 here" if at all.

- I remember lint had things like this too, like /NOTREACHED/

maybe things have gotten better/cleaner.

Better to turn every warning into an error.
For releases! But have a flag to disable it: don't make people edit -Werror out while hacking, that's really annoying.