In this short program, compiled with -O2 -gdwarf-2 on powerpc-darwin with 'gcc
version 4.2.0 20061012':

struct s;
extern void func(struct s *);
void func2(void * s_p)
{ 
  struct s * const ss = s_p;
  func (ss);
  func (ss);
}

debug output is generated which has the variable 's_p' live until just before
the second call to 'func', and has the variable 'ss' live from after the first
call to 'func' through the end of the function.  (The ranges of 's_p' and 'ss'
overlap.)

This is lame.  The variables have identical values, the debug information
should be able to explain their value everywhere in the function.


-- 
           Summary: inconsistent variable output
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: geoffk at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29461

Reply via email to