aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorKen Werner <ken.werner@de.ibm.com>2010-11-03 14:06:27 +0000
committerKen Werner <ken.werner@de.ibm.com>2010-11-03 14:06:27 +0000
commit120bd36024971107c9f5dce6882e343c836a6402 (patch)
tree30540b525cde8e6b84e8bb78a4cfa77ab9acddc5 /gdb/testsuite
parentc37f7098e9cb05b2574cf82e6ae299530ed407ba (diff)
downloadfsf-binutils-gdb-120bd36024971107c9f5dce6882e343c836a6402.zip
fsf-binutils-gdb-120bd36024971107c9f5dce6882e343c836a6402.tar.gz
fsf-binutils-gdb-120bd36024971107c9f5dce6882e343c836a6402.tar.bz2
gdb:
* valarith.c (value_pos, value_neg, value_complement): Handle vector types. * valops.c (value_one): Likewise. gdb/testsuite: * gdb.base/gnu_vector.exp: Add unary operator tests.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/ChangeLog4
-rw-r--r--gdb/testsuite/gdb.base/gnu_vector.exp14
2 files changed, 16 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 38ee97f..c062b02 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,9 @@
2010-11-03 Ken Werner <ken.werner@de.ibm.com>
+ * gdb.base/gnu_vector.exp: Add unary operator tests.
+
+2010-11-03 Ken Werner <ken.werner@de.ibm.com>
+
* gdb.base/exprs.exp: Add tests for pre-/post- in-/decrement operators.
2010-11-02 Doug Evans <dje@google.com>
diff --git a/gdb/testsuite/gdb.base/gnu_vector.exp b/gdb/testsuite/gdb.base/gnu_vector.exp
index e786365..870b563 100644
--- a/gdb/testsuite/gdb.base/gnu_vector.exp
+++ b/gdb/testsuite/gdb.base/gnu_vector.exp
@@ -50,7 +50,7 @@ if { ![runto main] } {
gdb_test "print c4" "\\\$$decimal = \\{1, 2, 3, 4\\}"
gdb_test "print c4\[2\]" "\\\$$decimal = 3"
-# Test binary operators on integer vector types
+# Test operators on integer vector types
gdb_test "print i4a" "\\\$$decimal = \\{2, 4, 8, 16\\}"
gdb_test "print i4b" "\\\$$decimal = \\{1, 2, 8, 4\\}"
# Arithmetic operators
@@ -59,15 +59,23 @@ gdb_test "print i4a - i4b" "\\\$$decimal = \\{1, 2, 0, 12\\}"
gdb_test "print i4a * i4b" "\\\$$decimal = \\{2, 8, 64, 64\\}"
gdb_test "print i4a / i4b" "\\\$$decimal = \\{2, 2, 1, 4\\}"
gdb_test "print i4a % i4b" "\\\$$decimal = \\{0, 0, 0, 0\\}"
+gdb_test "print i4a++" "\\\$$decimal = \\{2, 4, 8, 16\\}"
+gdb_test "print ++i4a" "\\\$$decimal = \\{4, 6, 10, 18\\}"
+gdb_test "print i4a--" "\\\$$decimal = \\{4, 6, 10, 18\\}"
+gdb_test "print --i4a" "\\\$$decimal = \\{2, 4, 8, 16\\}"
+gdb_test "print +i4a" "\\\$$decimal = \\{2, 4, 8, 16\\}"
+gdb_test "print -i4a" "\\\$$decimal = \\{-2, -4, -8, -16\\}"
+
# Bitwise operators
gdb_test "print i4a & i4b" "\\\$$decimal = \\{0, 0, 8, 0\\}"
gdb_test "print i4a | i4b" "\\\$$decimal = \\{3, 6, 8, 20\\}"
gdb_test "print i4a ^ i4b" "\\\$$decimal = \\{3, 6, 0, 20\\}"
+gdb_test "print ~i4a" "\\\$$decimal = \\{-3, -5, -9, -17\\}"
# Shift operators
gdb_test "print i4a << i4b" "\\\$$decimal = \\{4, 16, 2048, 256\\}"
gdb_test "print i4a >> i4b" "\\\$$decimal = \\{1, 1, 0, 1\\}"
-# Test binary operators on floating point vector types
+# Test operators on floating point vector types
gdb_test "print f4a" "\\\$$decimal = \\{2, 4, 8, 16\\}"
gdb_test "print f4b" "\\\$$decimal = \\{1, 2, 8, 4\\}"
# Arithmetic operators
@@ -75,6 +83,8 @@ gdb_test "print f4a + f4b" "\\\$$decimal = \\{3, 6, 16, 20\\}"
gdb_test "print f4a - f4b" "\\\$$decimal = \\{1, 2, 0, 12\\}"
gdb_test "print f4a * f4b" "\\\$$decimal = \\{2, 8, 64, 64\\}"
gdb_test "print f4a / f4b" "\\\$$decimal = \\{2, 2, 1, 4\\}"
+gdb_test "print +f4a" "\\\$$decimal = \\{2, 4, 8, 16\\}"
+gdb_test "print -f4a" "\\\$$decimal = \\{-2, -4, -8, -16\\}"
# Test scalar to vector widening
gdb_test "print (int2) 1" "\\\$$decimal = \\{1, 1\\}"