Looks like the core is now -Wunused-value clean with clang.

Another possibility is that clang has become smarter,
and that needs to be made dependent on clang version.
But for now, let's opt for simplicity and less logic.
With this we are g++ -Wunused-* clean.
Make also cflags.SH clean with g++ -Wunused-*

"clean" as in "not needed anymore".
Comment tweaking.
Enable -Werror=declaration-after-statement.

For C89 compliancy, this is the most common thinko people make.
While waiting for -pedantic -std=c89, which will catch the same.
-Wendif-labels is actually the default.

Has been AFAICT for years / always, the documentation just
had it wrong in pre-4.0 gccs.
-Wextra is the new -W, do not use both.
Echo also these added options.
Add note about the -std=c89 needing -pedantic.