aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <pedro@palves.net>2020-09-17 23:33:40 +0100
committerPedro Alves <pedro@palves.net>2020-09-18 00:04:47 +0100
commit11fac33796f43a177c1836bf8fb1f7cc60e3875e (patch)
treeda989c8ffb85e2f0cf2a3506747e25e54285252e
parent52626c58267233b0e6a9807a80945467a019013b (diff)
downloadgdb-11fac33796f43a177c1836bf8fb1f7cc60e3875e.zip
gdb-11fac33796f43a177c1836bf8fb1f7cc60e3875e.tar.gz
gdb-11fac33796f43a177c1836bf8fb1f7cc60e3875e.tar.bz2
gdb.base/examine-backward.exp C++ify and Clang
Adjust gdb.base/examine-backward.exp to let the testcase build and run as a C++ program, built with either G++ or Clang++. The change to use unsigned char instead of plain char is to avoid narrowing warnings: gdb compile failed, src/gdb/testsuite/gdb.base/examine-backward.c:55:1: error: narrowing conversion of '227' from 'int' to 'char' [-Wnarrowing] 55 | }; | ^ gdb/testsuite/ChangeLog: * gdb.base/examine-backward.c (Barrier, TestStrings): Now unsigned char array. (main): Add references to Barrier, TestStrings, TestStringsH and TestStringsW. * gdb.base/examine-backward.exp: Issue "set print asm-demangle on" and expect a full prototype in C++.
-rw-r--r--gdb/testsuite/ChangeLog9
-rw-r--r--gdb/testsuite/gdb.base/examine-backward.c7
-rw-r--r--gdb/testsuite/gdb.base/examine-backward.exp7
3 files changed, 19 insertions, 4 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 2dbaab7..aee673f 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,14 @@
2020-09-17 Pedro Alves <pedro@palves.net>
+ * gdb.base/examine-backward.c (Barrier, TestStrings): Now unsigned
+ char array.
+ (main): Add references to Barrier, TestStrings, TestStringsH and
+ TestStringsW.
+ * gdb.base/examine-backward.exp: Issue "set print asm-demangle on"
+ and expect a full prototype in C++.
+
+2020-09-17 Pedro Alves <pedro@palves.net>
+
* gdb.base/nested-addr.c (main): Add cast.
* gdb.base/nested-addr.exp: Use "print /d".
diff --git a/gdb/testsuite/gdb.base/examine-backward.c b/gdb/testsuite/gdb.base/examine-backward.c
index cf61df8..4db4095 100644
--- a/gdb/testsuite/gdb.base/examine-backward.c
+++ b/gdb/testsuite/gdb.base/examine-backward.c
@@ -36,11 +36,11 @@ literals. The content of each array is the same as followings:
TestStrings, to avoid showing garbage when we look for strings
backwards from TestStrings. */
-const char Barrier[] = {
+const unsigned char Barrier[] = {
0x00,
};
-const char TestStrings[] = {
+const unsigned char TestStrings[] = {
0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
@@ -92,6 +92,9 @@ const int TestStringsW[] = {
int
main (void)
{
+ /* Clang++ eliminates the variables if nothing references them. */
+ int dummy = Barrier[0] + TestStrings[0] + TestStringsH[0] + TestStringsW[0];
+
/* Backward disassemble test requires at least 20 instructions in
this function. Adding a simple bubble sort. */
int i, j;
diff --git a/gdb/testsuite/gdb.base/examine-backward.exp b/gdb/testsuite/gdb.base/examine-backward.exp
index c1ab4d1..b2d9fc1 100644
--- a/gdb/testsuite/gdb.base/examine-backward.exp
+++ b/gdb/testsuite/gdb.base/examine-backward.exp
@@ -345,9 +345,12 @@ with_test_prefix "backward disassemble general" {
set length_to_examine {1 2 3 4 10}
set disassmbly {}
- gdb_test "x/i main" "0x\[0-9a-fA-F\]+ <main>:\t.*" \
+ gdb_test_no_output "set print asm-demangle on"
+ set main_re "main(\\(\\))?"
+
+ gdb_test "x/i main" "0x\[0-9a-fA-F\]+ <$main_re>:\t.*" \
"move the current position to main (x/i)"
- gdb_test "x/-i" "0x\[0-9a-fA-F\]+ <main>:\t.*" \
+ gdb_test "x/-i" "0x\[0-9a-fA-F\]+ <$main_re>:\t.*" \
"move the current position to main (x/-i)"
for {set i 0} {$i < [llength $length_to_examine]} {incr i} {
set len [lindex $length_to_examine $i]