[Bug rtl-optimization/116780] [lra][avr] internal compiler error: output_operand: address operand requires constraint for X, Y, or Z register
segher at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Oct 21 20:53:10 GMT 2024
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.
More information about the Gcc-bugs
mailing list