aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorHannes Domani <ssbssa@yahoo.de>2024-06-11 21:30:45 +0200
committerHannes Domani <ssbssa@yahoo.de>2024-06-11 21:30:45 +0200
commit7eceaa69efddc3bfecfeab1179a580309c5a646e (patch)
tree1b2978e9c12e48b029d2b3e2f9cef6735d6a7006 /gdb/testsuite
parent3dd8c680a8651aa22c996b1e2d39dd123f204be3 (diff)
downloadgdb-7eceaa69efddc3bfecfeab1179a580309c5a646e.zip
gdb-7eceaa69efddc3bfecfeab1179a580309c5a646e.tar.gz
gdb-7eceaa69efddc3bfecfeab1179a580309c5a646e.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>
Diffstat (limited to 'gdb/testsuite')
-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"
}
}