mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-21 01:12:32 +08:00
* c-lang.c (cplus_builtin_types): Remove.
(enum cplus_primitive_types): New data type. (cplus_language_arch_info): New function. (cplus_language_defn): Set la_language_arch_info member. Do not set la_builtin_type_vector and string_char_type members. * f-lang.c (f_builtin_types): Remove. (enum f_primitive_types): New data type. (f_language_arch_info): New function. (f_language_de): Set la_language_arch_info member. Do not set la_builtin_type_vector and string_char_type members. * m2-lang.c (m2_builtin_types): Remove. (enum m2_primitive_types): New data type. (m2_language_arch_info): New function. (m2_language_defn): Set la_language_arch_info member. Do not set la_builtin_type_vector and string_char_type members. * objc-lang.c (objc_builtin_types): Remove. (objc_language): Set la_language_arch_info member. Do not set la_builtin_type_vector and string_char_type members. * p-lang.c (pascal_builtin_types): Remove. (enum pascal_primitive_types): New data type. (pascal_language_arch_info): New function. (pascal_language_defn): Set la_language_arch_info member. Do not set la_builtin_type_vector and string_char_type members.
This commit is contained in:
parent
594f77850b
commit
cad351d11d
@ -1,3 +1,34 @@
|
||||
2007-06-16 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* c-lang.c (cplus_builtin_types): Remove.
|
||||
(enum cplus_primitive_types): New data type.
|
||||
(cplus_language_arch_info): New function.
|
||||
(cplus_language_defn): Set la_language_arch_info member. Do not set
|
||||
la_builtin_type_vector and string_char_type members.
|
||||
|
||||
* f-lang.c (f_builtin_types): Remove.
|
||||
(enum f_primitive_types): New data type.
|
||||
(f_language_arch_info): New function.
|
||||
(f_language_de): Set la_language_arch_info member. Do not set
|
||||
la_builtin_type_vector and string_char_type members.
|
||||
|
||||
* m2-lang.c (m2_builtin_types): Remove.
|
||||
(enum m2_primitive_types): New data type.
|
||||
(m2_language_arch_info): New function.
|
||||
(m2_language_defn): Set la_language_arch_info member. Do not set
|
||||
la_builtin_type_vector and string_char_type members.
|
||||
|
||||
* objc-lang.c (objc_builtin_types): Remove.
|
||||
(objc_language): Set la_language_arch_info member. Do not set
|
||||
la_builtin_type_vector and string_char_type members.
|
||||
|
||||
* p-lang.c (pascal_builtin_types): Remove.
|
||||
(enum pascal_primitive_types): New data type.
|
||||
(pascal_language_arch_info): New function.
|
||||
(pascal_language_defn): Set la_language_arch_info member. Do not set
|
||||
la_builtin_type_vector and string_char_type members.
|
||||
|
||||
|
||||
2007-06-16 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* regcache.c (struct regcache): Add ptid_t member.
|
||||
|
96
gdb/c-lang.c
96
gdb/c-lang.c
@ -573,7 +573,7 @@ c_language_arch_info (struct gdbarch *gdbarch,
|
||||
lai->primitive_type_vector [c_primitive_type_long_double] = builtin->builtin_long_double;
|
||||
lai->primitive_type_vector [c_primitive_type_complex] = builtin->builtin_complex;
|
||||
lai->primitive_type_vector [c_primitive_type_double_complex] = builtin->builtin_double_complex;
|
||||
};
|
||||
}
|
||||
|
||||
const struct language_defn c_language_defn =
|
||||
{
|
||||
@ -611,34 +611,80 @@ const struct language_defn c_language_defn =
|
||||
LANG_MAGIC
|
||||
};
|
||||
|
||||
struct type **const (cplus_builtin_types[]) =
|
||||
{
|
||||
&builtin_type_int,
|
||||
&builtin_type_long,
|
||||
&builtin_type_short,
|
||||
&builtin_type_char,
|
||||
&builtin_type_float,
|
||||
&builtin_type_double,
|
||||
&builtin_type_void,
|
||||
&builtin_type_long_long,
|
||||
&builtin_type_signed_char,
|
||||
&builtin_type_unsigned_char,
|
||||
&builtin_type_unsigned_short,
|
||||
&builtin_type_unsigned_int,
|
||||
&builtin_type_unsigned_long,
|
||||
&builtin_type_unsigned_long_long,
|
||||
&builtin_type_long_double,
|
||||
&builtin_type_complex,
|
||||
&builtin_type_double_complex,
|
||||
&builtin_type_bool,
|
||||
0
|
||||
enum cplus_primitive_types {
|
||||
cplus_primitive_type_int,
|
||||
cplus_primitive_type_long,
|
||||
cplus_primitive_type_short,
|
||||
cplus_primitive_type_char,
|
||||
cplus_primitive_type_float,
|
||||
cplus_primitive_type_double,
|
||||
cplus_primitive_type_void,
|
||||
cplus_primitive_type_long_long,
|
||||
cplus_primitive_type_signed_char,
|
||||
cplus_primitive_type_unsigned_char,
|
||||
cplus_primitive_type_unsigned_short,
|
||||
cplus_primitive_type_unsigned_int,
|
||||
cplus_primitive_type_unsigned_long,
|
||||
cplus_primitive_type_unsigned_long_long,
|
||||
cplus_primitive_type_long_double,
|
||||
cplus_primitive_type_complex,
|
||||
cplus_primitive_type_double_complex,
|
||||
cplus_primitive_type_bool,
|
||||
nr_cplus_primitive_types
|
||||
};
|
||||
|
||||
static void
|
||||
cplus_language_arch_info (struct gdbarch *gdbarch,
|
||||
struct language_arch_info *lai)
|
||||
{
|
||||
const struct builtin_type *builtin = builtin_type (gdbarch);
|
||||
lai->string_char_type = builtin->builtin_char;
|
||||
lai->primitive_type_vector
|
||||
= GDBARCH_OBSTACK_CALLOC (gdbarch, nr_cplus_primitive_types + 1,
|
||||
struct type *);
|
||||
lai->primitive_type_vector [cplus_primitive_type_int]
|
||||
= builtin->builtin_int;
|
||||
lai->primitive_type_vector [cplus_primitive_type_long]
|
||||
= builtin->builtin_long;
|
||||
lai->primitive_type_vector [cplus_primitive_type_short]
|
||||
= builtin->builtin_short;
|
||||
lai->primitive_type_vector [cplus_primitive_type_char]
|
||||
= builtin->builtin_char;
|
||||
lai->primitive_type_vector [cplus_primitive_type_float]
|
||||
= builtin->builtin_float;
|
||||
lai->primitive_type_vector [cplus_primitive_type_double]
|
||||
= builtin->builtin_double;
|
||||
lai->primitive_type_vector [cplus_primitive_type_void]
|
||||
= builtin->builtin_void;
|
||||
lai->primitive_type_vector [cplus_primitive_type_long_long]
|
||||
= builtin->builtin_long_long;
|
||||
lai->primitive_type_vector [cplus_primitive_type_signed_char]
|
||||
= builtin->builtin_signed_char;
|
||||
lai->primitive_type_vector [cplus_primitive_type_unsigned_char]
|
||||
= builtin->builtin_unsigned_char;
|
||||
lai->primitive_type_vector [cplus_primitive_type_unsigned_short]
|
||||
= builtin->builtin_unsigned_short;
|
||||
lai->primitive_type_vector [cplus_primitive_type_unsigned_int]
|
||||
= builtin->builtin_unsigned_int;
|
||||
lai->primitive_type_vector [cplus_primitive_type_unsigned_long]
|
||||
= builtin->builtin_unsigned_long;
|
||||
lai->primitive_type_vector [cplus_primitive_type_unsigned_long_long]
|
||||
= builtin->builtin_unsigned_long_long;
|
||||
lai->primitive_type_vector [cplus_primitive_type_long_double]
|
||||
= builtin->builtin_long_double;
|
||||
lai->primitive_type_vector [cplus_primitive_type_complex]
|
||||
= builtin->builtin_complex;
|
||||
lai->primitive_type_vector [cplus_primitive_type_double_complex]
|
||||
= builtin->builtin_double_complex;
|
||||
lai->primitive_type_vector [cplus_primitive_type_bool]
|
||||
= builtin->builtin_bool;
|
||||
}
|
||||
|
||||
const struct language_defn cplus_language_defn =
|
||||
{
|
||||
"c++", /* Language name */
|
||||
language_cplus,
|
||||
cplus_builtin_types,
|
||||
NULL,
|
||||
range_check_off,
|
||||
type_check_off,
|
||||
case_sensitive_on,
|
||||
@ -663,9 +709,9 @@ const struct language_defn cplus_language_defn =
|
||||
c_op_print_tab, /* expression operators for printing */
|
||||
1, /* c-style arrays */
|
||||
0, /* String lower bound */
|
||||
&builtin_type_char, /* Type of string elements */
|
||||
NULL,
|
||||
default_word_break_characters,
|
||||
NULL, /* FIXME: la_language_arch_info. */
|
||||
cplus_language_arch_info,
|
||||
default_print_array_index,
|
||||
LANG_MAGIC
|
||||
};
|
||||
|
69
gdb/f-lang.c
69
gdb/f-lang.c
@ -434,26 +434,53 @@ static const struct op_print f_op_print_tab[] =
|
||||
{NULL, 0, 0, 0}
|
||||
};
|
||||
|
||||
struct type **const (f_builtin_types[]) =
|
||||
{
|
||||
&builtin_type_f_character,
|
||||
&builtin_type_f_logical,
|
||||
&builtin_type_f_logical_s1,
|
||||
&builtin_type_f_logical_s2,
|
||||
&builtin_type_f_integer,
|
||||
&builtin_type_f_integer_s2,
|
||||
&builtin_type_f_real,
|
||||
&builtin_type_f_real_s8,
|
||||
&builtin_type_f_real_s16,
|
||||
&builtin_type_f_complex_s8,
|
||||
&builtin_type_f_complex_s16,
|
||||
#if 0
|
||||
&builtin_type_f_complex_s32,
|
||||
#endif
|
||||
&builtin_type_f_void,
|
||||
0
|
||||
enum f_primitive_types {
|
||||
f_primitive_type_character,
|
||||
f_primitive_type_logical,
|
||||
f_primitive_type_logical_s1,
|
||||
f_primitive_type_logical_s2,
|
||||
f_primitive_type_integer,
|
||||
f_primitive_type_integer_s2,
|
||||
f_primitive_type_real,
|
||||
f_primitive_type_real_s8,
|
||||
f_primitive_type_real_s16,
|
||||
f_primitive_type_complex_s8,
|
||||
f_primitive_type_complex_s16,
|
||||
f_primitive_type_void,
|
||||
nr_f_primitive_types
|
||||
};
|
||||
|
||||
static void
|
||||
f_language_arch_info (struct gdbarch *gdbarch,
|
||||
struct language_arch_info *lai)
|
||||
{
|
||||
lai->string_char_type = builtin_type_f_character;
|
||||
lai->primitive_type_vector
|
||||
= GDBARCH_OBSTACK_CALLOC (gdbarch, nr_f_primitive_types + 1,
|
||||
struct type *);
|
||||
|
||||
lai->primitive_type_vector [f_primitive_type_character]
|
||||
= builtin_type_f_character;
|
||||
lai->primitive_type_vector [f_primitive_type_logical]
|
||||
= builtin_type_f_logical;
|
||||
lai->primitive_type_vector [f_primitive_type_logical_s1]
|
||||
= builtin_type_f_logical_s1;
|
||||
lai->primitive_type_vector [f_primitive_type_logical_s2]
|
||||
= builtin_type_f_logical_s2;
|
||||
lai->primitive_type_vector [f_primitive_type_real]
|
||||
= builtin_type_f_real;
|
||||
lai->primitive_type_vector [f_primitive_type_real_s8]
|
||||
= builtin_type_f_real_s8;
|
||||
lai->primitive_type_vector [f_primitive_type_real_s16]
|
||||
= builtin_type_f_real_s16;
|
||||
lai->primitive_type_vector [f_primitive_type_complex_s8]
|
||||
= builtin_type_f_complex_s8;
|
||||
lai->primitive_type_vector [f_primitive_type_complex_s16]
|
||||
= builtin_type_f_complex_s16;
|
||||
lai->primitive_type_vector [f_primitive_type_void]
|
||||
= builtin_type_f_void;
|
||||
}
|
||||
|
||||
/* This is declared in c-lang.h but it is silly to import that file for what
|
||||
is already just a hack. */
|
||||
extern int c_value_print (struct value *, struct ui_file *, int,
|
||||
@ -463,7 +490,7 @@ const struct language_defn f_language_defn =
|
||||
{
|
||||
"fortran",
|
||||
language_fortran,
|
||||
f_builtin_types,
|
||||
NULL,
|
||||
range_check_on,
|
||||
type_check_on,
|
||||
case_sensitive_off,
|
||||
@ -488,9 +515,9 @@ const struct language_defn f_language_defn =
|
||||
f_op_print_tab, /* expression operators for printing */
|
||||
0, /* arrays are first-class (not c-style) */
|
||||
1, /* String lower bound */
|
||||
&builtin_type_f_character, /* Type of string elements */
|
||||
NULL,
|
||||
default_word_break_characters,
|
||||
NULL, /* FIXME: la_language_arch_info. */
|
||||
f_language_arch_info,
|
||||
default_print_array_index,
|
||||
LANG_MAGIC
|
||||
};
|
||||
|
@ -402,21 +402,41 @@ struct type *builtin_type_m2_card;
|
||||
struct type *builtin_type_m2_real;
|
||||
struct type *builtin_type_m2_bool;
|
||||
|
||||
struct type **const (m2_builtin_types[]) =
|
||||
{
|
||||
&builtin_type_m2_char,
|
||||
&builtin_type_m2_int,
|
||||
&builtin_type_m2_card,
|
||||
&builtin_type_m2_real,
|
||||
&builtin_type_m2_bool,
|
||||
0
|
||||
enum m2_primitive_types {
|
||||
m2_primitive_type_char,
|
||||
m2_primitive_type_int,
|
||||
m2_primitive_type_card,
|
||||
m2_primitive_type_real,
|
||||
m2_primitive_type_bool,
|
||||
nr_m2_primitive_types
|
||||
};
|
||||
|
||||
static void
|
||||
m2_language_arch_info (struct gdbarch *gdbarch,
|
||||
struct language_arch_info *lai)
|
||||
{
|
||||
lai->string_char_type = builtin_type_m2_char;
|
||||
lai->primitive_type_vector
|
||||
= GDBARCH_OBSTACK_CALLOC (gdbarch, nr_m2_primitive_types + 1,
|
||||
struct type *);
|
||||
|
||||
lai->primitive_type_vector [m2_primitive_type_char]
|
||||
= builtin_type_m2_char;
|
||||
lai->primitive_type_vector [m2_primitive_type_int]
|
||||
= builtin_type_m2_int;
|
||||
lai->primitive_type_vector [m2_primitive_type_card]
|
||||
= builtin_type_m2_card;
|
||||
lai->primitive_type_vector [m2_primitive_type_real]
|
||||
= builtin_type_m2_real;
|
||||
lai->primitive_type_vector [m2_primitive_type_bool]
|
||||
= builtin_type_m2_bool;
|
||||
}
|
||||
|
||||
const struct language_defn m2_language_defn =
|
||||
{
|
||||
"modula-2",
|
||||
language_m2,
|
||||
m2_builtin_types,
|
||||
NULL,
|
||||
range_check_on,
|
||||
type_check_on,
|
||||
case_sensitive_on,
|
||||
@ -441,9 +461,9 @@ const struct language_defn m2_language_defn =
|
||||
m2_op_print_tab, /* expression operators for printing */
|
||||
0, /* arrays are first-class (not c-style) */
|
||||
0, /* String lower bound */
|
||||
&builtin_type_m2_char, /* Type of string elements */
|
||||
NULL,
|
||||
default_word_break_characters,
|
||||
NULL, /* FIXME: la_language_arch_info. */
|
||||
m2_language_arch_info,
|
||||
default_print_array_index,
|
||||
LANG_MAGIC
|
||||
};
|
||||
|
@ -638,32 +638,10 @@ static const struct op_print objc_op_print_tab[] =
|
||||
{NULL, OP_NULL, PREC_NULL, 0}
|
||||
};
|
||||
|
||||
struct type ** const (objc_builtin_types[]) =
|
||||
{
|
||||
&builtin_type_int,
|
||||
&builtin_type_long,
|
||||
&builtin_type_short,
|
||||
&builtin_type_char,
|
||||
&builtin_type_float,
|
||||
&builtin_type_double,
|
||||
&builtin_type_void,
|
||||
&builtin_type_long_long,
|
||||
&builtin_type_signed_char,
|
||||
&builtin_type_unsigned_char,
|
||||
&builtin_type_unsigned_short,
|
||||
&builtin_type_unsigned_int,
|
||||
&builtin_type_unsigned_long,
|
||||
&builtin_type_unsigned_long_long,
|
||||
&builtin_type_long_double,
|
||||
&builtin_type_complex,
|
||||
&builtin_type_double_complex,
|
||||
0
|
||||
};
|
||||
|
||||
const struct language_defn objc_language_defn = {
|
||||
"objective-c", /* Language name */
|
||||
language_objc,
|
||||
objc_builtin_types,
|
||||
NULL,
|
||||
range_check_off,
|
||||
type_check_off,
|
||||
case_sensitive_on,
|
||||
@ -688,9 +666,9 @@ const struct language_defn objc_language_defn = {
|
||||
objc_op_print_tab, /* Expression operators for printing */
|
||||
1, /* C-style arrays */
|
||||
0, /* String lower bound */
|
||||
&builtin_type_char, /* Type of string elements */
|
||||
NULL,
|
||||
default_word_break_characters,
|
||||
NULL, /* FIXME: la_language_arch_info. */
|
||||
c_language_arch_info,
|
||||
default_print_array_index,
|
||||
LANG_MAGIC
|
||||
};
|
||||
|
90
gdb/p-lang.c
90
gdb/p-lang.c
@ -428,33 +428,77 @@ const struct op_print pascal_op_print_tab[] =
|
||||
{NULL, 0, 0, 0}
|
||||
};
|
||||
|
||||
struct type **const (pascal_builtin_types[]) =
|
||||
{
|
||||
&builtin_type_int,
|
||||
&builtin_type_long,
|
||||
&builtin_type_short,
|
||||
&builtin_type_char,
|
||||
&builtin_type_float,
|
||||
&builtin_type_double,
|
||||
&builtin_type_void,
|
||||
&builtin_type_long_long,
|
||||
&builtin_type_signed_char,
|
||||
&builtin_type_unsigned_char,
|
||||
&builtin_type_unsigned_short,
|
||||
&builtin_type_unsigned_int,
|
||||
&builtin_type_unsigned_long,
|
||||
&builtin_type_unsigned_long_long,
|
||||
&builtin_type_long_double,
|
||||
&builtin_type_complex,
|
||||
&builtin_type_double_complex,
|
||||
0
|
||||
enum pascal_primitive_types {
|
||||
pascal_primitive_type_int,
|
||||
pascal_primitive_type_long,
|
||||
pascal_primitive_type_short,
|
||||
pascal_primitive_type_char,
|
||||
pascal_primitive_type_float,
|
||||
pascal_primitive_type_double,
|
||||
pascal_primitive_type_void,
|
||||
pascal_primitive_type_long_long,
|
||||
pascal_primitive_type_signed_char,
|
||||
pascal_primitive_type_unsigned_char,
|
||||
pascal_primitive_type_unsigned_short,
|
||||
pascal_primitive_type_unsigned_int,
|
||||
pascal_primitive_type_unsigned_long,
|
||||
pascal_primitive_type_unsigned_long_long,
|
||||
pascal_primitive_type_long_double,
|
||||
pascal_primitive_type_complex,
|
||||
pascal_primitive_type_double_complex,
|
||||
nr_pascal_primitive_types
|
||||
};
|
||||
|
||||
static void
|
||||
pascal_language_arch_info (struct gdbarch *gdbarch,
|
||||
struct language_arch_info *lai)
|
||||
{
|
||||
const struct builtin_type *builtin = builtin_type (gdbarch);
|
||||
lai->string_char_type = builtin->builtin_char;
|
||||
lai->primitive_type_vector
|
||||
= GDBARCH_OBSTACK_CALLOC (gdbarch, nr_pascal_primitive_types + 1,
|
||||
struct type *);
|
||||
lai->primitive_type_vector [pascal_primitive_type_int]
|
||||
= builtin->builtin_int;
|
||||
lai->primitive_type_vector [pascal_primitive_type_long]
|
||||
= builtin->builtin_long;
|
||||
lai->primitive_type_vector [pascal_primitive_type_short]
|
||||
= builtin->builtin_short;
|
||||
lai->primitive_type_vector [pascal_primitive_type_char]
|
||||
= builtin->builtin_char;
|
||||
lai->primitive_type_vector [pascal_primitive_type_float]
|
||||
= builtin->builtin_float;
|
||||
lai->primitive_type_vector [pascal_primitive_type_double]
|
||||
= builtin->builtin_double;
|
||||
lai->primitive_type_vector [pascal_primitive_type_void]
|
||||
= builtin->builtin_void;
|
||||
lai->primitive_type_vector [pascal_primitive_type_long_long]
|
||||
= builtin->builtin_long_long;
|
||||
lai->primitive_type_vector [pascal_primitive_type_signed_char]
|
||||
= builtin->builtin_signed_char;
|
||||
lai->primitive_type_vector [pascal_primitive_type_unsigned_char]
|
||||
= builtin->builtin_unsigned_char;
|
||||
lai->primitive_type_vector [pascal_primitive_type_unsigned_short]
|
||||
= builtin->builtin_unsigned_short;
|
||||
lai->primitive_type_vector [pascal_primitive_type_unsigned_int]
|
||||
= builtin->builtin_unsigned_int;
|
||||
lai->primitive_type_vector [pascal_primitive_type_unsigned_long]
|
||||
= builtin->builtin_unsigned_long;
|
||||
lai->primitive_type_vector [pascal_primitive_type_unsigned_long_long]
|
||||
= builtin->builtin_unsigned_long_long;
|
||||
lai->primitive_type_vector [pascal_primitive_type_long_double]
|
||||
= builtin->builtin_long_double;
|
||||
lai->primitive_type_vector [pascal_primitive_type_complex]
|
||||
= builtin->builtin_complex;
|
||||
lai->primitive_type_vector [pascal_primitive_type_double_complex]
|
||||
= builtin->builtin_double_complex;
|
||||
}
|
||||
|
||||
const struct language_defn pascal_language_defn =
|
||||
{
|
||||
"pascal", /* Language name */
|
||||
language_pascal,
|
||||
pascal_builtin_types,
|
||||
NULL,
|
||||
range_check_on,
|
||||
type_check_on,
|
||||
case_sensitive_on,
|
||||
@ -479,9 +523,9 @@ const struct language_defn pascal_language_defn =
|
||||
pascal_op_print_tab, /* expression operators for printing */
|
||||
1, /* c-style arrays */
|
||||
0, /* String lower bound */
|
||||
&builtin_type_char, /* Type of string elements */
|
||||
NULL,
|
||||
default_word_break_characters,
|
||||
NULL, /* FIXME: la_language_arch_info. */
|
||||
pascal_language_arch_info,
|
||||
default_print_array_index,
|
||||
LANG_MAGIC
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user