[PATCH] Remove broken testcase gcc.c-torture/execute/20020619-1.c
Ian Lance Taylor
iant@google.com
Thu Jun 12 06:30:00 GMT 2008
Richard Guenther <rguenther@suse.de> writes:
> Maybe I'm missing something obvious, but the testcase
> gcc.c-torture/execute/20020619-1.c invokes undefined behavior in
> test(), as *(int *)c references c through an incompatible lvalue.
>
> In particular 6.5/7 doesn't make the object type special, but only
> the lvalue type. And the effective type of c is char (its declared
> type). And clearly char and int are not compatible either.
>
> But well... ok for mainline? (this is the single testcase that
> "breaks" if we fix PR36345, the TBAA-pruning of points-to sets)
For what it's worth, that test case was added here, without a
ChangeLog entry:
http://gcc.gnu.org/ml/gcc-patches/2002-06/msg01730.html
Interestingly, the invalid part of the test is not what Richard
Henderson was actually trying to test. He was fixing a bug which
caused ref to return the wrong value, and wrote test to try to get the
endian-independent value which ref was supposed to return.
It would probably suffice to change main to check that ref returns
either 0x01020304 or 0x04030201.
Ian
More information about the Gcc-patches
mailing list