diff options
Diffstat (limited to 'gdb/testsuite/gdb.cp/var-tag.exp')
-rw-r--r-- | gdb/testsuite/gdb.cp/var-tag.exp | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/gdb/testsuite/gdb.cp/var-tag.exp b/gdb/testsuite/gdb.cp/var-tag.exp deleted file mode 100644 index 9e46282..0000000 --- a/gdb/testsuite/gdb.cp/var-tag.exp +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 2014 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 -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# This file is part of the gdb testsuite - -# Test expressions in which variable names shadow tag names. - -if {[skip_cplus_tests]} { continue } - -standard_testfile .cc - -if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} { - return -1 -} - -proc do_global_tests {lang} { - if {$lang == "c++"} { - set opt_underlying "(: unsigned int )?" - } else { - set opt_underlying "" - } - - if {$lang == "c"} { - set invalid_print "No symbol \"%s\" in current context." - set ptypefmt $invalid_print - } else { - set invalid_print "Attempt to use a type name as an expression" - set ptypefmt "type = (class|enum|union|struct) %s $opt_underlying{.*}" - } - - with_test_prefix $lang { - gdb_test_no_output "set language $lang" - gdb_test "ptype C" "type = class C {.*}" - gdb_test "print E" "= a" - gdb_test "ptype E" "type = enum E $opt_underlying{.*}" - gdb_test "print S" "= {<No data fields>}" - gdb_test "ptype S" "type = struct S {.*}" - gdb_test "print U" "= {.*}" - gdb_test "ptype U" "type = union U {.*}" - gdb_test "print cc" "= {.*}" - gdb_test "ptype cc" "type = class CC {.*}" - gdb_test "print CC" [format $invalid_print "CC"] - gdb_test "ptype CC" [format $ptypefmt "CC"] - gdb_test "print ss" "= {<No data fields>}" - gdb_test "ptype ss" "type = struct SS {.*}" - gdb_test "print SS" [format $invalid_print "SS"] - gdb_test "ptype SS" [format $ptypefmt "SS"] - gdb_test "print ee" "= .*" - gdb_test "ptype ee" "type = enum EE $opt_underlying{.*}" - gdb_test "print EE" [format $invalid_print "EE"] - gdb_test "ptype EE" [format $ptypefmt "EE"] - gdb_test "print uu" "= {.*}" - gdb_test "ptype uu" "type = union UU {.*}" - gdb_test "print UU" [format $invalid_print "UU"] - gdb_test "ptype UU" [format $ptypefmt "UU"] - } -} - -# First test expressions when there is no context. -with_test_prefix "before start" { - do_global_tests c++ - do_global_tests c -} - -# Run to main and test again. -if {![runto_main]} { - perror "couldn't run to main" - continue -} - -with_test_prefix "in main" { - do_global_tests c++ - do_global_tests c -} - -# Finally run to C::f and test again -gdb_breakpoint "C::f" -gdb_continue_to_breakpoint "continue to C::f" -with_test_prefix "in C::f" { - do_global_tests c++ - do_global_tests c -} - -# Another hard-to-guess-the-users-intent bug... -# It would be really nice if we could query the user! -with_test_prefix "global collision" { - gdb_test_no_output "set language c++" - setup_kfail "c++/16463" "*-*-*" - gdb_test "print global" "= 3" - - # ... with a simple workaround: - gdb_test "print ::global" "= 3" -} |