Index: gdb/testsuite/gdb.cp/casts.exp |
diff --git a/gdb/testsuite/gdb.cp/casts.exp b/gdb/testsuite/gdb.cp/casts.exp |
index 2013ab841bec7e68072f2ba000c3135605c39128..dea8dd7079c2ff801203d39fe2dbae7660d0824a 100644 |
--- a/gdb/testsuite/gdb.cp/casts.exp |
+++ b/gdb/testsuite/gdb.cp/casts.exp |
@@ -1,4 +1,4 @@ |
-# Copyright 2002-2004, 2007-2012 Free Software Foundation, Inc. |
+# Copyright 2002-2013 Free Software Foundation, Inc. |
# This program is free software; you can redistribute it and/or modify |
# it under the terms of the GNU General Public License as published by |
@@ -30,7 +30,7 @@ if { [skip_cplus_tests] } { continue } |
standard_testfile .cc |
if [get_compiler_info "c++"] { |
- return -1; |
+ return -1 |
} |
if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} { |
@@ -107,6 +107,25 @@ gdb_test "print reinterpret_cast<void> (b)" "Invalid reinterpret_cast" \ |
gdb_test "print reinterpret_cast<A &> (*b)" " = \\(A \\&\\) @$hex: {a = 42}" \ |
"reinterpret_cast to reference type" |
+# Test that keyword shadowing works. |
+ |
+gdb_test "whatis decltype(5)" " = double" |
+ |
+# Basic tests using typeof. |
+ |
+foreach opname {__typeof__ __typeof __decltype} { |
+ gdb_test "print (${opname}(a)) (b)" " = \\(A \\*\\) $hex" \ |
+ "old-style cast using $opname" |
+ |
+ gdb_test "print static_cast<${opname}(a)> (b)" " = \\(A \\*\\) $hex" \ |
+ "static_cast using $opname" |
+ |
+ gdb_test "print reinterpret_cast<${opname}(a)> (b)" " = \\(A \\*\\) $hex" \ |
+ "reinterpret_cast using $opname" |
+} |
+ |
+gdb_test "whatis __decltype(*a)" "type = A \\&" |
+ |
# Tests of dynamic_cast. |
set nonzero_hex "0x\[0-9A-Fa-f\]\[0-9A-Fa-f\]+" |