https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116780

--- Comment #15 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Georg-Johann Lay from comment #14)
> (In reply to Segher Boessenkool from comment #13)
> > But this testcase is in gcc.target/ anyway, right?
> That's just a copy of  gcc.dg/torture/pr64088.c :
> 
> https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/testsuite/gcc.dg/torture/
> pr64088.c;h=0ea5fabcc2fc30833d9ab80ce30090f23e46594b;hb=HEAD

Yeah, that is clearly not valid C at all already.

> This test case works with avr+reload but it fails with avr+lra, so it
> appeared to be lra related.
> 
> As gcc.dg/torture/pr64088.c is not target-specific, it's supposed to make
> sense on all targets? And with lra too, of course.  No?

It makes sense never, not on any target, not with LRA nor without.  It is
incorrect according to 6.7.6.2/1 already ("If the expression is a constant
expression, it shall have a value greater than zero."), but dereferencing a
non-existing object isn't correct either, obviously.

Reply via email to