summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/gcc/TESTS.FLUNK
blob: 04641e3c8fb84e1df0033b1d9727544baee8992c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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.