198944Sobrien/* Pascal language support definitions for GDB, the GNU debugger. 298944Sobrien Copyright 2000 Free Software Foundation, Inc. 398944Sobrien 498944Sobrien This file is part of GDB. 598944Sobrien 698944Sobrien This program is free software; you can redistribute it and/or modify 798944Sobrien it under the terms of the GNU General Public License as published by 898944Sobrien the Free Software Foundation; either version 2 of the License, or 998944Sobrien (at your option) any later version. 1098944Sobrien 1198944Sobrien This program is distributed in the hope that it will be useful, 1298944Sobrien but WITHOUT ANY WARRANTY; without even the implied warranty of 1398944Sobrien MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1498944Sobrien GNU General Public License for more details. 1598944Sobrien 1698944Sobrien You should have received a copy of the GNU General Public License 1798944Sobrien along with this program; if not, write to the Free Software 1898944Sobrien Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 1998944Sobrien 2098944Sobrien/* This file is derived from c-lang.h */ 2198944Sobrien 2298944Sobrienstruct value; 2398944Sobrien 2498944Sobrienextern int pascal_parse (void); /* Defined in p-exp.y */ 2598944Sobrien 2698944Sobrienextern void pascal_error (char *); /* Defined in p-exp.y */ 2798944Sobrien 2898944Sobrien/* Defined in p-typeprint.c */ 2998944Sobrienextern void pascal_print_type (struct type *, char *, struct ui_file *, int, int); 3098944Sobrien 3198944Sobrienextern int pascal_val_print (struct type *, char *, int, CORE_ADDR, struct ui_file *, int, int, 3298944Sobrien int, enum val_prettyprint); 3398944Sobrien 3498944Sobrienextern int pascal_value_print (struct value *, struct ui_file *, int, enum val_prettyprint); 3598944Sobrien 3698944Sobrienextern void pascal_type_print_method_args (char *, char *, 3798944Sobrien struct ui_file *); 3898944Sobrien 3998944Sobrien/* These are in p-lang.c: */ 4098944Sobrien 41130803Smarcelextern int 42130803Smarcel is_pascal_string_type (struct type *, int *, int *, int *, int *, char **); 4398944Sobrien 4498944Sobrienextern void pascal_printchar (int, struct ui_file *); 4598944Sobrien 4698944Sobrienextern void pascal_printstr (struct ui_file *, char *, unsigned int, int, int); 4798944Sobrien 4898944Sobrienextern struct type *pascal_create_fundamental_type (struct objfile *, int); 4998944Sobrien 5098944Sobrienextern struct type **const (pascal_builtin_types[]); 5198944Sobrien 5298944Sobrien/* These are in p-typeprint.c: */ 5398944Sobrien 5498944Sobrienextern void 5598944Sobrien pascal_type_print_base (struct type *, struct ui_file *, int, int); 5698944Sobrien 5798944Sobrienextern void 5898944Sobrien pascal_type_print_varspec_prefix (struct type *, struct ui_file *, int, int); 5998944Sobrien 6098944Sobrien/* These are in cp-valprint.c */ 6198944Sobrien 6298944Sobrienextern int vtblprint; /* Controls printing of vtbl's */ 6398944Sobrien 6498944Sobrienextern int static_field_print; 6598944Sobrien 6698944Sobrienextern void pascal_object_print_class_member (char *, struct type *, struct ui_file *, char *); 6798944Sobrien 6898944Sobrienextern void pascal_object_print_class_method (char *, struct type *, struct ui_file *); 6998944Sobrien 7098944Sobrienextern void pascal_object_print_value_fields (struct type *, char *, CORE_ADDR, 7198944Sobrien struct ui_file *, int, int, enum val_prettyprint, 7298944Sobrien struct type **, int); 7398944Sobrien 7498944Sobrienextern int pascal_object_is_vtbl_ptr_type (struct type *); 7598944Sobrien 7698944Sobrienextern int pascal_object_is_vtbl_member (struct type *); 77