This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


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

[RFA] testsuite/gdb.c++/local.exp: work around "marker() ()" bug


This is Sunday Project Patch #9.

This patch changes testsuite/gdb.c++/local.exp to use to library
function 'runto to reach a marker function.  This simplifies the file,
and it accommodates a bug in gdb when using g++ v3pre.

The bug is PR gdb/34, "g++ v3 functions show as "inheritance2() ()"".
testsuite/gdb.c++/method.exp has one specific test case to detect this
bug, so I want to fix other test scripts so that they don't cascade
fail on this bug.

Before and after results with g++ v3pre:
  before: 0 PASS, 3 FAIL, 0 XPASS, 2 XFAIL
  after:  1 PASS, 2 FAIL, 0 XPASS, 2 XFAIL

I tested this on native Red Hat Linux 7 and native Solaris 2.6 with
gcc 2.95.3 and gcc 3pre dated 2001-04.22.

OK to apply?

Michael

===

2001-04-22  Michael Chastain  <chastain@redhat.com>

	* gdb.c++/local.exp: Use the 'runto' library function.

===

Index: gdb/testsuite/gdb.c++/local.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.c++/local.exp,v
retrieving revision 1.5
diff -c -3 -p -r1.5 local.exp
*** gdb/testsuite/gdb.c++/local.exp	2001/03/06 08:21:53	1.5
--- gdb/testsuite/gdb.c++/local.exp	2001/04/23 04:25:26
***************
*** 1,4 ****
! # Copyright 1998, 1999, 2000 Free Software Foundation, Inc.
  
  # This program is free software; you can redistribute it and/or modify
  # it under the terms of the GNU General Public License as published by
--- 1,4 ----
! # Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
  
  # This program is free software; you can redistribute it and/or modify
  # it under the terms of the GNU General Public License as published by
*************** if ![runto_main] then {
*** 61,85 ****
      continue
  }
  
! send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"
  
!     send_gdb "cont\n"
!     gdb_expect {
!         -re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" {
!             send_gdb "up\n"
!             gdb_expect {
!                 -re ".*main.*$gdb_prompt $" {
! 		    pass "up from marker1"
! 		}
!                 -re ".*$gdb_prompt $" {
! 		    fail "up from marker1"
! 		}
!                 timeout { fail "up from marker1 (timeout)" }
!             }
!         }
!         -re "$gdb_prompt $" { fail "continue to marker1"  }
!         timeout { fail "(timeout) continue to marker1"  }
!     }
  
  # srikanth, These tests have always been run only with aCC. Now in
  # the new scheme of things, we run it twice, once with aCC, and once
--- 61,73 ----
      continue
  }
  
! if ![runto 'marker1'] then {
!     perror "couldn't run to marker1"
!     continue
! }
  
! gdb_test "up" ".*main.*" "up from marker1"
! 
  
  # srikanth, These tests have always been run only with aCC. Now in
  # the new scheme of things, we run it twice, once with aCC, and once


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