mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-12 20:03:45 +08:00
6ccb916229
of FT_INTEGER fundamental type for array range index type. (decode_base_type): Use builtin types of current_gdbarch instead of fundamental types. * dwarf2read.c (struct dwarf2_cu): Remove ftypes member. (read_file_scope): Do not initialize ftypes member. (dwarf_base_type, dwarf2_fundamental_types): Remove functions. (read_array_type): Use builtin_type_int32 instead of FT_INTEGER fundamental type for array range index type. (read_tag_string_type): Likewise for string range index type. Also, do not overwrite FT_CHAR type with new string type. (read_base_type): If DW_AT_name is missing, create unnamed type with given properties instead of looking for a fundamental type. Create new types as TYPE_TARGET_TYPE for DW_ATE_address and DW_ATE_complex_float types. (read_subrange_type): Create new type to represent missing DW_AT_type instead of looking for a fundamental type. (die_type): Use builtin type to represent "void" instead of looking for a fundamental type. * stabsread.c (define_symbol): Use builtin types to represent 'r' and 'i' floating-point and integer constants. * gdbtypes.c (lookup_fundamental_type): Remove. * gdbtypes.h (lookup_fundamental_type): Remove prototype. (FT_VOID, FT_BOOLEAN, FT_CHAR, FT_SIGNED_CHAR, FT_UNSIGNED_CHAR, FT_SHORT, FT_SIGNED_SHORT, FT_UNSIGNED_SHORT, FT_INTEGER, FT_SIGNED_INTEGER, FT_UNSIGNED_INTEGER, FT_LONG, FT_SIGNED_LONG, FT_UNSIGNED_LONG, FT_LONG_LONG, FT_SIGNED_LONG_LONG, FT_UNSIGNED_LONG_LONG, FT_FLOAT, FT_DBL_PREC_FLOAT, FT_EXT_PREC_FLOAT, FT_COMPLEX, FT_DBL_PREC_COMPLEX, FT_EXT_PREC_COMPLEX, FT_STRING, FT_FIXED_DECIMAL, FT_FLOAT_DECIMAL, FT_BYTE, FT_UNSIGNED_BYTE, FT_TEMPLATE_ARG, FT_DECFLOAT, FT_DBL_PREC_DECFLOAT, FT_EXT_PREC_DECFLOAT, FT_NUM_MEMBERS): Remove macros. * objfiles.c (struct objfile): Remove fundamental_types member. * symfile.c (reread_symbols): Do not clear fundamental_types. * language.h (struct language_defn): Remove la_fund_type member. (create_fundamental_type): Remove. * language.c (unk_lang_create_fundamental_type): Remove. (unknown_language_defn, auto_language_defn, local_language_defn): Adapt initializer. * ada-lang.c (ada_create_fundamental_type): Remove. (ada_language_defn): Adapt initializer. * c-lang.h (c_create_fundamental_type): Remove prototype. * c-lang.c (c_create_fundamental_type): Remove. (c_language_defn, cplus_language_defn, asm_language_defn, minimal_language_defn): Adapt initializer. * f-lang.c (f_create_fundamental_type): Remove. (f_language_defn): Adapt initializer. * jv-lang.c (java_create_fundamental_type): Remove. (java_language_defn): Adapt initializer. * m2-lang.c (m2_create_fundamental_type): Remove. (m2_language_defn): Adapt initializer. * objc-lang.c (objc_create_fundamental_type): Remove. (objc_language_defn): Adapt initializer. * p-lang.h (pascal_create_fundamental_type): Remove prototype. * p-lang.c (pascal_create_fundamental_type): Remove. (pascal_language_defn): Adapt initializer. * scm-lang.c (scm_language_defn): Adapt initializer.
77 lines
2.4 KiB
C
77 lines
2.4 KiB
C
/* Pascal language support definitions for GDB, the GNU debugger.
|
|
|
|
Copyright (C) 2000, 2005, 2006, 2007 Free Software Foundation, Inc.
|
|
|
|
This file is part of GDB.
|
|
|
|
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 derived from c-lang.h */
|
|
|
|
struct value;
|
|
|
|
/* Defined in p-lang.c */
|
|
extern const char *pascal_main_name (void);
|
|
|
|
extern int pascal_parse (void); /* Defined in p-exp.y */
|
|
|
|
extern void pascal_error (char *); /* Defined in p-exp.y */
|
|
|
|
/* Defined in p-typeprint.c */
|
|
extern void pascal_print_type (struct type *, char *, struct ui_file *, int, int);
|
|
|
|
extern int pascal_val_print (struct type *, const gdb_byte *, int,
|
|
CORE_ADDR, struct ui_file *, int, int,
|
|
int, enum val_prettyprint);
|
|
|
|
extern int pascal_value_print (struct value *, struct ui_file *, int, enum val_prettyprint);
|
|
|
|
extern void pascal_type_print_method_args (char *, char *,
|
|
struct ui_file *);
|
|
|
|
/* These are in p-lang.c: */
|
|
|
|
extern int
|
|
is_pascal_string_type (struct type *, int *, int *, int *, int *, char **);
|
|
|
|
extern void pascal_printchar (int, struct ui_file *);
|
|
|
|
extern void pascal_printstr (struct ui_file *, const gdb_byte *,
|
|
unsigned int, int, int);
|
|
|
|
extern struct type **const (pascal_builtin_types[]);
|
|
|
|
/* These are in p-typeprint.c: */
|
|
|
|
extern void
|
|
pascal_type_print_base (struct type *, struct ui_file *, int, int);
|
|
|
|
extern void
|
|
pascal_type_print_varspec_prefix (struct type *, struct ui_file *, int, int);
|
|
|
|
/* These are in cp-valprint.c */
|
|
|
|
extern int vtblprint; /* Controls printing of vtbl's */
|
|
|
|
extern int static_field_print;
|
|
|
|
extern void pascal_object_print_value_fields (struct type *, const gdb_byte *,
|
|
CORE_ADDR, struct ui_file *,
|
|
int, int, enum val_prettyprint,
|
|
struct type **, int);
|
|
|
|
extern int pascal_object_is_vtbl_ptr_type (struct type *);
|
|
|
|
extern int pascal_object_is_vtbl_member (struct type *);
|