mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-16 10:20:30 +00:00
40 lines
1.3 KiB
Plaintext
40 lines
1.3 KiB
Plaintext
|
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.
|
||
|
|