OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-7.2/] [gdb/] [testsuite/] [gdb.cp/] [ref-params.exp] - Blame information for rev 330

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 330 jeremybenn
# Tests for reference parameters of types and their subtypes in GDB.
2
# Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
3
 
4
# This program is free software; you can redistribute it and/or modify
5
# it under the terms of the GNU General Public License as published by
6
# the Free Software Foundation; either version 3 of the License, or
7
# (at your option) any later version.
8
#
9
# This program is distributed in the hope that it will be useful,
10
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
# GNU General Public License for more details.
13
#
14
# You should have received a copy of the GNU General Public License
15
# along with this program.  If not, see .
16
 
17
# written by Paul N. Hilfinger (Hilfinger@adacore.com)
18
 
19
if $tracelevel then {
20
        strace $tracelevel
21
        }
22
 
23
#
24
# test running programs
25
#
26
 
27
if { [skip_cplus_tests] } { continue }
28
 
29
set testfile "ref-params"
30
set srcfile ${testfile}.cc
31
set binfile ${objdir}/${subdir}/${testfile}
32
 
33
if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
34
     untested ref-params.exp
35
     return -1
36
}
37
 
38
gdb_exit
39
 
40
proc gdb_start_again { text } {
41
    global srcdir
42
    global subdir
43
    global binfile
44
    global srcfile
45
 
46
    gdb_exit
47
    gdb_start
48
    gdb_reinitialize_dir $srcdir/$subdir
49
    gdb_load ${binfile}
50
 
51
    runto ${srcfile}:[gdb_get_line_number $text]
52
}
53
 
54
gdb_start_again "marker1 here"
55
gdb_test "print Q" ".*id = 42.*" "print value of a Child in main"
56
gdb_test "print f1(Q)" ".* = 42.*" "print value of f1 on Child in main"
57
gdb_test "print f2(Q)" ".* = 42.*" "print value of f2 on Child in main"
58
 
59
gdb_start_again "marker1 here"
60
gdb_test "print f1(QR)" ".* = 42.*" "print value of f1 on (Child&) in main"
61
 
62
gdb_start_again "marker1 here"
63
gdb_test "print f2(QR)" ".* = 42.*" "print value of f2 on (Child&) in main"
64
 
65
gdb_start_again "marker2 here"
66
gdb_test "print C" ".*id = 42.*" "print value of Child& in f2"
67
gdb_test "print f1(C)" ".* = 42.*" "print value of f1 on Child& in f2"
68
 
69
gdb_start_again "marker3 here"
70
gdb_test "print R" ".*id = 42.*" "print value of Parent& in f1"
71
 
72
gdb_start_again "breakpoint MQ here"
73
gdb_test "print f1(MQ)" ".* = 53"
74
gdb_test "print mf1(MQ)" ".* = 106"
75
gdb_test "print mf2(MQ)" ".* = 106"
76
gdb_test "print f1(MQR)" ".* = 53"
77
gdb_test "print mf1(MQR)" ".* = 106"
78
gdb_test "print mf2(MQR)" ".* = 106"

powered by: WebSVN 2.1.0

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