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>
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 @@
 	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 @@
 	} else {
 	    error "$lang: unsupported bits"
 	}
-	return "(${sign_prefix}signed $type) $val"
+	return "(${sign_prefix}$type) $val"
     }
 }