run copyright.sh for 2011.
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.base / volatile.exp
CommitLineData
7b6bb8da 1# Copyright 1997, 1998, 1999, 2003, 2004, 2007, 2008, 2009, 2010, 2011
9b254dd1 2# Free Software Foundation, Inc.
c906108c
SS
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
e22f8b7c 6# the Free Software Foundation; either version 3 of the License, or
c906108c 7# (at your option) any later version.
e22f8b7c 8#
c906108c
SS
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.
e22f8b7c 13#
c906108c 14# You should have received a copy of the GNU General Public License
e22f8b7c 15# along with this program. If not, see <http://www.gnu.org/licenses/>.
c906108c 16
c906108c
SS
17# Written by Satish Pai <pai@apollo.hp.com> 1997-07-07
18# In the spirit of constvars.exp: added volatile, const-volatile stuff.
19
20# This file is part of the gdb testsuite
21# Tests for:
22# volatile vars
23# pointers to volatile vars
24# const volatile vars
25# pointers to const volatile vars
26# const pointers to volatile vars
27# volatile pointers to const vars
28# const volatile pointers to const vars
29# const volatile pointers to volatile vars
30# ... etc. (you get the idea)
31# Mostly with char and unsigned char.
32
33if $tracelevel then {
34 strace $tracelevel
35 }
36
37#
38# test running programs
39#
c906108c
SS
40
41# Use the same test program constvars.c.
42
aa81e255
JK
43if { [prepare_for_testing volatile.exp volatile constvars.c] } {
44 return -1
45}
c906108c 46
2cd045cd
JL
47# Create and source the file that provides information about the compiler
48# used to compile the test case.
aa81e255 49if [get_compiler_info not-used] {
2cd045cd
JL
50 return -1;
51}
52
c906108c
SS
53#
54# set it up at a breakpoint so we can play with the variable values
55#
56if ![runto_main] then {
57 perror "couldn't run to breakpoint"
58 continue
59}
60
b55a4771
MS
61get_debug_format
62
8e937346
MC
63# Many tests xfail with gcc 2 -gstabs+.
64# TODO: check out the hp side of this.
65
b55a4771 66proc local_compiler_xfail_check { } {
9a77938e 67 if { [test_compiler_info gcc-2-*] } then {
b55a4771
MS
68 if { ![test_debug_format "HP"] \
69 && ![test_debug_format "DWARF 2"] } then {
70 setup_xfail "*-*-*"
71 }
72 }
053248ff
MC
73
74 global hp_cc_compiler
75 if { $hp_cc_compiler } {
76 setup_xfail "hppa*-*-hpux*"
77 }
b55a4771
MS
78}
79
8e937346
MC
80# A few tests still xfail with gcc 3 -gstabs+ and gcc 4 -gstabs+.
81
82proc local_compiler_xfail_check_2 { } {
83 if { [test_compiler_info gcc-3-*] || [test_compiler_info gcc-4-*] } {
84 if { [test_debug_format "stabs" ] } {
85 setup_xfail "*-*-*"
86 }
87 }
88}
89
de7ff789 90gdb_test "break marker1" ".*" ""
02746bbc
MS
91
92gdb_test_multiple "cont" "continue to marker1" {
93 -re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" {
94 pass "continue to marker1"
95 }
96 -re "Break.* marker1__.* \\(\\) at .*:$decimal.*$gdb_prompt $" {
97 fail "continue to marker1 (demangling)"
c906108c 98 }
02746bbc
MS
99}
100gdb_test "up" " in main .*" "up from marker1"
c906108c
SS
101
102# As of Feb 1999, GCC does not issue info about volatility of vars, so
103# these tests are all expected to fail if GCC is the compiler. -sts
104
b55a4771 105local_compiler_xfail_check
085dd6e6 106gdb_test "ptype vox" "type = volatile char.*"
c906108c 107
b55a4771 108local_compiler_xfail_check
085dd6e6 109gdb_test "ptype victuals" "type = volatile unsigned char.*"
c906108c 110
b55a4771 111local_compiler_xfail_check
085dd6e6 112gdb_test "ptype vixen" "type = volatile short.*"
c906108c 113
b55a4771
MS
114local_compiler_xfail_check
115gdb_test "ptype vitriol" "type = volatile (unsigned short|short unsigned)( int)?.*"
c906108c 116
b55a4771 117local_compiler_xfail_check
085dd6e6 118gdb_test "ptype vellum" "type = volatile long.*"
c906108c 119
b55a4771
MS
120local_compiler_xfail_check
121gdb_test "ptype valve" "type = volatile (unsigned long|long unsigned)( int)?.*"
c906108c 122
b55a4771 123local_compiler_xfail_check
085dd6e6 124gdb_test "ptype vacuity" "type = volatile float.*"
c906108c 125
b55a4771 126local_compiler_xfail_check
085dd6e6 127gdb_test "ptype vertigo" "type = volatile double.*"
c906108c 128
b55a4771 129local_compiler_xfail_check
085dd6e6 130gdb_test "ptype vampire" "type = volatile char \\*.*"
c906108c 131
b55a4771 132local_compiler_xfail_check
085dd6e6 133gdb_test "ptype viper" "type = volatile unsigned char \\*.*"
c906108c 134
b55a4771
MS
135local_compiler_xfail_check
136gdb_test "ptype vigour" "type = volatile short( int)? \\*.*"
c906108c 137
b55a4771
MS
138local_compiler_xfail_check
139gdb_test "ptype vapour" "type = volatile (unsigned short|short unsigned)( int)? \\*.*"
c906108c 140
b55a4771
MS
141local_compiler_xfail_check
142gdb_test "ptype ventricle" "type = volatile long( int)? \\*.*"
c906108c 143
b55a4771
MS
144local_compiler_xfail_check
145gdb_test "ptype vigintillion" "type = volatile (unsigned long|long unsigned)( int)? \\*.*"
c906108c 146
b55a4771 147local_compiler_xfail_check
085dd6e6 148gdb_test "ptype vocation" "type = volatile float \\*.*"
c906108c 149
b55a4771 150local_compiler_xfail_check
085dd6e6 151gdb_test "ptype veracity" "type = volatile double \\*.*"
c906108c 152
b55a4771 153local_compiler_xfail_check
085dd6e6 154gdb_test "ptype vapidity" "type = volatile char \\* volatile.*"
c906108c 155
b55a4771 156local_compiler_xfail_check
085dd6e6 157gdb_test "ptype velocity" "type = volatile unsigned char \\* volatile.*"
c906108c 158
b55a4771
MS
159local_compiler_xfail_check
160gdb_test "ptype veneer" "type = volatile short( int)? \\* volatile.*"
c906108c 161
b55a4771
MS
162local_compiler_xfail_check
163gdb_test "ptype video" "type = volatile (unsigned short|short unsigned)( int) \\* volatile.*"
c906108c 164
b55a4771
MS
165local_compiler_xfail_check
166gdb_test "ptype vacuum" "type = volatile long( int)? \\* volatile.*"
c906108c 167
b55a4771
MS
168local_compiler_xfail_check
169gdb_test "ptype veniality" "type = volatile (unsigned long|long unsigned)( int)? \\* volatile.*"
c906108c 170
b55a4771 171local_compiler_xfail_check
085dd6e6 172gdb_test "ptype vitality" "type = volatile float \\* volatile.*"
c906108c 173
b55a4771 174local_compiler_xfail_check
085dd6e6 175gdb_test "ptype voracity" "type = volatile double \\* volatile.*"
c906108c 176
b55a4771 177local_compiler_xfail_check
085dd6e6 178gdb_test "ptype victor" "type = const volatile char.*"
c906108c 179
b55a4771 180local_compiler_xfail_check
085dd6e6 181gdb_test "ptype vicar" "type = const volatile unsigned char.*"
c906108c 182
b55a4771 183local_compiler_xfail_check
085dd6e6 184gdb_test "ptype victory" "type = const volatile char \\*.*"
c906108c 185
b55a4771 186local_compiler_xfail_check
085dd6e6 187gdb_test "ptype vicarage" "type = const volatile unsigned char \\*.*"
c906108c 188
b55a4771 189local_compiler_xfail_check
085dd6e6 190gdb_test "ptype vein" "type = volatile char \\* const.*"
c906108c 191
b55a4771 192local_compiler_xfail_check
085dd6e6 193gdb_test "ptype vogue" "type = volatile unsigned char \\* const.*"
c906108c 194
b55a4771 195local_compiler_xfail_check
085dd6e6 196gdb_test "ptype cavern" "type = const volatile char \\* const.*"
c906108c 197
b55a4771 198local_compiler_xfail_check
085dd6e6 199gdb_test "ptype coverlet" "type = const volatile unsigned char \\* const.*"
c906108c 200
b55a4771 201local_compiler_xfail_check
085dd6e6 202gdb_test "ptype caveat" "type = const char \\* volatile.*"
c906108c 203
b55a4771 204local_compiler_xfail_check
085dd6e6 205gdb_test "ptype covenant" "type = const unsigned char \\* volatile.*"
c906108c 206
b55a4771 207local_compiler_xfail_check
085dd6e6 208gdb_test "ptype vizier" "type = const volatile char \\* volatile.*"
c906108c 209
b55a4771 210local_compiler_xfail_check
085dd6e6 211gdb_test "ptype vanadium" "type = const volatile unsigned char \\* volatile.*"
c906108c 212
b55a4771 213local_compiler_xfail_check
085dd6e6 214gdb_test "ptype vane" "type = char \\* const volatile.*"
c906108c 215
b55a4771 216local_compiler_xfail_check
085dd6e6 217gdb_test "ptype veldt" "type = unsigned char \\* const volatile.*"
c906108c 218
b55a4771 219local_compiler_xfail_check
085dd6e6 220gdb_test "ptype cove" "type = const char \\* const volatile.*"
c906108c 221
b55a4771 222local_compiler_xfail_check
085dd6e6 223gdb_test "ptype cavity" "type = const unsigned char \\* const volatile.*"
c906108c 224
b55a4771 225local_compiler_xfail_check
085dd6e6 226gdb_test "ptype vagus" "type = volatile char \\* const volatile.*"
c906108c 227
b55a4771 228local_compiler_xfail_check
085dd6e6 229gdb_test "ptype vagrancy" "type = volatile unsigned char \\* const volatile.*"
c906108c 230
b55a4771 231local_compiler_xfail_check
085dd6e6 232gdb_test "ptype vagary" "type = const volatile char \\* const volatile.*"
c906108c 233
b55a4771 234local_compiler_xfail_check
085dd6e6 235gdb_test "ptype vendor" "type = const volatile unsigned char \\* const volatile.*"
c906108c
SS
236
237# test function parameters
b55a4771 238local_compiler_xfail_check
8e937346 239local_compiler_xfail_check_2
02746bbc
MS
240
241gdb_test "ptype qux2" \
242 "type = int \\(volatile unsigned char, const volatile int, volatile short( int)?, volatile long( int)? \\*, float \\* volatile, const volatile signed char \\* const volatile\\)" \
243 "ptype qux2"
This page took 1.052307 seconds and 4 git commands to generate.