Tweak gdb.cp tests for aarch32
authorYao Qi <yao.qi@linaro.org>
Mon, 1 Aug 2016 08:18:02 +0000 (09:18 +0100)
committerYao Qi <yao.qi@linaro.org>
Mon, 1 Aug 2016 08:32:06 +0000 (09:32 +0100)
There are some gdb.cp/ tests fails if the program is compiled for arm
32-bit but GDB/GDBserver is aarch64 64-bit program, because target triplet
doesn't match "arm*-*-*".  Instead, we can use is_aarch32_target.

gdb/testsuite:

2016-08-01  Yao Qi  <yao.qi@linaro.org>

* gdb.cp/anon-struct.exp: Check is_aarch32_target.
* gdb.cp/cpexprs.exp: Likewise.
* gdb.cp/m-static.exp: Likewise.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.cp/anon-struct.exp
gdb/testsuite/gdb.cp/cpexprs.exp
gdb/testsuite/gdb.cp/m-static.exp

index 1ba1d91a9fc4821c59876cc5960c99194a980dfc..e9e8eff3b3657c5cf86df3cf2517ff475d56dbad 100644 (file)
@@ -1,3 +1,9 @@
+2016-08-01  Yao Qi  <yao.qi@linaro.org>
+
+       * gdb.cp/anon-struct.exp: Check is_aarch32_target.
+       * gdb.cp/cpexprs.exp: Likewise.
+       * gdb.cp/m-static.exp: Likewise.
+
 2016-07-26  Tom Tromey  <tom@tromey.com>
 
        PR python/20190:
index 4c4d8b13b98c90da904056afa4fabbea01aa19dd..624d5606653374872ce20445cfc92f4541edfeae 100644 (file)
@@ -20,7 +20,7 @@ if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] }
      return -1
 }
 
-if { [istarget arm*-*-*] } {
+if { [is_aarch32_target] } {
     gdb_test "ptype t::t" "type = struct t {\r\n    C m;\r\n} \\*\\(t \\* const\\)" \
        "print type of t::t"
 } else {
@@ -31,7 +31,7 @@ if { [istarget arm*-*-*] } {
 gdb_test "ptype X::t2" "type = struct X::t2 {\[\r\n \]*X::C2 m;\[\r\n \]*}" \
     "print type of X::t2"
 
-if { [istarget arm*-*-*] } {
+if { [is_aarch32_target] } {
     gdb_test "ptype X::t2::t2" "type = struct X::t2 {\r\n    X::C2 m;\r\n} \\*\\(X::t2 \\* const\\)" \
        "print type of X::t2::t2"
     gdb_test "ptype t3::~t3" "type = void \\*\\(t3 \\* const\\)" \
index baf0801ba563d592e2b5593ba9c5e6e01935e9a0..1acd8753e098d2d79e3206e41da62569115466f6 100644 (file)
@@ -144,7 +144,7 @@ add {base2::a_function} \
 # On targets using the ARM EABI, the constructor is expected to return
 # "this".
 proc ctor_ret { type } {
-    if { [istarget arm*-*eabi*] } {
+    if { [istarget arm*-*eabi*] || [is_aarch32_target] } {
        return "$type *"
     } else {
        return "void "
@@ -195,7 +195,7 @@ add {base::base(int)} \
 # GCC returns void * instead of $type *; RealView appears to do
 # the same.
 proc dtor { type } {
-    if { [istarget arm*-*eabi*] } {
+    if { [istarget arm*-*eabi*] || [is_aarch32_target] } {
        set ret "void *"
     } else {
        set ret "void "
index 8972aeb372390a97ba49b2a97b2ab5c6afb75184..9c73c69a16c48e98a057ea5394ed5c4844cb5f26 100644 (file)
@@ -69,7 +69,7 @@ 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"
 
-if { [istarget arm*-*-*] } {
+if { [is_aarch32_target] } {
     gdb_test "print test5.single_constructor" \
        { = {single_constructor \*\(single_constructor \* const\)} 0x[0-9a-f]+ <single_constructor::single_constructor\(\)>} \
        "simple object instance, print constructor"