| # Copyright 1994-2023 Free Software Foundation, Inc. | 
 | # Copyright 2007 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 was adapted from old Chill tests by Stan Shebs | 
 | # (shebs@cygnus.com). | 
 | # Adapted to pascal by Pierre Muller | 
 |  | 
 | load_lib "pascal.exp" | 
 |  | 
 | proc test_integer_literal_types_accepted {} { | 
 |     global gdb_prompt | 
 |  | 
 |     # Test various decimal values. | 
 |     # Should be integer*4 probably. | 
 |     gdb_test "pt 123" "type = int"  | 
 | } | 
 | proc test_character_literal_types_accepted {} { | 
 |     global gdb_prompt | 
 |  | 
 |     # Test various character values. | 
 |  | 
 |     gdb_test "pt 'a'" "type = char" | 
 | } | 
 |  | 
 | proc test_string_literal_types_accepted {} { | 
 |     global gdb_prompt | 
 |  | 
 |     # Test various character values. | 
 |  | 
 |     setup_kfail gdb/2326 *-*-* | 
 |     gdb_test "pt 'a simple string'" "type = string" | 
 | } | 
 |  | 
 | proc test_logical_literal_types_accepted {} { | 
 |     global gdb_prompt | 
 |  | 
 |     # Test the only possible values for a logical, TRUE and FALSE. | 
 |  | 
 |     gdb_test "pt TRUE" "type = bool" | 
 |     gdb_test "pt FALSE" "type = bool" | 
 | } | 
 |  | 
 | proc test_float_literal_types_accepted {} { | 
 |     global gdb_prompt | 
 |  | 
 |     # Test various floating point formats | 
 |  | 
 |     # this used to guess whether to look for "real*4" or | 
 |     # "real*8" based on a target config variable, but noone | 
 |     # maintained it properly. | 
 |  | 
 |     gdb_test "pt .44" "type = double" | 
 |     gdb_test "pt 44.0" "type = double" | 
 |     gdb_test "pt 10e20" "type = double" | 
 |     gdb_test "pt 10E20" "type = double" | 
 | } | 
 |  | 
 | clean_restart | 
 |  | 
 | if {[set_lang_pascal]} { | 
 |     test_integer_literal_types_accepted | 
 |     test_logical_literal_types_accepted | 
 |     test_character_literal_types_accepted | 
 |     test_string_literal_types_accepted | 
 |     test_float_literal_types_accepted | 
 | } else { | 
 |     warning "$test_name tests suppressed." 0 | 
 | } |