| 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. |
| |