diff options
Diffstat (limited to 'gdb/testsuite/gdb.base/ctf-constvars.exp')
-rw-r--r-- | gdb/testsuite/gdb.base/ctf-constvars.exp | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/ctf-constvars.exp b/gdb/testsuite/gdb.base/ctf-constvars.exp new file mode 100644 index 0000000..54dfb08 --- /dev/null +++ b/gdb/testsuite/gdb.base/ctf-constvars.exp @@ -0,0 +1,114 @@ +# Copyright 2019 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 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, see <http://www.gnu.org/licenses/>. */ + +# This file is a subset of constvars.exp, written by +# Elena Zannoni (elz@apollo.hp.com) +# +# This file is part of the gdb testsuite +# +# tests for const variables +# const pointers to vars +# pointers to const variables +# const pointers to const vars +# with mixed types + +# +# test running programs +# +# -gt generates full-fledged CTF. + +standard_testfile .c +set opts "additional_flags=-gt" + +if { [prepare_for_testing "failed to prepare" ${testfile} \ + [list $srcfile] [list $opts nowarnings]] } { + return 0 +} + +# +# set it up at a breakpoint so we can play with the variable values +# +if ![runto_main] then { + perror "couldn't run to breakpoint" + continue +} + +# test vars and pointers + +proc do_constvar_tests {} { + gdb_test "print vox" " = 66 'B'" + gdb_test "ptype vox" "type = volatile char" + gdb_test "print victuals" " = 67 'C'" + gdb_test "ptype victuals" "type = volatile unsigned char" + gdb_test "print vixen" " = 200" + gdb_test "ptype vixen" "type = volatile short.*" + gdb_test "print vitriol" " = 300" + gdb_test "ptype vitriol" "type = volatile (unsigned short|short unsigned)( int)?" + gdb_test "print vellum" " = 1000" + gdb_test "ptype vellum" "type = volatile long.*" + gdb_test "print valve" " = 2000" + gdb_test "ptype valve" "type = volatile (unsigned long|long unsigned)( int)?" + gdb_test "print vacuity" " = 3" + gdb_test "ptype vacuity" "type = volatile float" + gdb_test "print vertigo" " = 10" + gdb_test "ptype vertigo" "type = volatile double" + gdb_test "print laconic" " = 65 'A'" + + gdb_test "ptype vampire" "type = volatile char.*" + gdb_test "ptype viper" "type = volatile unsigned char.*" + gdb_test "ptype vigour" "type = volatile short.*" + gdb_test "ptype vapour" "type = volatile (unsigned short|short unsigned)( int)?.*" + gdb_test "ptype ventricle" "type = volatile long.*" + gdb_test "ptype vigintillion" "type = volatile (unsigned long|long unsigned)( int)?.*" + gdb_test "ptype vocation" "type = volatile float.*" + gdb_test "ptype veracity" "type = volatile double.*" + + gdb_test "ptype vapidity" "type = volatile char.* volatile" + gdb_test "ptype velocity" "type = volatile unsigned char.* volatile" + gdb_test "ptype veneer" "type = volatile short.* volatile" + gdb_test "ptype video" "type = volatile (unsigned short|short unsigned)( int)?.* volatile" + gdb_test "ptype vacuum" "type = volatile long.* volatile" + gdb_test "ptype veniality" "type = volatile (unsigned long|long unsigned)( int)?.* volatile" + gdb_test "ptype vitality" "type = volatile float.* volatile" + gdb_test "ptype voracity" "type = volatile double.* volatile" + + gdb_test "ptype violent" "type = volatile char \\\[2\\\]" + gdb_test "ptype violet" "type = volatile unsigned char \\\[2\\\]" + gdb_test "ptype vips" "type = volatile short.* \\\[2\\\]" + gdb_test "ptype virgen" "type = volatile unsigned short.* \\\[2\\\]" + gdb_test "ptype vulgar" "type = volatile long.* \\\[2\\\]" + gdb_test "ptype vulture" "type = volatile (unsigned long|long unsigned)( int)? \\\[2\\\]" + gdb_test "ptype vilify" "type = volatile float \\\[2\\\]" + gdb_test "ptype villar" "type = volatile double \\\[2\\\]" + + gdb_test "print victor" " = 89 'Y'" + gdb_test "ptype victor" "type = const volatile char" + gdb_test "ptype victory" "type = const volatile char.*" + gdb_test "ptype cavern" "type = const volatile char.* const" + gdb_test "ptype caveat" "type = const char.* volatile" + gdb_test "ptype covenant" "type = const unsigned char.* volatile" + gdb_test "ptype vanadium" "type = const volatile unsigned char.* volatile" + + gdb_test "ptype cove" "type = const char.* const volatile" + gdb_test "ptype cavity" "type = const unsigned char.* const volatile" + gdb_test "ptype vagus" "type = volatile char.* const volatile" + gdb_test "ptype vagrancy" "type = volatile unsigned char.* const volatile" + gdb_test "ptype vagary" "type = const volatile char.* const volatile" + gdb_test "ptype vendor" "type = const volatile unsigned char.* const volatile" + gdb_test "ptype vindictive" "type = const volatile char \\\[2\\\]" + gdb_test "ptype vegetation" "type = const volatile unsigned char \\\[2\\\]" +} + +do_constvar_tests |