TESTS.FLUNK   [plain text]

This is a collection of things that test suites have
said were "wrong" with GCC--but that I don't agree with.

First, test suites sometimes test for compatibility with
traditional C.  GCC with -traditional is not completely
compatible with traditional C, and in some ways I think it
should not be.

* K&R C allowed \x to appear in a string literal (or character
literal?)  even in cases where it is *not* followed by a sequence of
hex digits.  I'm not convinced this is desirable.

* K&R compilers allow comments to cross over an inclusion boundary (i.e.
started in an include file and ended in the including file).
I think this would be quite ugly and can't imagine it could
be needed.

Sometimes tests disagree with GCC's interpretation of the ANSI standard.

* One test claims that this function should return 1.

    enum {A, B} foo;

    func (enum {B, A} arg)
      return B;

I think it should return 0, because the definition of B that
applies is the one in func.

* Some tests report failure when the compiler does not produce
an error message for a certain program.

ANSI C requires a "diagnostic" message for certain kinds of invalid
programs, but a warning counts as a diagnostic.  If GCC produces
a warning but not an error, that is correct ANSI support.
When test suites call this "failure", the tests are broken.