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

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gdb/] [gdb-6.8/] [gdb/] [testsuite/] [gdb.cp/] [ref-params.exp] - Blame information for rev 25

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 25 jlechner
# Tests for reference parameters of types and their subtypes in GDB.
2
# Copyright 2006, 2007, 2008 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
set prms_id 0
27
set bug_id 0
28
 
29
if { [skip_cplus_tests] } { continue }
30
 
31
set testfile "ref-params"
32
set srcfile ${testfile}.cc
33
set binfile ${objdir}/${subdir}/${testfile}
34
 
35
if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
36
     untested ref-params.exp
37
     return -1
38
}
39
 
40
gdb_exit
41
 
42
proc gdb_start_again { text } {
43
    global srcdir
44
    global subdir
45
    global binfile
46
    global srcfile
47
 
48
    gdb_exit
49
    gdb_start
50
    gdb_reinitialize_dir $srcdir/$subdir
51
    gdb_load ${binfile}
52
 
53
    runto ${srcfile}:[gdb_get_line_number $text]
54
}
55
 
56
gdb_start_again "marker1 here"
57
gdb_test "print Q" ".*id = 42.*" "print value of a Child in main"
58
gdb_test "print f1(Q)" ".* = 42.*" "print value of f1 on Child in main"
59
gdb_test "print f2(Q)" ".* = 42.*" "print value of f2 on Child in main"
60
 
61
gdb_start_again "marker1 here"
62
gdb_test "print f1(QR)" ".* = 42.*" "print value of f1 on (Child&) in main"
63
 
64
gdb_start_again "marker1 here"
65
gdb_test "print f2(QR)" ".* = 42.*" "print value of f2 on (Child&) in main"
66
 
67
gdb_start_again "marker2 here"
68
gdb_test "print C" ".*id = 42.*" "print value of Child& in f2"
69
gdb_test "print f1(C)" ".* = 42.*" "print value of f1 on Child& in f2"
70
 
71
gdb_start_again "marker3 here"
72
gdb_test "print R" ".*id = 42.*" "print value of Parent& in f1"
73
 
74
gdb_start_again "breakpoint MQ here"
75
gdb_test "print f1(MQ)" ".* = 53"
76
gdb_test "print mf1(MQ)" ".* = 106"
77
gdb_test "print mf2(MQ)" ".* = 106"
78
gdb_test "print f1(MQR)" ".* = 53"
79
gdb_test "print mf1(MQR)" ".* = 106"
80
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.