summaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorDavid Carlton <carlton@bactrian.org>2002-12-18 00:45:44 +0000
committerDavid Carlton <carlton@bactrian.org>2002-12-18 00:45:44 +0000
commita1bd8ce08206a0d805542edecc3bc58025a0fa26 (patch)
tree83a3ff61ed5c34a7c91cc8c72ddced2126ddd3f0 /gdb/testsuite
parentb8938f9c2f554c2e72e7b11f902e09884a220c20 (diff)
downloadgdb-a1bd8ce08206a0d805542edecc3bc58025a0fa26.tar.gz
2002-12-17 David Carlton <carlton@math.stanford.edu>
* c-exp.y (yylex): Modify the #if 1 block to handle nested types in a more honest manner. * symtab.c (lookup_nested_type): New function. * symtab.h: Declare lookup_nested_type. 2002-12-16 David Carlton <carlton@math.stanford.edu> * symtab.c (lookup_partial_symbol): Don't search past the end of the partial symbols. * Makefile.in (f-exp.tab.c): Don't depend on c-exp.tab.c. * dwarf2read.c (new_symbol): Only make global symbols associated to structures, etc. if the current language is C++. (add_partial_symbol): Ditto (for partial symbols). 2002-12-17 David Carlton <carlton@math.stanford.edu> * gdb.c++/m-data.cc: Whitespace cleanup, to match mainline patch. * gdb.c++/m-static.cc: Ditto. * gdb.c++/namespace.exp: Fix comment. Delete third argument to all the gdb_tests. 2002-12-16 David Carlton <carlton@math.stanford.edu> * gdb.c++/namespace.exp: Change KFAIL messages to point to c++/XXX instead of gdb/XXX.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/ChangeLog17
-rw-r--r--gdb/testsuite/gdb.c++/m-data.cc2
-rw-r--r--gdb/testsuite/gdb.c++/m-static.cc6
-rw-r--r--gdb/testsuite/gdb.c++/namespace.cc1
-rw-r--r--gdb/testsuite/gdb.c++/namespace.exp117
5 files changed, 80 insertions, 63 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 0886e86ece4..977114b29a2 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,20 @@
+2002-12-17 David Carlton <carlton@math.stanford.edu>
+
+ * gdb.c++/m-data.cc: Whitespace cleanup, to match mainline patch.
+ * gdb.c++/m-static.cc: Ditto.
+ * gdb.c++/namespace.exp: Fix comment. Delete third argument to
+ all the gdb_tests.
+
+2002-12-16 David Carlton <carlton@math.stanford.edu>
+
+ * gdb.c++/namespace.exp: Change KFAIL messages to point to c++/XXX
+ instead of gdb/XXX.
+
+2002-12-02 David Carlton <carlton@math.stanford.edu>
+
+ * gdb.c++/namespace.exp: Add format strings after all the
+ setup_kfails.
+
2002-11-29 David Carlton <carlton@bactrian.org>
* gdb.c++/namespace.exp: Add OtherFileClass tests.
diff --git a/gdb/testsuite/gdb.c++/m-data.cc b/gdb/testsuite/gdb.c++/m-data.cc
index f5afec0b74a..2066546d134 100644
--- a/gdb/testsuite/gdb.c++/m-data.cc
+++ b/gdb/testsuite/gdb.c++/m-data.cc
@@ -1,6 +1,6 @@
// 2002-05-13
-enum region { oriental, egyptian, greek, etruscan, roman };
+enum region { oriental, egyptian, greek, etruscan, roman };
// Test one.
class gnu_obj_1
diff --git a/gdb/testsuite/gdb.c++/m-static.cc b/gdb/testsuite/gdb.c++/m-static.cc
index e5b9cd1eecd..6d08cb063ea 100644
--- a/gdb/testsuite/gdb.c++/m-static.cc
+++ b/gdb/testsuite/gdb.c++/m-static.cc
@@ -1,6 +1,6 @@
// 2002-05-13
-enum region { oriental, egyptian, greek, etruscan, roman };
+enum region { oriental, egyptian, greek, etruscan, roman };
// Test one.
class gnu_obj_1
@@ -43,8 +43,8 @@ class gnu_obj_3
{
public:
typedef region antiquities;
- static gnu_obj_2<int> data;
-
+ static gnu_obj_2<int> data;
+
public:
gnu_obj_3(antiquities b) { }
};
diff --git a/gdb/testsuite/gdb.c++/namespace.cc b/gdb/testsuite/gdb.c++/namespace.cc
index 0a264ec403f..d9c9593e2b9 100644
--- a/gdb/testsuite/gdb.c++/namespace.cc
+++ b/gdb/testsuite/gdb.c++/namespace.cc
@@ -196,6 +196,7 @@ namespace C
//cc;
C::cc;
cd;
+ //C::D::cd;
E::cde;
shadow;
//E::ce;
diff --git a/gdb/testsuite/gdb.c++/namespace.exp b/gdb/testsuite/gdb.c++/namespace.exp
index fa38f2e58a3..1f0d7e1b124 100644
--- a/gdb/testsuite/gdb.c++/namespace.exp
+++ b/gdb/testsuite/gdb.c++/namespace.exp
@@ -79,10 +79,10 @@ gdb_test "up" ".*main.*" "up from marker1"
# Access a data item inside a namespace using colons and
# single quotes. :-(
-# NOTE: carlton/2002-11-24: the colons are becoming less necessary (or
-# even desirable.) For tests where it should still work with colons,
-# I'm including versions both with and without colons; for tests that
-# shouldn't work with colons, I'm only including one version.
+# NOTE: carlton/2002-11-24: the quotes are becoming less necessary (or
+# even desirable.) For tests where it should still work with quotes,
+# I'm including versions both with and without quotes; for tests that
+# shouldn't work with quotes, I'm only including one version.
send_gdb "print 'AAA::c'\n"
gdb_expect {
@@ -178,7 +178,7 @@ gdb_expect {
send_gdb "print BBB::CCC::xyzq('x')\n"
gdb_expect {
-re "\\$\[0-9\]* = 122 'z'\r\n$gdb_prompt $" {
- pass "print 'BBB::CCC::xyzq'('x')"
+ pass "print BBB::CCC::xyzq('x')"
}
-re ".*$gdb_prompt $" { fail "print BBB::CCC::xyzq('x')" }
timeout { fail "(timeout) print BBB::CCC::xyzq('x')" }
@@ -235,53 +235,52 @@ if ![runto "C::D::marker2"] then {
continue
}
-gdb_test "print c" "\\$\[0-9\].* = 1" "print c"
-gdb_test "print cc" "No symbol \"cc\" in current context." "print cc"
-gdb_test "print 'C::cc'" "\\$\[0-9\].* = 2" "print 'C::cc'"
-gdb_test "print C::cc" "\\$\[0-9\].* = 2" "print C::cc"
-gdb_test "print cd" "\\$\[0-9\].* = 3" "print cd"
-gdb_test "print 'C::D::cd'" "\\$\[0-9\].* = 3" "print 'C::D::cd'"
-gdb_test "print C::D::cd" "\\$\[0-9\].* = 3" "print C::D::cd"
-gdb_test "print 'E::cde'" "\\$\[0-9\].* = 5" "print 'E::cde'"
-gdb_test "print E::cde" "\\$\[0-9\].* = 5" "print E::cde"
-gdb_test "print shadow" "\\$\[0-9\].* = 13" "print shadow"
-gdb_test "print E::ce" "No symbol \"ce\" in namespace \"C::D::E\"." "print E::ce"
-gdb_test "ptype C" "type = namespace C::C" "ptype C::C"
-gdb_test "ptype E" "type = namespace C::D::E" "ptype C::D::E"
-
-gdb_test "ptype CClass" "type = class C::CClass \{\r\n public:\r\n int x;\r\n\}" "ptype CClass"
-gdb_test "ptype CClass::NestedClass" "type = class C::CClass::NestedClass \{\r\n public:\r\n int y;\r\n\}" "ptype CClass::NestedClass"
-gdb_test "ptype NestedClass" "No symbol \"NestedClass\" in current context." "ptype NestedClass"
-gdb_test "ptype ::C::CClass" "type = class C::CClass \{\r\n public:\r\n int x;\r\n\}" "ptype ::C::CClass"
-gdb_test "ptype ::C::CClass::NestedClass" "type = class C::CClass::NestedClass \{\r\n public:\r\n int y;\r\n\}" "ptype ::C::CClass::NestedClass"
-gdb_test "ptype ::C::NestedClass" "No symbol \"NestedClass\" in namespace \"C\"." "ptype ::C::NestedClass"
-gdb_test "ptype C::CClass" "No symbol \"Class\" in namespace \"C::C\"" "ptype C::CClass"
-gdb_test "ptype C::CClass::NestedClass" "No symbol \"Class\" in namespace \"C::C\"" "ptype C::CClass::NestedClass"
-gdb_test "ptype C::NestedClass" "No symbol \"NestedClass\" in namespace \"C::C\"." "ptype C::NestedClass"
+gdb_test "print c" "\\$\[0-9\].* = 1"
+gdb_test "print cc" "No symbol \"cc\" in current context."
+gdb_test "print 'C::cc'" "\\$\[0-9\].* = 2"
+gdb_test "print C::cc" "\\$\[0-9\].* = 2"
+gdb_test "print cd" "\\$\[0-9\].* = 3"
+gdb_test "print C::D::cd" "No type \"D\" within context \"C::C\"."
+gdb_test "print 'E::cde'" "\\$\[0-9\].* = 5"
+gdb_test "print E::cde" "\\$\[0-9\].* = 5"
+gdb_test "print shadow" "\\$\[0-9\].* = 13"
+gdb_test "print E::ce" "No symbol \"ce\" in namespace \"C::D::E\"."
+gdb_test "ptype C" "type = namespace C::C"
+gdb_test "ptype E" "type = namespace C::D::E"
+
+gdb_test "ptype CClass" "type = class C::CClass \{\r\n public:\r\n int x;\r\n\}"
+gdb_test "ptype CClass::NestedClass" "type = class C::CClass::NestedClass \{\r\n public:\r\n int y;\r\n\}"
+gdb_test "ptype NestedClass" "No symbol \"NestedClass\" in current context."
+gdb_test "ptype ::C::CClass" "type = class C::CClass \{\r\n public:\r\n int x;\r\n\}"
+gdb_test "ptype ::C::CClass::NestedClass" "type = class C::CClass::NestedClass \{\r\n public:\r\n int y;\r\n\}"
+gdb_test "ptype ::C::NestedClass" "No symbol \"NestedClass\" in namespace \"C\"."
+gdb_test "ptype C::CClass" "No symbol \"CClass\" in namespace \"C::C\"."
+gdb_test "ptype C::CClass::NestedClass" "No symbol \"CClass\" in namespace \"C::C\"."
+gdb_test "ptype C::NestedClass" "No symbol \"NestedClass\" in namespace \"C::C\"."
# Tests involving multiple files
-gdb_test "ptype OtherFileClass" "type = class C::OtherFileClass \{\r\n public:\r\n int z;\r\n\}" "ptype OtherFileClass"
-gdb_test "ptype ::C::OtherFileClass" "type = class C::OtherFileClass \{\r\n public:\r\n int z;\r\n\}" "ptype ::C::OtherFileClass"
-gdb_test "ptype C::OtherFileClass" "No symbol \"Class\" in namespace \"C::C\"" "ptype C::OtherFileClass"
+gdb_test "ptype OtherFileClass" "type = class C::OtherFileClass \{\r\n public:\r\n int z;\r\n\}"
+gdb_test "ptype ::C::OtherFileClass" "type = class C::OtherFileClass \{\r\n public:\r\n int z;\r\n\}"
+gdb_test "ptype C::OtherFileClass" "No symbol \"Class\" in namespace \"C::C\"."
# Some anonymous namespace tests.
-gdb_test "print cX" "\\$\[0-9\].* = 6" "print cX"
-gdb_test "print 'F::cXf'" "\\$\[0-9\].* = 7" "print 'F::cXf'"
-gdb_test "print F::cXf" "\\$\[0-9\].* = 7" "print F::cXf"
-gdb_test "print 'F::cXfX'" "\\$\[0-9\].* = 8" "print 'F::cXfX'"
-gdb_test "print F::cXfX" "\\$\[0-9\].* = 8" "print F::cXfX"
-gdb_test "print X" "\\$\[0-9\].* = 9" "print X"
-gdb_test "print 'G::Xg'" "\\$\[0-9\].* = 10" "print 'G::Xg'"
-gdb_test "print G::Xg" "\\$\[0-9\].* = 10" "print G::Xg"
-gdb_test "print 'G::XgX'" "\\$\[0-9\].* = 11" "print 'G::XgX'"
-gdb_test "print G::XgX" "\\$\[0-9\].* = 11" "print G::XgX"
+gdb_test "print cX" "\\$\[0-9\].* = 6"
+gdb_test "print 'F::cXf'" "\\$\[0-9\].* = 7"
+gdb_test "print F::cXf" "\\$\[0-9\].* = 7"
+gdb_test "print 'F::cXfX'" "\\$\[0-9\].* = 8"
+gdb_test "print F::cXfX" "\\$\[0-9\].* = 8"
+gdb_test "print X" "\\$\[0-9\].* = 9"
+gdb_test "print 'G::Xg'" "\\$\[0-9\].* = 10"
+gdb_test "print G::Xg" "\\$\[0-9\].* = 10"
+gdb_test "print 'G::XgX'" "\\$\[0-9\].* = 11"
+gdb_test "print G::XgX" "\\$\[0-9\].* = 11"
# Test namespace renaming.
-setup_kfail "gdb/830"
-gdb_test "print I::h" "\\$\[0-9\].* = 14" "print I::h"
+setup_kfail "c++/830" "*-*-*"
+gdb_test "print I::h" "\\$\[0-9\].* = 14"
# Test using directives.
@@ -289,22 +288,22 @@ gdb_test "print I::h" "\\$\[0-9\].* = 14" "print I::h"
# have unfortunate interactions with namespace scope issues. As of
# this writing, some of these pass, but they pass for the wrong reasons.
-setup_kfail "gdb/829"
-gdb_test "print j" "\\$\[0-9\].* = 15" "print j"
-setup_kfail "gdb/829"
-gdb_test "print L::k" "\\$\[0-9\].* = 16" "print L::k"
-setup_kfail "gdb/829"
-gdb_test "print k" "No symbol \"k\" in current context." "print k"
-setup_kfail "gdb/829"
-gdb_test "print cdm" "\\$\[0-9\].* = 17" "print cdm"
-setup_kfail "gdb/829"
-gdb_test "print Q::o" "\\$\[0-9\].* = 18" "print Q::o"
-setup_kfail "gdb/829"
-gdb_test "print o" "No symbol \"o\" in current context." "print o"
+setup_kfail "c++/829" "*-*-*"
+gdb_test "print j" "\\$\[0-9\].* = 15"
+setup_kfail "c++/829" "*-*-*"
+gdb_test "print L::k" "\\$\[0-9\].* = 16"
+setup_kfail "c++/829" "*-*-*"
+gdb_test "print k" "No symbol \"k\" in current context."
+setup_kfail "c++/829" "*-*-*"
+gdb_test "print cdm" "\\$\[0-9\].* = 17"
+setup_kfail "c++/829" "*-*-*"
+gdb_test "print Q::o" "\\$\[0-9\].* = 18"
+setup_kfail "c++/829" "*-*-*"
+gdb_test "print o" "No symbol \"o\" in current context."
# Test using declarations. I should probably test these more.
-setup_kfail "gdb/831"
-gdb_test "print r1" "\\$\[0-9\].* = 19" "print r1"
-setup_kfail "gdb/831"
-gdb_test "print r2" "No symbol \"r2\" in current context." "print r2"
+setup_kfail "c++/831" "*-*-*"
+gdb_test "print r1" "\\$\[0-9\].* = 19"
+setup_kfail "c++/831" "*-*-*"
+gdb_test "print r2" "No symbol \"r2\" in current context."