[Bug debug/41447] New: Wrong debug with VTA on temporaries initialized from memory variable
jakub at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Sep 23 13:29:00 GMT 2009
As reported by Richard in
int a;
int foo()
{
int tmp = a;
int tmp2 = a;
int tmp3;
int res;
a = 0;
tmp3 = tmp2;
res = tmp - tmp2 + 1;
return res;
}
results in wrong-debug with -O2 -g. Having # DEBUG tmp3 => a
after a = 0 is wrong certainly already at gimple levels, while # DEBUG tmp1 =>
a
and # DEBUG tmp2 => a could be in theory handled only at the var-tracking
level, but even there var-tracking fails to notice that the a = 0 store can
clobber the memory (i.e. that the VALUE should be clobbered, and in theory e.g.
most calls should be considered to clobber non-stack MEMs etc., as usually) and
add notes that tmp1/tmp2 don't have known values anymore.
--
Summary: Wrong debug with VTA on temporaries initialized from
memory variable
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41447
More information about the Gcc-bugs
mailing list