There's 'c89' and 'c90'. Are there any supported dialects more
ancient than those?
With either -std=c89 or -std=c90 I get the following:
[1] error: C++ style comments are not allowed in ISO C90
[2] altline.h:89:2: warning: this decimal constant is unsigned only in ISO C90
2403504081, 130889,
^~~~~~~~~~
1 -- There are rather few '//' comments. I suppose I'll just change
them all. I was hoping to avoid massive edits. (Though have already
done some massive edits coping with these gcc problems.)
2 -- There "warnings" occur in initializers of 'long long' -- ALL
the 64-bit numbers I use are positive and less than 2 < 63, so
the warning message is spurious. THE CODE COMPILES FINE.
Just ignore the warning? Fine ... but a very large number of warnings
are created and, because the warnings are 3-line warnings,
grep -v this.decimal.constant.is.unsigned.only
still leaves huge clutter.
THEREFORE, the best command line that I've found so far
is to omit "-std=" and use
cc -Wno-implicit-int -Wno-implicit-function-declaration ... \
| grep -v no.value..in.function.returning.non-void
This still leaves much clutter on stderr, but the clutter will
"obviously" be the leftovers from the multi-line errors, so I
my eye can ignore them quickly.
Problem solved, I guess. I do wish I'd saved the old gcc binaries.
I'm sure there's a huge temptation to say "Why don't you fix your
code instead of blaming the compiler?"
And I can understand that. BUT PLEASE NOTE THAT THIS IS CODE
WHICH COMPILED FINE FOR *TWO DECADES* until I "upgraded" my
compiler a few days ago.
jamesdowallen at Gmail