| 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\]+"
|
|
|