aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2013-03-25 17:26:18 +0000
committerTom Tromey <tromey@redhat.com>2013-03-25 17:26:18 +0000
commitfce632b6dc97eaa7e9f10f5c2c7dd8fd55931a51 (patch)
tree06761cf79babc8913eb2efe76b35859518a5148a /gdb/testsuite
parentf6f0e17bc3616a0e976b250e361bdd61bbffc6e8 (diff)
downloadbinutils-fce632b6dc97eaa7e9f10f5c2c7dd8fd55931a51.zip
binutils-fce632b6dc97eaa7e9f10f5c2c7dd8fd55931a51.tar.gz
binutils-fce632b6dc97eaa7e9f10f5c2c7dd8fd55931a51.tar.bz2
PR c++/9197:
* opencl-lang.c (evaluate_subexp_opencl) <STRUCTOP_STRUCT>: Use value_struct_elt, not lookup_struct_elt_type. * eval.c (evaluate_subexp_standard) <STRUCTOP_STRUCT, STRUCTOP_PTR>: Use value_struct_elt, not lookup_struct_elt_type. * expression.h (EVAL_AVOID_SIDE_EFFECTS): Update comment. gdb/testsuite * gdb.cp/m-static.exp: Add constructor ptype tests. * gdb.cp/m-static.cc (single_constructor): New class. (main): Make instance of single_constructor.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/ChangeLog6
-rw-r--r--gdb/testsuite/gdb.cp/m-static.cc9
-rw-r--r--gdb/testsuite/gdb.cp/m-static.exp10
3 files changed, 25 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index beadddb..6e8a0f4 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2013-03-25 Tom Tromey <tromey@redhat.com>
+
+ * gdb.cp/m-static.exp: Add constructor ptype tests.
+ * gdb.cp/m-static.cc (single_constructor): New class.
+ (main): Make instance of single_constructor.
+
2013-03-22 Jan Kratochvil <jan.kratochvil@redhat.com>
Pedro Alves <palves@redhat.com>
diff --git a/gdb/testsuite/gdb.cp/m-static.cc b/gdb/testsuite/gdb.cp/m-static.cc
index eadbdfc..cb871e8 100644
--- a/gdb/testsuite/gdb.cp/m-static.cc
+++ b/gdb/testsuite/gdb.cp/m-static.cc
@@ -31,6 +31,14 @@ public:
}
};
+// An object with a single constructor.
+class single_constructor
+{
+public:
+ single_constructor () { }
+ ~single_constructor () { }
+};
+
const bool gnu_obj_1::test;
const int gnu_obj_1::key1;
long gnu_obj_1::key2 = 77;
@@ -81,6 +89,7 @@ int main()
gnu_obj_2<long> test2(roman);
gnu_obj_3<long> test3(greek);
gnu_obj_4 test4;
+ single_constructor test5;
test4.dummy = test4.elsewhere;
test4.dummy = 0;
diff --git a/gdb/testsuite/gdb.cp/m-static.exp b/gdb/testsuite/gdb.cp/m-static.exp
index 5d1cb8b..b31922a 100644
--- a/gdb/testsuite/gdb.cp/m-static.exp
+++ b/gdb/testsuite/gdb.cp/m-static.exp
@@ -69,6 +69,16 @@ gdb_test "print test1.key2" "\\$\[0-9\]* = 77" "simple object, static long"
# simple object, static enum
gdb_test "print test1.value" "\\$\[0-9\]* = oriental" "simple object, static enum"
+gdb_test "print test5.single_constructor" \
+ { = {void \(single_constructor \* const\)} 0x[0-9a-f]+ <single_constructor::single_constructor\(\)>} \
+ "simple object instance, print constructor"
+gdb_test "ptype test5.single_constructor" \
+ {type = void \(single_constructor \* const\)} \
+ "simple object instance, ptype constructor"
+gdb_test "ptype single_constructor::single_constructor" \
+ {type = void \(single_constructor \* const\)} \
+ "simple object class, ptype constructor"
+
gdb_test "print test1.'~gnu_obj_1'" \
{ = {void \(gnu_obj_1 \*( const)?, int\)} 0x[0-9a-f]+ <gnu_obj_1::~gnu_obj_1\(\)>} \
"simple object instance, print quoted destructor"