This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug debug/54887] New: gdb test case failure with mi-var-rtti


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

             Bug #: 54887
           Summary: gdb test case failure with mi-var-rtti
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: debug
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: arnez@linux.vnet.ibm.com


Current upstream gcc causes a regression with the gdb test case
mi-var-rtti.exp:
FAIL: gdb.mi/mi-var-rtti.exp: create varobj for ptr (without RTTI) in
use_rtti_for_ptr
...

Here's a link to the C++ source:
http://sourceware.org/cgi-bin/cvsweb.cgi/~checkout~/src/gdb/testsuite/gdb.mi/mi-var-rtti.cc?rev=1.1&cvsroot=src

The test case sets a breakpoint in use_rtti_for_ptr_test() on the last
variable declaration ('constPtrConst', line 37) and then advances with
'next' to the return statement.  There it tries to access the variable
'ptr', but the 'next' already carried us into the epilogue beyond that
variable's lexical block.  This is because the line number information
now places the return statement _after_ everything else, even after
the destructor call for 'd'.

I've verified the failure on x86_64 and s390x.  The regression was
introduced by: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191338


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]