[Bug target/38151] structures with _Complex arguments are not passed correctly
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat Nov 22 20:42:00 GMT 2008
------- Comment #26 from rguenth at gcc dot gnu dot org 2008-11-22 20:41 -------
Even with ref-all pointers we end up with
<bb 5>:
# addr.0{0}_1 = PHI <&va_arg_tmp.3(3), addr.0{0}_22(4)>
# ap_38 = PHI <ap_56(3), ap_57(4)>
# va_arg_tmp.3_39 = PHI <va_arg_tmp.3_55(3), va_arg_tmp.3_50(4)>
addr.8_25 = (struct S2848 * {ref-all}) addr.0{0}_1;
# VUSE <fails_48, ap_38, SMT.26_53>
# arg_59 = VDEF <arg_58(D)>
arg = *addr.8_25;
where the last stmt misses a VUSE of va_arg_tmp.3. This looks like a bug
in alias computation.
I have a fix for that parts. The gimplify_va_arg still needs to use ref-all
pointers properly.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38151
More information about the Gcc-bugs
mailing list