aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHannes Domani <ssbssa@yahoo.de>2024-06-11 21:30:45 +0200
committerHannes Domani <ssbssa@yahoo.de>2024-07-05 21:43:08 +0200
commitf7e429d5818a577bc0212d4d2bb8bc00891d20b1 (patch)
tree9ce1d1182bfd2d17b340f110166cb5cab5203bba
parent2de28d2f451e378069662d6a65f4129fd939cff9 (diff)
downloadgdb-f7e429d5818a577bc0212d4d2bb8bc00891d20b1.zip
gdb-f7e429d5818a577bc0212d4d2bb8bc00891d20b1.tar.gz
gdb-f7e429d5818a577bc0212d4d2bb8bc00891d20b1.tar.bz2
Fix cast types for opencl
The bitshift tests for opencl have these failures: print /x (signed char) 0x0f << 8 No type named signed char. (gdb) FAIL: gdb.base/bitshift.exp: lang=opencl: 8-bit, promoted: print /x (signed char) 0x0f << 8 print (signed char) 0x0f << 8 No type named signed char. (gdb) FAIL: gdb.base/bitshift.exp: lang=opencl: 8-bit, promoted: print (signed char) 0x0f << 8 Apparently opencl doesn't have the 'signed' modifier for types, only the 'unsigned' modifier. Even 'char' is guaranteed to be signed if no modifier is used, so this changes the casts to match this logic. Approved-By: Tom Tromey <tom@tromey.com>
-rw-r--r--gdb/testsuite/gdb.base/bitshift.exp8
1 files changed, 5 insertions, 3 deletions
diff --git a/gdb/testsuite/gdb.base/bitshift.exp b/gdb/testsuite/gdb.base/bitshift.exp
index cab82e1..dccc36b 100644
--- a/gdb/testsuite/gdb.base/bitshift.exp
+++ b/gdb/testsuite/gdb.base/bitshift.exp
@@ -123,10 +123,12 @@ proc make_val_cast {lang signed bits val} {
return "$val as ${sign_prefix}$bits"
} else {
# C-like cast.
- if {$signed} {
+ if {!$signed} {
+ set sign_prefix "unsigned "
+ } elseif {$lang == "opencl"} {
set sign_prefix ""
} else {
- set sign_prefix "un"
+ set sign_prefix "signed "
}
if {$bits == 8} {
set type "char"
@@ -143,7 +145,7 @@ proc make_val_cast {lang signed bits val} {
} else {
error "$lang: unsupported bits"
}
- return "(${sign_prefix}signed $type) $val"
+ return "(${sign_prefix}$type) $val"
}
}