2004-07-28 Andrew Cagney <cagney@gnu.org>

* scm-lang.c (c_builtin_types): Delete extern declaration.
	(scm_language_defn): Replace
	string_char_type and primitive_type_vector with
	la_language_arch_info.
	* jv-lang.c (java_language_defn): Replace
	string_char_type and primitive_type_vector with
	la_language_arch_info.
	* config/i386/i386sco4.mh (NATDEPFILES): Remove reference to
	c_builtin_types in comment.
	* c-lang.h (struct language_arch_info): Declare opaque.
	(c_language_arch_info): Declare.
	(c_builtin_types): Delete declaration.
	* c-lang.c (c_language_arch_info): Set string_char_type to
	builtin_char, not builtin_true_char.  Make global.
	(c_builtin_types): Delete array.
	(asm_language_defn, minimal_language_defn): Replace
	string_char_type and primitive_type_vector with
	la_language_arch_info.
This commit is contained in:
Andrew Cagney 2004-07-28 15:18:08 +00:00
parent 685419e2ae
commit e9667a656b
6 changed files with 39 additions and 40 deletions

View file

@ -1,3 +1,24 @@
2004-07-28 Andrew Cagney <cagney@gnu.org>
* scm-lang.c (c_builtin_types): Delete extern declaration.
(scm_language_defn): Replace
string_char_type and primitive_type_vector with
la_language_arch_info.
* jv-lang.c (java_language_defn): Replace
string_char_type and primitive_type_vector with
la_language_arch_info.
* config/i386/i386sco4.mh (NATDEPFILES): Remove reference to
c_builtin_types in comment.
* c-lang.h (struct language_arch_info): Declare opaque.
(c_language_arch_info): Declare.
(c_builtin_types): Delete declaration.
* c-lang.c (c_language_arch_info): Set string_char_type to
builtin_char, not builtin_true_char. Make global.
(c_builtin_types): Delete array.
(asm_language_defn, minimal_language_defn): Replace
string_char_type and primitive_type_vector with
la_language_arch_info.
2004-07-28 Andrew Cagney <cagney@gnu.org> 2004-07-28 Andrew Cagney <cagney@gnu.org>
* gdbtypes.h (struct builtin_type): Rename true_char to * gdbtypes.h (struct builtin_type): Rename true_char to

View file

