[Bug debug/41097] Inlined variable debug location disappears when ptr type
--- Comment #5 from aoliva at gcc dot gnu dot org 2009-09-22 20:56 --- ... which means the bug is fixed. -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41097
[Bug debug/41097] Inlined variable debug location disappears when ptr type
--- Comment #4 from aoliva at gcc dot gnu dot org 2009-09-22 20:53 --- Jan Hubicka fixed this in revision 151917. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41097
[Bug debug/41097] Inlined variable debug location disappears when ptr type
--- Comment #3 from aoliva at gcc dot gnu dot org 2009-09-08 17:06 --- The non-volatile variable goes missing in the inlined copy of m because it is coalesced with the incoming argument. With VTA, a note is retained that associates p_name with the string. However, we still fail to emit debug information for p_name, for some so-far unknown reason. -- aoliva at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |aoliva at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-09-08 17:06:53 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41097
[Bug debug/41097] Inlined variable debug location disappears when ptr type
--- Comment #2 from mark at gcc dot gnu dot org 2009-08-18 08:11 --- (In reply to comment #1) > Wait a second are you saying: > volatile char * p_name > > and p_name disappears? > Well that is because p_name is no longer volatile but what it points to is. Well, obvious p_name still is there, since it will be put in a register to feed into the asm statement. But the debuginfo location for it is missing. > I don't think this is a bug in GCC but rather a misunderstanding on how > qualifiers apply to types. > > If you use a typedef for char*, does it disappear? You are right, I misunderstood how the volatile qualifier "attached" to the type. Using: typedef char * char_ptr; volatile char_ptr p_name = (char_ptr) name; Does what I want. Thanks. That will allow me to write a workaround for what I am seeing using typedef typeof(arg). I am not sure this means the bug is really not there, because I am still a little surprised (confused?) the location expression goes missing in the original (and I assume the variable isn't actually fully optimized away). But since I now have a workaround for that I am already happy. Thanks. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41097
[Bug debug/41097] Inlined variable debug location disappears when ptr type
--- Comment #1 from pinskia at gcc dot gnu dot org 2009-08-18 07:22 --- Wait a second are you saying: volatile char * p_name and p_name disappears? Well that is because p_name is no longer volatile but what it points to is. I don't think this is a bug in GCC but rather a misunderstanding on how qualifiers apply to types. If you use a typedef for char*, does it disappear? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41097