This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/42657] New: Missing debug info for a variable
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Jan 2010 10:44:08 -0000
- Subject: [Bug debug/42657] New: Missing debug info for a variable
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
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