@ -513,28 +513,6 @@ const struct op_print c_op_print_tab[] =
{NULL, 0, 0, 0} {NULL, 0, 0, 0}
}; };
struct type **const (c_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 c_primitive_types { enum c_primitive_types {
c_primitive_type_int, c_primitive_type_int,
c_primitive_type_long, c_primitive_type_long,
@ -556,12 +534,12 @@ enum c_primitive_types {
nr_c_primitive_types nr_c_primitive_types
}; };
static void void
c_language_arch_info (struct gdbarch *gdbarch, c_language_arch_info (struct gdbarch *gdbarch,
struct language_arch_info *lai) struct language_arch_info *lai)
{ {
const struct builtin_type *builtin = builtin_type (gdbarch); const struct builtin_type *builtin = builtin_type (gdbarch);
lai->string_char_type = builtin->builtin_true_char; lai->string_char_type = builtin->builtin_char;
lai->primitive_type_vector lai->primitive_type_vector
= GDBARCH_OBSTACK_CALLOC (gdbarch, nr_c_primitive_types + 1, = GDBARCH_OBSTACK_CALLOC (gdbarch, nr_c_primitive_types + 1,
struct type *); struct type *);
@ -687,7 +665,7 @@ const struct language_defn asm_language_defn =
{ {
"asm", /* Language name */ "asm", /* Language name */
language_asm, language_asm,
c_builtin_types, NULL,
range_check_off, range_check_off,
type_check_off, type_check_off,
case_sensitive_on, case_sensitive_on,
@ -715,9 +693,9 @@ const struct language_defn asm_language_defn =
c_op_print_tab, /* expression operators for printing */ c_op_print_tab, /* expression operators for printing */
1, /* c-style arrays */ 1, /* c-style arrays */
0, /* String lower bound */ 0, /* String lower bound */
&builtin_type_char, /* Type of string elements */ NULL,
default_word_break_characters, default_word_break_characters,
NULL, /* FIXME: la_language_arch_info. */ c_language_arch_info, /* FIXME: la_language_arch_info. */
LANG_MAGIC LANG_MAGIC
}; };
@ -730,7 +708,7 @@ const struct language_defn minimal_language_defn =
{ {
"minimal", /* Language name */ "minimal", /* Language name */
language_minimal, language_minimal,
c_builtin_types, NULL,
range_check_off, range_check_off,
type_check_off, type_check_off,
case_sensitive_on, case_sensitive_on,
@ -758,9 +736,9 @@ const struct language_defn minimal_language_defn =
c_op_print_tab, /* expression operators for printing */ c_op_print_tab, /* expression operators for printing */
1, /* c-style arrays */ 1, /* c-style arrays */
0, /* String lower bound */ 0, /* String lower bound */
&builtin_type_char, /* Type of string elements */ NULL,
default_word_break_characters, default_word_break_characters,
NULL, /* FIXME: la_language_arch_info. */ c_language_arch_info,
LANG_MAGIC LANG_MAGIC
}; };

View file

@ -24,6 +24,7 @@
#define C_LANG_H 1 #define C_LANG_H 1
struct ui_file; struct ui_file;
struct language_arch_info;
#include "value.h" #include "value.h"
#include "macroexp.h" #include "macroexp.h"
@ -61,7 +62,8 @@ extern void *expression_macro_lookup_baton;
extern struct type *c_create_fundamental_type (struct objfile *, int); extern struct type *c_create_fundamental_type (struct objfile *, int);
extern struct type **const (c_builtin_types[]); extern void c_language_arch_info (struct gdbarch *gdbarch,
struct language_arch_info *lai);
/* These are in c-typeprint.c: */ /* These are in c-typeprint.c: */

View file

@ -7,5 +7,5 @@ NAT_FILE= nm-i386sco4.h
NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o core-aout.o i386v-nat.o NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o core-aout.o i386v-nat.o
# The cc compiler mishandles const in cases like # The cc compiler mishandles const in cases like
# struct type ** const (c_builtin_types[]) = # struct type ** const (array[]) =
MH_CFLAGS=-Dconst= MH_CFLAGS=-Dconst=

View file

@ -1084,7 +1084,7 @@ const struct language_defn java_language_defn =
{ {
"java", /* Language name */ "java", /* Language name */
language_java, language_java,
c_builtin_types, NULL,
range_check_off, range_check_off,
type_check_off, type_check_off,
case_sensitive_on, case_sensitive_on,
@ -1112,9 +1112,9 @@ const struct language_defn java_language_defn =
java_op_print_tab, /* expression operators for printing */ java_op_print_tab, /* expression operators for printing */
0, /* not c-style arrays */ 0, /* not c-style arrays */
0, /* String lower bound */ 0, /* String lower bound */
&builtin_type_char, /* Type of string elements */ NULL,
default_word_break_characters, default_word_break_characters,
NULL, /* FIXME: la_language_arch_info. */ c_language_arch_info,
LANG_MAGIC LANG_MAGIC
}; };

View file

@ -44,8 +44,6 @@ static void scm_printstr (struct ui_file * stream, char *string,
unsigned int length, int width, unsigned int length, int width,
int force_ellipses); int force_ellipses);
extern struct type **const (c_builtin_types[]);
struct type *builtin_type_scm; struct type *builtin_type_scm;
void void
@ -246,7 +244,7 @@ const struct language_defn scm_language_defn =
{ {
"scheme", /* Language name */ "scheme", /* Language name */
language_scm, language_scm,
c_builtin_types, NULL,
range_check_off, range_check_off,
type_check_off, type_check_off,
case_sensitive_off, case_sensitive_off,
@ -274,9 +272,9 @@ const struct language_defn scm_language_defn =
NULL, /* expression operators for printing */ NULL, /* expression operators for printing */
1, /* c-style arrays */ 1, /* c-style arrays */
0, /* String lower bound */ 0, /* String lower bound */
&builtin_type_char, /* Type of string elements */ NULL,
default_word_break_characters, default_word_break_characters,
NULL, /* FIXME: la_language_arch_info. */ c_language_arch_info,
LANG_MAGIC LANG_MAGIC
}; };