This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: MEM/u trouble
- To: jakub at redhat dot com
- Subject: Re: MEM/u trouble
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Date: Wed, 14 Mar 01 13:13:42 EST
- Cc: gcc-patches at gcc dot gnu dot org
If (mem (addressof (reg))) is converted to (mem ()), then AFAIC the
MEM flags are preserved.
Yes, and that's the issue: since it will be a stack slot, those flags must
correspond to that of the type with which the stack slot was allocated, so
you can't safely change them.
The m parameter of foo constructor is readonly (because of the const
qualifier):
<var_decl 0x401d5af8 m
type <record_type 0x401cd138 K readonly needs-constructing
readonly used SI file u.C line 4 size <integer_cst 0x401a2be0 32>
Right. This is fine.
<target_expr 0x401d44e0
type <record_type 0x401cca90 K needs-constructing type_1 type_5 SI
This looks wrong. Why isn't this the readonly variant of the type?
Or am I misunderstanding something?