Yeah, as has been mentioned many times before `-Wall -Wextra` leaves out a ton of warnings/errors (despite what the names imply). `-Weverything` is an alias for enabling all warnings. I find it much better practice to enable all warnings and then selectively disable the ones which warn me about things I have done intentionally through pragmas in the code.
EDIT: interesting indeed. Thanks for the pointer!
(Add warning levels) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53313