[Bug middle-end/54218] New: Debug info for function parameters is incorrect when compiled with -O0
senthil_kumar.selvaraj at atmel dot com
gcc-bugzilla@gcc.gnu.org
Fri Aug 10 08:37:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54218
Bug #: 54218
Summary: Debug info for function parameters is incorrect when
compiled with -O0
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: senthil_kumar.selvaraj@atmel.com
Created attachment 27980
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27980
Failing dejagnu test case
When compiling a function, like below, with no optimizations (-O0), on a x86_64
target (also occurs for atleast one other target (avr))
void func(int p)
{
p = 0;
p = 32;
}
wrong debug information is emitted for the function parameter (p), that cause
the debugger to keep showing the value of the actual argument, even after p is
overwritten. A failing dejagnu test is attached.
Based on a preliminary analysis, the actual problem seems to be that stack
space for a function parameter (that is not used??) is allocated twice when
gimple_expand_cfg runs - once when expand_used_vars runs, and later when
assign_parm_setup_stack runs. expand_used_vars allocates stack space despite
the check for a default definition being present in the partition, because the
function parameter node (which I guess should be the default definition) is not
present when iterating over num_ssa_names.
More information about the Gcc-bugs
mailing list