summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/volatile.exp
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2014-06-30 23:21:52 +0200
committerMark Wielaard <mjw@redhat.com>2014-07-01 22:11:53 +0200
commitcf363f183d9a87faeda74f33b58a6c4a22e7d1e2 (patch)
tree60b2f1984182da22c126419ac62f8f7d1c2b243d /gdb/testsuite/gdb.base/volatile.exp
parent82ae6c8d79c426e1b4d6f7b8d4be5292b3e9a8c5 (diff)
downloadbinutils-gdb-cf363f183d9a87faeda74f33b58a6c4a22e7d1e2.tar.gz
Handle volatile array types in dwarf2read.c.
read_tag_const_type propagates the cv-qualifier to the array element type, but read_tag_volatile_type didn't. Make sure that both cv-qualifiers that apply to array types are handled the same. gdb/ChangeLog * dwarf2read.c (add_array_cv_type): New function. (read_tag_const_type): Call add_array_cv_type for TYPE_CODE_ARRAY. (read_tag_volatile_type): Likewise. gdb/testsuite/ChangeLog * gdb.base/constvars.c (violent, violet, vips, virgen, vulgar, vulture, vilify, villar): New volatile array constants. (vindictive, vegetation): New const volatile array constants. * gdb.base/volatile.exp: Test volatile and const volatile array types.
Diffstat (limited to 'gdb/testsuite/gdb.base/volatile.exp')
-rw-r--r--gdb/testsuite/gdb.base/volatile.exp24
1 files changed, 24 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/volatile.exp b/gdb/testsuite/gdb.base/volatile.exp
index 7cd7254d572..0e106fc2e5e 100644
--- a/gdb/testsuite/gdb.base/volatile.exp
+++ b/gdb/testsuite/gdb.base/volatile.exp
@@ -229,6 +229,30 @@ gdb_test "ptype vagary" "type = const volatile char \\* const volatile.*"
local_compiler_xfail_check
gdb_test "ptype vendor" "type = const volatile unsigned char \\* const volatile.*"
+# volatile arrays
+local_compiler_xfail_check
+gdb_test "ptype violent" "type = volatile char \\\[2\\\]"
+local_compiler_xfail_check
+gdb_test "ptype violet" "type = volatile unsigned char \\\[2\\\]"
+local_compiler_xfail_check
+gdb_test "ptype vips" "type = volatile short( int)? \\\[2\\\]"
+local_compiler_xfail_check
+gdb_test "ptype virgen" "type = volatile (unsigned short|short unsigned)( int)? \\\[2\\\]"
+local_compiler_xfail_check
+gdb_test "ptype vulgar" "type = volatile long( int)? \\\[2\\\]"
+local_compiler_xfail_check
+gdb_test "ptype vulture" "type = volatile (unsigned long|long unsigned)( int)? \\\[2\\\]"
+local_compiler_xfail_check
+gdb_test "ptype vilify" "type = volatile float \\\[2\\\]"
+local_compiler_xfail_check
+gdb_test "ptype villar" "type = volatile double \\\[2\\\]"
+
+# const volatile arrays
+local_compiler_xfail_check
+gdb_test "ptype vindictive" "type = const volatile char \\\[2\\\]"
+local_compiler_xfail_check
+gdb_test "ptype vegetation" "type = const volatile unsigned char \\\[2\\\]"
+
# test function parameters
local_compiler_xfail_check
local_compiler_xfail_check_2