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.