OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [insight/] [gdb/] [testsuite/] [gdb.base/] [gdbvars.exp] - Rev 1765

Compare with Previous | Blame | View Log

# Copyright (C) 1992, 1997 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
# (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.  

# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu

# This file was written by Fred Fish. (fnf@cygnus.com)

if $tracelevel then {
        strace $tracelevel
}

set prms_id 0
set bug_id 0

proc test_convenience_variables {} {
    global gdb_prompt

    gdb_test "set \$foo = 101"  "" \
        "Set a new convenience variable"

    gdb_test "print \$foo"              " = 101" \
        "Print contents of new convenience variable"

    gdb_test "set \$foo = 301"  "" \
        "Set convenience variable to a new value"

    gdb_test "print \$foo"              " = 301" \
        "Print new contents of convenience variable"

    gdb_test "set \$_ = 11"             "" \
        "Set convenience variable \$_"

    gdb_test "print \$_"                " = 11" \
        "Print contents of convenience variable \$_"

    gdb_test "print \$foo + 10" " = 311" \
        "Use convenience variable in arithmetic expression"

    gdb_test "print (\$foo = 32) + 4"   " = 36" \
        "Use convenience variable assignment in arithmetic expression"

    gdb_test "print \$bar"              " = void" \
        "Print contents of uninitialized convenience variable"
}

proc test_value_history {} {
    global gdb_prompt

    gdb_test "print 101"        "\\\$1 = 101" \
        "Set value-history\[1\] using \$1"

    gdb_test "print 102"        "\\\$2 = 102" \
        "Set value-history\[2\] using \$2"

    gdb_test "print 103"        "\\\$3 = 103" \
        "Set value-history\[3\] using \$3"

    gdb_test "print \$\$"       "\\\$4 = 102" \
        "Print value-history\[MAX-1\] using inplicit index \$\$"

    gdb_test "print \$\$"       "\\\$5 = 103" \
        "Print value-history\[MAX-1\] again using implicit index \$\$"

    gdb_test "print \$" "\\\$6 = 103" \
        "Print value-history\[MAX\] using implicit index \$"

    gdb_test "print \$\$2"      "\\\$7 = 102" \
        "Print value-history\[MAX-2\] using explicit index \$\$2"

    gdb_test "print \$0"        "\\\$8 = 102" \
        "Print value-history\[MAX\] using explicit index \$0"

    gdb_test "print 108"        "\\\$9 = 108"

    gdb_test "print \$\$0"      "\\\$10 = 108" \
        "Print value-history\[MAX\] using explicit index \$\$0"

    gdb_test "print \$1"        "\\\$11 = 101" \
        "Print value-history\[1\] using explicit index \$1"

    gdb_test "print \$2"        "\\\$12 = 102" \
        "Print value-history\[2\] using explicit index \$2"

    gdb_test "print \$3"        "\\\$13 = 103" \
        "Print value-history\[3\] using explicit index \$3"

    gdb_test "print \$-3"       "\\\$14 = 100" \
        "Print (value-history\[MAX\] - 3) using implicit index \$"

    gdb_test "print \$1 + 3"    "\\\$15 = 104" \
        "Use value-history element in arithmetic expression"
}

# Start with a fresh gdb.

gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir

send_gdb "set print sevenbit-strings\n" ; gdb_expect -re ".*$gdb_prompt $"

test_value_history
test_convenience_variables

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.