aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.cp/var-tag.exp
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/gdb.cp/var-tag.exp')
-rw-r--r--gdb/testsuite/gdb.cp/var-tag.exp105
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"
-}