Switch the license of all .exp files to GPLv3.
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.base / scope.exp
index 9a8292bbfb15c7136710e06f787128f1b378943f..71285c7a6280667e74059ee88a90ddbacced2d70 100644 (file)
@@ -1,18 +1,18 @@
-# Copyright (C) 1992, 1994 Free Software Foundation, Inc.
+# Copyright 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004,
+# 2007 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 2 of the License, or
+# 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Please email any bugs, comments, and/or additions to this file to:
 # bug-gdb@prep.ai.mit.edu
@@ -28,9 +28,21 @@ set bug_id 0
 
 set testfile "scope"
 set binfile ${objdir}/${subdir}/${testfile}
-if  { [gdb_compile "${srcdir}/${subdir}/scope0.c ${srcdir}/${subdir}/scope1.c" "${binfile}" executable {debug}] != "" } {
-    perror "Couldn't compile scope0.c to object"
-    return -1
+
+
+if  { [gdb_compile "${srcdir}/${subdir}/scope0.c" "${binfile}0.o" object {debug}] != "" } {
+     untested scope.exp
+     return -1
+}
+
+if  { [gdb_compile "${srcdir}/${subdir}/scope1.c" "${binfile}1.o" object {debug}] != "" } {
+     untested scope.exp
+     return -1
+}
+
+if  { [gdb_compile "${binfile}0.o ${binfile}1.o" ${binfile} executable {debug}] != "" } {
+     untested scope.exp
+     return -1
 }
 
 # Create and source the file that provides information about the compiler
@@ -40,7 +52,7 @@ if [get_compiler_info ${binfile}] {
 }
 
 # Test locating various things when stopped just inside main, after
-# running init().  To prevent cascading of errors, we report the
+# running init0().  To prevent cascading of errors, we report the
 # first one and quit.  If all pass, then we print the pass results.
 
 proc test_at_main {} {
@@ -49,118 +61,117 @@ proc test_at_main {} {
     global det_file
     global srcdir
     global subdir
-    global gcc_compiled
-
-    # skip past init.  There may be a call to __main at the start of
-    # main, so the first next may only get us to the init call.
-    if [gdb_test "next" "$decimal.*foo \\(\\);" "next over init() in main"  "$decimal.*init \\(\\);" "next"] { 
-      return ; 
-    }
+    global hp_cc_compiler
 
+    # skip past init0.
+    # This used to do an extra "next" if the first one didn't get us
+    # over the call to init0, to handle calls to __main in the
+    # prologue, etc.  But if a breakpoint at main doesn't leave us on
+    # the first line of real code in the function, that's a GDB bug.
+    gdb_test "next" "$decimal.*foo \\(\\);" "next over init0() in main"
 
     # Print scope0.c::filelocal, which is 1
 
     if [gdb_test "print filelocal" "\\\$$decimal = 1" "print filelocal" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     if [gdb_test "print 'scope0.c'::filelocal" "\\\$$decimal = 1" "print 'scope0.c'::filelocal at main"  "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope0.c::filelocal_bss, which is 101
 
     if [gdb_test "print filelocal_bss" "\\\$$decimal = 101" "print filelocal_bss" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     if [gdb_test "print 'scope0.c'::filelocal_bss" "\\\$$decimal = 101" "print 'scope0.c'::filelocal_bss in test_at_main"  "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_bss"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope0.c::filelocal_ro, which is 201
 
-    # No clue why the powerpc fails this test.
-    setup_xfail "powerpc-*-*"
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    # No clue why the rs6000 fails this test.
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print filelocal_ro" "\\\$$decimal = 201" "print filelocal_ro in test_at_main" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
-    setup_xfail "powerpc-*-*"
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope0.c'::filelocal_ro" "\\\$$decimal = 201" "print 'scope0.c'::filelocal_ro"  "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_ro"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope1.c::filelocal, which is 2
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope1.c'::filelocal" "\\\$$decimal = 2" "print 'scope1.c'::filelocal"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope1.c::filelocal_bss, which is 102
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope1.c'::filelocal_bss" "\\\$$decimal = 102" "print 'scope1.c'::filelocal_bss"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_bss"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope1.c::filelocal_ro, which is 202
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
+    if {$hp_cc_compiler} then { setup_xfail "hppa2.0w-*-*" 11747CLLbs}
     if [gdb_test "print 'scope1.c'::filelocal_ro" "\\\$$decimal = 202" "print 'scope1.c'::filelocal_ro"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_ro"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope1.c::foo::funclocal, which is 3
 
-    if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
     if [gdb_test "print foo::funclocal" "\\\$$decimal = 3" "print foo::funclocal" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope1.c'::foo::funclocal" "\\\$$decimal = 3" "print 'scope1.c'::foo::funclocal"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope1.c::foo::funclocal_ro, which is 203
 
     if [gdb_test "print foo::funclocal_ro" "\\\$$decimal = 203" "print foo::funclocal_ro" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope1.c'::foo::funclocal_ro" "\\\$$decimal = 203" "print 'scope1.c'::foo::funclocal_ro"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_ro"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope1.c::bar::funclocal, which is 4
 
     if [gdb_test "print bar::funclocal" "\\\$$decimal = 4" "print bar::funclocal" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope1.c'::bar::funclocal" "\\\$$decimal = 4" "print 'scope1.c'::bar::funclocal"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::bar::funclocal"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
+    gdb_stop_suppressing_tests;
 
 }
 
@@ -170,33 +181,31 @@ proc test_at_foo {} {
     global det_file
     global srcdir
     global subdir
-    global gcc_compiled
 
     if [gdb_test "next" ".*bar \\(\\);" "" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope0.c::filelocal, which is 1
 
     if [gdb_test "print 'scope0.c'::filelocal" "\\\$$decimal = 1" "print 'scope0.c'::filelocal at foo"  "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope0.c::filelocal_bss, which is 101
 
     if [gdb_test "print 'scope0.c'::filelocal_bss" "\\\$$decimal = 101" "print 'scope0.c'::filelocal_bss in test_at_foo"  "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_bss"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope0.c::filelocal_ro, which is 201
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
-    setup_xfail "powerpc-*-*"
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope0.c'::filelocal_ro" "\\\$$decimal = 201" "print 'scope0.c'::filelocal_ro"  "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_ro"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
@@ -204,23 +213,23 @@ proc test_at_foo {} {
 
     # Print scope1.c::filelocal, which is 2
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope1.c'::filelocal" "\\\$$decimal = 2" "print 'scope1.c'::filelocal at foo"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     gdb_test "print filelocal_bss" "\\\$$decimal = 102" \
        "print filelocal_bss at foo"
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     gdb_test "print 'scope1.c'::filelocal_bss" "\\\$$decimal = 102" "print 'scope1.c'::filelocal_bss at foo"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_bss"
 
 
     gdb_test "print filelocal_ro" "\\\$$decimal = 202" \
        "print filelocal_ro at foo"
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     gdb_test "print 'scope1.c'::filelocal_ro" "\\\$$decimal = 202" "print 'scope1.c'::filelocal_ro at foo"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_ro"
 
 
@@ -228,12 +237,10 @@ proc test_at_foo {} {
 
     gdb_test "print funclocal" "\\\$$decimal = 3" "print funclocal at foo"
 
-    if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
     gdb_test "print foo::funclocal" "\\\$$decimal = 3" \
        "print foo::funclocal at foo"
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
-    if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     gdb_test "print 'scope1.c'::foo::funclocal" "\\\$$decimal = 3" "print 'scope1.c'::foo::funclocal at foo"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal"
 
 
@@ -242,12 +249,10 @@ proc test_at_foo {} {
     gdb_test "print funclocal_bss" "\\\$$decimal = 103" \
        "print funclocal_bss at foo"
 
-    if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
     gdb_test "print foo::funclocal_bss" "\\\$$decimal = 103" \
        "print foo::funclocal_bss at foo"
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
-    if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     gdb_test "print 'scope1.c'::foo::funclocal_bss" "\\\$$decimal = 103" "print 'scope1.c'::foo::funclocal_bss at foo"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_bss"
 
 
@@ -256,24 +261,21 @@ proc test_at_foo {} {
     gdb_test "print funclocal_ro" "\\\$$decimal = 203" \
        "print funclocal_ro at foo"
 
-    if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
     gdb_test "print foo::funclocal_ro" "\\\$$decimal = 203" \
        "print foo::funclocal_ro at foo"
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
-    if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     gdb_test "print 'scope1.c'::foo::funclocal_ro" "\\\$$decimal = 203" "print 'scope1.c'::foo::funclocal_ro at foo"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_ro"
 
 
     # Print scope1.c::bar::funclocal, which is 4
 
-    if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
     gdb_test "print bar::funclocal" "\\\$$decimal = 4" \
        "print bar::funclocal at foo"
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
-    if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     gdb_test "print 'scope1.c'::bar::funclocal" "\\\$$decimal = 4" "print 'scope1.c'::bar::funclocal at foo"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::bar::funclocal"
+    gdb_stop_suppressing_tests;
 
 }
 
@@ -283,149 +285,147 @@ proc test_at_bar {} {
     global det_file
     global srcdir
     global subdir
-    global gcc_compiled
 
     if [gdb_test "next" ".*" "" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope0.c::filelocal, which is 1
 
     if [gdb_test "print 'scope0.c'::filelocal" "\\\$$decimal = 1" "print 'scope0.c'::filelocal at bar"  "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
    # Print scope0.c::filelocal_bss, which is 101
 
     if [gdb_test "print 'scope0.c'::filelocal_bss" "\\\$$decimal = 101" "print 'scope0.c'::filelocal_bss in test_at_bar"  "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_bss"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
    # Print scope0.c::filelocal_ro, which is 201
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
-    setup_xfail "powerpc-*-*"
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope0.c'::filelocal_ro" "\\\$$decimal = 201" "print 'scope0.c'::filelocal_ro at bar"  "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_ro"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope1.c::filelocal, which is 2
 
     if [gdb_test "print filelocal" "\\\$$decimal = 2" "print filelocal at bar" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope1.c'::filelocal" "\\\$$decimal = 2" "print 'scope1.c'::filelocal at bar"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope1.c::filelocal_bss, which is 102
 
     if [gdb_test "print filelocal_bss" "\\\$$decimal = 102" "print filelocal_bss at bar" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope1.c'::filelocal_bss" "\\\$$decimal = 102" "print 'scope1.c'::filelocal_bss at bar"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_bss"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope1.c::filelocal_ro, which is 202
 
     if [gdb_test "print filelocal_ro" "\\\$$decimal = 202" "print filelocal_ro in test_at_bar" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope1.c'::filelocal_ro" "\\\$$decimal = 202" "print 'scope1.c'::filelocal_ro at bar"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_ro"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope1.c::foo::funclocal, which is 3
 
-    if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
     if [gdb_test "print foo::funclocal" "\\\$$decimal = 3" "print foo::funclocal at bar" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope1.c'::foo::funclocal" "\\\$$decimal = 3" "print 'scope1.c'::foo::funclocal at bar"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope1.c::foo::funclocal_bss, which is 103
 
     if [gdb_test "print foo::funclocal_bss" "\\\$$decimal = 103" "print foo::funclocal_bss at bar" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope1.c'::foo::funclocal_bss" "\\\$$decimal = 103" "print 'scope1.c'::foo::funclocal_bss at bar"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_bss"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope1.c::foo::funclocal_ro, which is 203
 
     if [gdb_test "print foo::funclocal_ro" "\\\$$decimal = 203" "print foo::funclocal_ro at bar" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope1.c'::foo::funclocal_ro" "\\\$$decimal = 203" "print 'scope1.c'::foo::funclocal_ro at bar"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_ro"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope1.c::bar::funclocal, which is 4
 
     if [gdb_test "print funclocal" "\\\$$decimal = 4" "print funclocal at bar" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     if [gdb_test "print bar::funclocal" "\\\$$decimal = 4" "print bar::funclocal at bar" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope1.c'::bar::funclocal" "\\\$$decimal = 4" "print 'scope1.c'::bar::funclocal at bar"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::bar::funclocal"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     # Print scope1.c::bar::funclocal_bss, which is 104
 
     if [gdb_test "print funclocal_bss" "\\\$$decimal = 104" "print funclocal_bss at bar" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
     if [gdb_test "print bar::funclocal_bss" "\\\$$decimal = 104" "print bar::funclocal_bss at bar" ] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
 
 
-    if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
+    if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
     if [gdb_test "print 'scope1.c'::bar::funclocal_bss" "\\\$$decimal = 104" "print 'scope1.c'::bar::funclocal_bss at bar"  "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::bar::funclocal_bss"] { 
-      return ; 
+      gdb_suppress_tests ; 
     }
+    gdb_stop_suppressing_tests;
 
 }
 
@@ -443,17 +443,17 @@ proc test_at_autovars {} {
     gdb_breakpoint marker1
 
     if [gdb_test "cont" "Break.* marker1 \\(\\) at .*:$decimal.*" "continue to marker1"] {
-       return;
+       gdb_suppress_tests;
     }
 
-    if [gdb_test "up" ".*" "" ] { 
-       return ; 
+    if [gdb_test "up" ".*autovars.*" "up from marker1 in scope.exp" ] { 
+       gdb_suppress_tests ; 
     }
 
     set count 0
     while {$count < 100} {
        if [gdb_test "print i$count" ".* = $count" "" ] { 
-         return ; 
+         gdb_suppress_tests ; 
        }
 
        set count [expr $count+1]
@@ -476,10 +476,10 @@ proc test_at_localscopes {} {
     gdb_breakpoint marker4
 
     if [gdb_test "cont" "Break.* marker2 \\(\\) at .*:$decimal.*" "continue to marker2"] {
-       return;
+       gdb_suppress_tests;
     }
-    if [gdb_test "up" ".*" "" ] { 
-       return ; 
+    if [gdb_test "up" ".*localscopes.*" "up from marker2 in scopes.exp" ] { 
+       gdb_suppress_tests ; 
     }
 
     # Should be at first (outermost) scope.  Check values.
@@ -492,8 +492,10 @@ proc test_at_localscopes {} {
        "print localval3, outer scope"
 
     if [gdb_test "cont" "Break.* marker3 \\(\\) at .*:$decimal.*" \
-       "continue to marker3 in scope.exp"] then { return }
-    if [gdb_test "up" "" "up from marker3 in scope.exp"] then { return }
+       "continue to marker3 in scope.exp"] then { gdb_suppress_tests }
+    if [gdb_test "up" ".*localscopes.*" "up from marker3 in scope.exp"] { 
+       gdb_suppress_tests 
+    }
 
     # Should be at next (first nested) scope.  Check values.
 
@@ -506,15 +508,17 @@ proc test_at_localscopes {} {
 
     # This test will only fail if the file was compiled by gcc, but
     # there's no way to check that.
-    setup_xfail "a29k-*-udi" 2423
     if [gdb_test "cont" "Break.* marker4.*at .*:$decimal.*" \
-       "continue to marker4 in scope.exp"] then { return }
-    if [gdb_test "up" "" "up from marker4 in scope.exp"] then { return }
+       "continue to marker4 in scope.exp"] then { gdb_suppress_tests }
+    if [gdb_test "up" ".*localscopes.*" "up from marker4 in scope.exp"] {
+       gdb_suppress_tests 
+    }
 
     gdb_test "print localval" " = 30" "print localval, innermost scope"
     gdb_test "print localval1" " = 11" "print localval1, innermost scope"
     gdb_test "print localval2" " = 12" "print localval2, innermost scope"
     gdb_test "print localval3" " = 13" "print localval3, innermost scope"
+    gdb_stop_suppressing_tests;
 }
 
 # Start with a fresh gdb.
@@ -534,7 +538,6 @@ if [istarget "*-*-vxworks*"] {
 
 # AIX--sections get mapped to the same address so we can't get the right one.
 setup_xfail "rs6000-*-*"
-setup_xfail "powerpc-*-*"
 
 gdb_test "print 'scope0.c'::filelocal_ro" "= 201"
 
@@ -545,22 +548,13 @@ gdb_test "print 'scope0.c'::filelocal_ro" "= 201"
 # randomly fail.  We've already put remote-pa on the target stack,
 # so we actually read memory from the board.  Problem is crt0.o
 # is responsible for clearing bss and that hasnt' happened yet.
-setup_xfail "hppa*-*-*pro*"
-send_gdb "print 'scope0.c'::filelocal_bss\n"
-gdb_expect {
-    -re " = 0\r\n$gdb_prompt $" {
-       pass "print 'scope0.c'::filelocal_bss before run"
-    }
-    -re "Cannot access memory.*$gdb_prompt $" {
-       setup_xfail "*-*-*"
-       fail "print 'scope0.c'::filelocal_bss before run"
-    }
-    -re ".*$gdb_prompt $" {
-       fail "print 'scope0.c'::filelocal_bss before run"
-    }
-    default {
-       fail "print 'scope0.c'::filelocal_bss before run"
-    }
+#
+# This is a problem for all non-native targets. -- manson
+if [is_remote target] {
+    unsupported "print 'scope0.c'::filelocal_bss before run"
+} else {
+    gdb_test "print 'scope0.c'::filelocal_bss" "= 0" \
+       "print 'scope0.c'::filelocal_bss before run"
 }
 
 gdb_test "print 'scope0.c'::filelocal" "= 1" \
This page took 0.03246 seconds and 4 git commands to generate.