1*b725ae77Skettenis /* Pascal language support definitions for GDB, the GNU debugger. 2*b725ae77Skettenis Copyright 2000 Free Software Foundation, Inc. 3*b725ae77Skettenis 4*b725ae77Skettenis This file is part of GDB. 5*b725ae77Skettenis 6*b725ae77Skettenis This program is free software; you can redistribute it and/or modify 7*b725ae77Skettenis it under the terms of the GNU General Public License as published by 8*b725ae77Skettenis the Free Software Foundation; either version 2 of the License, or 9*b725ae77Skettenis (at your option) any later version. 10*b725ae77Skettenis 11*b725ae77Skettenis This program is distributed in the hope that it will be useful, 12*b725ae77Skettenis but WITHOUT ANY WARRANTY; without even the implied warranty of 13*b725ae77Skettenis MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14*b725ae77Skettenis GNU General Public License for more details. 15*b725ae77Skettenis 16*b725ae77Skettenis You should have received a copy of the GNU General Public License 17*b725ae77Skettenis along with this program; if not, write to the Free Software 18*b725ae77Skettenis Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 19*b725ae77Skettenis 20*b725ae77Skettenis /* This file is derived from c-lang.h */ 21*b725ae77Skettenis 22*b725ae77Skettenis struct value; 23*b725ae77Skettenis 24*b725ae77Skettenis extern int pascal_parse (void); /* Defined in p-exp.y */ 25*b725ae77Skettenis 26*b725ae77Skettenis extern void pascal_error (char *); /* Defined in p-exp.y */ 27*b725ae77Skettenis 28*b725ae77Skettenis /* Defined in p-typeprint.c */ 29*b725ae77Skettenis extern void pascal_print_type (struct type *, char *, struct ui_file *, int, int); 30*b725ae77Skettenis 31*b725ae77Skettenis extern int pascal_val_print (struct type *, char *, int, CORE_ADDR, struct ui_file *, int, int, 32*b725ae77Skettenis int, enum val_prettyprint); 33*b725ae77Skettenis 34*b725ae77Skettenis extern int pascal_value_print (struct value *, struct ui_file *, int, enum val_prettyprint); 35*b725ae77Skettenis 36*b725ae77Skettenis extern void pascal_type_print_method_args (char *, char *, 37*b725ae77Skettenis struct ui_file *); 38*b725ae77Skettenis 39*b725ae77Skettenis /* These are in p-lang.c: */ 40*b725ae77Skettenis 41*b725ae77Skettenis extern int 42*b725ae77Skettenis is_pascal_string_type (struct type *, int *, int *, int *, int *, char **); 43*b725ae77Skettenis 44*b725ae77Skettenis extern void pascal_printchar (int, struct ui_file *); 45*b725ae77Skettenis 46*b725ae77Skettenis extern void pascal_printstr (struct ui_file *, char *, unsigned int, int, int); 47*b725ae77Skettenis 48*b725ae77Skettenis extern struct type *pascal_create_fundamental_type (struct objfile *, int); 49*b725ae77Skettenis 50*b725ae77Skettenis extern struct type **const (pascal_builtin_types[]); 51*b725ae77Skettenis 52*b725ae77Skettenis /* These are in p-typeprint.c: */ 53*b725ae77Skettenis 54*b725ae77Skettenis extern void 55*b725ae77Skettenis pascal_type_print_base (struct type *, struct ui_file *, int, int); 56*b725ae77Skettenis 57*b725ae77Skettenis extern void 58*b725ae77Skettenis pascal_type_print_varspec_prefix (struct type *, struct ui_file *, int, int); 59*b725ae77Skettenis 60*b725ae77Skettenis /* These are in cp-valprint.c */ 61*b725ae77Skettenis 62*b725ae77Skettenis extern int vtblprint; /* Controls printing of vtbl's */ 63*b725ae77Skettenis 64*b725ae77Skettenis extern int static_field_print; 65*b725ae77Skettenis 66*b725ae77Skettenis extern void pascal_object_print_class_member (char *, struct type *, struct ui_file *, char *); 67*b725ae77Skettenis 68*b725ae77Skettenis extern void pascal_object_print_class_method (char *, struct type *, struct ui_file *); 69*b725ae77Skettenis 70*b725ae77Skettenis extern void pascal_object_print_value_fields (struct type *, char *, CORE_ADDR, 71*b725ae77Skettenis struct ui_file *, int, int, enum val_prettyprint, 72*b725ae77Skettenis struct type **, int); 73*b725ae77Skettenis 74*b725ae77Skettenis extern int pascal_object_is_vtbl_ptr_type (struct type *); 75*b725ae77Skettenis 76*b725ae77Skettenis extern int pascal_object_is_vtbl_member (struct type *); 77