diff options
author | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:34:07 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:34:07 +0000 |
commit | 071ea11e85eb9d529cc5eb3d35f6247466a21b99 (patch) | |
tree | 5deda65b8d7b04d1f4cbc534c3206d328e1267ec /gdb/testsuite/gdb.base/whatis.exp | |
parent | 1730ec6b1848f0f32154277f788fb29f88d8475b (diff) | |
download | gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.zip gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.tar.gz gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.tar.bz2 |
Initial creation of sourceware repository
Diffstat (limited to 'gdb/testsuite/gdb.base/whatis.exp')
-rw-r--r-- | gdb/testsuite/gdb.base/whatis.exp | 396 |
1 files changed, 0 insertions, 396 deletions
diff --git a/gdb/testsuite/gdb.base/whatis.exp b/gdb/testsuite/gdb.base/whatis.exp deleted file mode 100644 index 011ff30..0000000 --- a/gdb/testsuite/gdb.base/whatis.exp +++ /dev/null @@ -1,396 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1995 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 Rob Savoye. (rob@cygnus.com) - -if $tracelevel { - strace $tracelevel -} - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile whatis -set srcfile ${srcdir}/$subdir/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [compile "${srcfile} -g -o ${binfile}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -execute_anywhere "rm -f ${binfile}.ci" -if { [compile "-E ${srcdir}/${subdir}/compiler.c > ${binfile}.ci"] != "" } { - perror "Couldn't make ${testfile}.ci file" - return -1 -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -source ${binfile}.ci - -# If we did not use the signed keyword when compiling the file, don't -# expect GDB to know that char is signed. -if $signed_keyword_not_used then { - set signed_char "char" -} else { - set signed_char "signed char" -} - -# Define a procedure to set up an xfail for all targets that put out a -# `long' type as an `int' type. -# Sun/Ultrix cc have this problem. -# It was said that COFF targets can not distinguish int from long either. - -proc setup_xfail_on_long_vs_int {} { - global gcc_compiled - - if {!$gcc_compiled} { - setup_xfail "*-sun-sunos4*" "*-*-ultrix*" "i*86-sequent-bsd*" - } -} - -# -# Test whatis command with basic C types -# -# The name printed now (as of 23 May 1993) is whatever name the compiler -# uses in the stabs. So we need to deal with names both from gcc and -# native compilers. -# -gdb_test "whatis v_char" \ - "type = (unsigned char|char)" \ - "whatis char" - -setup_xfail "a29k-*-*" -if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix*" } -gdb_test "whatis v_signed_char" \ - "type = $signed_char" \ - "whatis signed char" - -gdb_test "whatis v_unsigned_char" \ - "type = unsigned char" \ - "whatis unsigned char" - -gdb_test "whatis v_short" \ - "type = (short|short int)" \ - "whatis short" - -gdb_test "whatis v_signed_short" \ - "type = (short|short int|signed short|signed short int)" \ - "whatis signed short" - -gdb_test "whatis v_unsigned_short" \ - "type = (unsigned short|short unsigned int)" \ - "whatis unsigned short" - -gdb_test "whatis v_int" \ - "type = int" \ - "whatis int" - -gdb_test "whatis v_signed_int" \ - "type = (signed |)int" \ - "whatis signed int" - -gdb_test "whatis v_unsigned_int" \ - "type = unsigned int" \ - "whatis unsigned int" - -setup_xfail_on_long_vs_int -# AIX xlc gets this wrong and unsigned long right. Go figure. -if {!$gcc_compiled} then {setup_xfail "rs6000-*-aix*"} -gdb_test "whatis v_long" \ - "type = (long|long int)" \ - "whatis long" - -setup_xfail_on_long_vs_int -# AIX xlc gets this wrong and unsigned long right. Go figure. -if {!$gcc_compiled} then {setup_xfail "rs6000-*-aix*"} -gdb_test "whatis v_signed_long" \ - "type = (signed |)(long|long int)" \ - "whatis signed long" - -setup_xfail_on_long_vs_int -gdb_test "whatis v_unsigned_long" \ - "type = (unsigned long|long unsigned int)" \ - "whatis unsigned long" - -gdb_test "whatis v_float" \ - "type = float" \ - "whatis float" - -gdb_test "whatis v_double" \ - "type = double" \ - "whatis double" - - -# test whatis command with arrays -# -# We already tested whether char prints as "char", so here we accept -# "unsigned char", "signed char", and other perversions. No need for more -# than one xfail for the same thing. -gdb_test "whatis v_char_array" \ - "type = (signed |unsigned |)char \\\[2\\\]" \ - "whatis char array" - -gdb_test "whatis v_signed_char_array" \ - "type = (signed |unsigned |)char \\\[2\\\]" \ - "whatis signed char array" - -gdb_test "whatis v_unsigned_char_array" \ - "type = unsigned char \\\[2\\\]" \ - "whatis unsigned char array" - -gdb_test "whatis v_short_array" \ - "type = (short|short int) \\\[2\\\]" \ - pass "whatis short array" - -gdb_test "whatis v_signed_short_array" \ - "type = (signed |)(short|short int) \\\[2\\\]" \ - "whatis signed short array" - -gdb_test "whatis v_unsigned_short_array" \ - "type = (unsigned short|short unsigned int) \\\[2\\\]" \ - "whatis unsigned short array" - -gdb_test "whatis v_int_array" \ - "type = int \\\[2\\\]" \ - "whatis int array" - -gdb_test "whatis v_signed_int_array" \ - "type = (signed |)int \\\[2\\\]" \ - "whatis signed int array" - -gdb_test "whatis v_unsigned_int_array" \ - "type = unsigned int \\\[2\\\]" \ - "whatis unsigned int array" - -# We already tested whether long prints as long, so here we accept int -# No need for more than one xfail for the same thing. -gdb_test "whatis v_long_array" \ - "type = (int|long|long int) \\\[2\\\]" \ - "whatis long array" - -gdb_test "whatis v_signed_long_array" \ - "type = (signed |)(int|long|long int) \\\[2\\\]" \ - "whatis signed long array" - -gdb_test "whatis v_unsigned_long_array" \ - "type = (unsigned (int|long|long int)|long unsigned int) \\\[2\\\]" \ - "whatis unsigned long array" - -gdb_test "whatis v_float_array" \ - "type = float \\\[2\\\]" \ - "whatis float array" - -gdb_test "whatis v_double_array" \ - "type = double \\\[2\\\]" \ - "whatis double array" - - -# test whatis command with pointers -# -# We already tested whether char prints as char, so accept various perversions -# here. We especially want to make sure we test that it doesn't print as -# caddr_t. -gdb_test "whatis v_char_pointer" \ - "type = (unsigned |signed |)char \\*" \ - "whatis char pointer" - -gdb_test "whatis v_signed_char_pointer" \ - "type = (unsigned |signed |)char \\*" \ - "whatis signed char pointer" - -gdb_test "whatis v_unsigned_char_pointer" \ - "type = unsigned char \\*" \ - "whatis unsigned char pointer" - -gdb_test "whatis v_short_pointer" \ - "type = (short|short int) \\*" \ - pass "whatis short pointer" - -gdb_test "whatis v_signed_short_pointer" \ - "type = (signed |)(short|short int) \\*" \ - "whatis signed short pointer" - -gdb_test "whatis v_unsigned_short_pointer" \ - "type = (unsigned short|short unsigned int) \\*" \ - "whatis unsigned short pointer" - -gdb_test "whatis v_int_pointer" \ - "type = int \\*" \ - "whatis int pointer" - -gdb_test "whatis v_signed_int_pointer" \ - "type = (signed |)int \\*" \ - "whatis signed int pointer" - -gdb_test "whatis v_unsigned_int_pointer" \ - "type = unsigned int \\*" \ - "whatis unsigned int pointer" - -# We already tested whether long prints as long, so here we accept int -gdb_test "whatis v_long_pointer" \ - "type = (long|int|long int) \\*" \ - "whatis long pointer" - -gdb_test "whatis v_signed_long_pointer" \ - "type = (signed |)(long|int|long int) \\*" \ - "whatis signed long pointer" - -gdb_test "whatis v_unsigned_long_pointer" \ - "type = (unsigned (int|long|long int)|long unsigned int) \\*" \ - "whatis unsigned long pointer" - -gdb_test "whatis v_float_pointer" \ - "type = float \\*" \ - "whatis float pointer" - -gdb_test "whatis v_double_pointer" \ - "type = double \\*" \ - "whatis double pointer" - - -# test whatis command with structure types -gdb_test "whatis v_struct1" \ - "type = struct t_struct" \ - "whatis named structure" - -gdb_test "whatis v_struct2" \ - "type = struct \{...\}" \ - "whatis unnamed structure" - - -# test whatis command with union types -gdb_test "whatis v_union" \ - "type = union t_union" \ - "whatis named union" - -gdb_test "whatis v_union2" \ - "type = union \{...\}" \ - "whatis unnamed union" - - - -# test whatis command with functions return type -gdb_test "whatis v_char_func" \ - "type = (signed |unsigned |)char \\(\\)" \ - "whatis char function" - -gdb_test "whatis v_signed_char_func" \ - "type = (signed |unsigned |)char \\(\\)" \ - "whatis signed char function" - -gdb_test "whatis v_unsigned_char_func" \ - "type = unsigned char \\(\\)" \ - "whatis unsigned char function" - -gdb_test "whatis v_short_func" \ - "type = short (int |)\\(\\)" \ - "whatis short function" - -gdb_test "whatis v_signed_short_func" \ - "type = (signed |)short (int |)\\(\\)" \ - "whatis signed short function" - -gdb_test "whatis v_unsigned_short_func" \ - "type = (unsigned short|short unsigned int) \\(\\)" \ - "whatis unsigned short function" - -gdb_test "whatis v_int_func" \ - "type = int \\(\\)" \ - "whatis int function" - -gdb_test "whatis v_signed_int_func" \ - "type = (signed |)int \\(\\)" \ - "whatis signed int function" - -gdb_test "whatis v_unsigned_int_func" \ - "type = unsigned int \\(\\)" \ - "whatis unsigned int function" - -gdb_test "whatis v_long_func" \ - "type = (long|int|long int) \\(\\)" \ - "whatis long function" - -gdb_test "whatis v_signed_long_func" \ - "type = (signed |)(int|long|long int) \\(\\)" \ - "whatis signed long function" - -gdb_test "whatis v_unsigned_long_func" \ - "type = (unsigned (int|long|long int)|long unsigned int) \\(\\)" \ - "whatis unsigned long function" - -# Sun /bin/cc calls this a function returning double. -if {!$gcc_compiled} then {setup_xfail "*-sun-sunos4*"} -gdb_test "whatis v_float_func" \ - "type = float \\(\\)" \ - "whatis float function" - -gdb_test "whatis v_double_func" \ - "type = double \\(\\)" \ - "whatis double function" \ - - -# test whatis command with some misc complicated types -gdb_test "whatis s_link" \ - "type = struct link \\*" \ - "whatis complicated structure" - -gdb_test "whatis u_link" \ - "type = union tu_link" \ - "whatis complicated union" - - -# test whatis command with enumerations -gdb_test "whatis clunker" \ - "type = enum cars" \ - "whatis enumeration" - - -# test whatis command with nested struct and union -gdb_test "whatis nested_su" \ - "type = struct outer_struct" \ - "whatis outer structure" - -gdb_test "whatis nested_su.outer_int" \ - "type = int" \ - "whatis outer structure member" - -gdb_test "whatis nested_su.inner_struct_instance" \ - "type = struct inner_struct" \ - "whatis inner structure" - -gdb_test "whatis nested_su.inner_struct_instance.inner_int" \ - "type = int" \ - "whatis inner structure member" - -gdb_test "whatis nested_su.inner_union_instance" \ - "type = union inner_union" \ - "whatis inner union" - -gdb_test "whatis nested_su.inner_union_instance.inner_union_int" \ - "type = int" \ - "whatis inner union member" |