This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[patch/testsuite/cp] classes.cc: extend scope of obj_with_enum
- From: mec dot gnu at mindspring dot com (Michael Elizabeth Chastain)
- To: carlton at kealia dot com, gdb-patches at sources dot redhat dot com,vinschen at redhat dot com
- Date: Tue, 9 Mar 2004 12:34:01 -0500 (EST)
- Subject: [patch/testsuite/cp] classes.cc: extend scope of obj_with_enum
This patch fixes the problem reported by Corinna V in classes.exp.
I started with Corinna's patch and used Daniel J's suggestion to
hit a different member rather than writing on the same member twice.
This also lets me get rid of a TODO in classes.exp.
Tested on: native i686-pc-linux-gnu, gcc 2.95.3 3.3.3 HEAD, dwarf-2
and stabs+. With gcc HEAD -gdwarf-2, these results improved:
-FAIL: gdb.cp/classes.exp: print obj_with_enum (2)
-FAIL: gdb.cp/classes.exp: print obj_with_enum.priv_enum
-FAIL: gdb.cp/classes.exp: ptype obj_with_enum.priv_enum
-FAIL: gdb.cp/classes.exp: ptype obj_with_enum
+PASS: gdb.cp/classes.exp: print obj_with_enum (2)
+PASS: gdb.cp/classes.exp: print obj_with_enum.priv_enum
+PASS: gdb.cp/classes.exp: ptype obj_with_enum.priv_enum
+KFAIL: gdb.cp/classes.exp: ptype obj_with_enum (PRMS: gdb/57)
I am committing this now. Thanks Corinna! And let me know if it
doesn't work for you.
2004-03-09 Michael Chastain <mec.gnu@mindspring.com>
From Corinna Vinschen with modifications.
* gdb.cp/classes.cc (enums1): Add a line to extend scope of
local variable obj_with_enum.
* gdb.cp/classes.exp (test_enums): Remove TODO note about FAIL
results with obj_with_enum.
Michael C
Index: classes.cc
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.cp/classes.cc,v
retrieving revision 1.1
diff -c -3 -p -r1.1 classes.cc
*** classes.cc 9 Mar 2004 17:11:55 -0000 1.1
--- classes.cc 9 Mar 2004 17:25:23 -0000
***************
*** 1,6 ****
/* This testcase is part of GDB, the GNU debugger.
! Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
--- 1,6 ----
/* This testcase is part of GDB, the GNU debugger.
! Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2004
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
*************** void enums1 ()
*** 453,458 ****
--- 453,459 ----
obj_with_enum.x = 0;
enums2 ();
obj_with_enum.priv_enum = ClassWithEnum::green;
+ obj_with_enum.x = 1;
}
class ClassParam {
Index: classes.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.cp/classes.exp,v
retrieving revision 1.8
diff -c -3 -p -r1.8 classes.exp
*** classes.exp 9 Mar 2004 17:11:55 -0000 1.8
--- classes.exp 9 Mar 2004 17:25:23 -0000
*************** proc test_enums {} {
*** 633,643 ****
gdb_test "next" ""
- # TODO: with gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2,
- # gdb says that obj_with_enum is out of scope here and the
- # tests after this FAIL. This needs investigation.
- # -- chastain 2003-12-30
-
# print the object again
gdb_test "print obj_with_enum" \
--- 633,638 ----