[Bug debug/42657] New: Missing debug info for a variable
jakub at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Jan 8 10:44:00 GMT 2010
At -g -O2 var1 has a location attribute, but var2 does not.
extern unsigned int extfn (char *x);
static inline int
foo (const char *x, int y)
{
int a = 0;
a = extfn (y ? __builtin_strdup (x) : (char *) x);
const char *var1 = x;
int var2 = a;
__asm__ volatile ("/* %0 %1 */" : : "r" (var1), "r" (var2));
return a;
}
int
bar (const char *x)
{
return foo (x, 1);
}
int
baz (const char *x)
{
return foo (x, 0);
}
although obviously there is a register in which var2 is present (the one passed
to the inline asm.
The debug stmt is reset during inlining:
./cc1 -O2 -g rh552376.i -fdump-ipa-all -quiet; grep var rh552376.i.04[12]*
rh552376.i.041i.cp: # DEBUG var1 => x_4(D)
rh552376.i.041i.cp: # DEBUG var2 => a_9
rh552376.i.042i.inline: # DEBUG var1 => x_4(D)
rh552376.i.042i.inline: # DEBUG var2 => a_9
rh552376.i.042i.inline: # DEBUG var1 => x_4(D)
rh552376.i.042i.inline: # DEBUG var2 => a_9
rh552376.i.042i.inline: # DEBUG var1 => x_1(D)
rh552376.i.042i.inline: # DEBUG var2 => NULL
rh552376.i.042i.inline: # DEBUG var1 => x_1(D)
rh552376.i.042i.inline: # DEBUG var2 => NULL
--
Summary: Missing debug info for a 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=42657
More information about the Gcc-bugs
mailing list