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: unassig...@gcc.gnu.org

        ReportedBy: ar...@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

Reply via email to