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: [email protected]
ReportedBy: [email protected]
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