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>
* 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}
};
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 {
c_primitive_type_int,
c_primitive_type_long,
@ -556,12 +534,12 @@ enum c_primitive_types {
nr_c_primitive_types
};
static void
void
c_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_true_char;
lai->string_char_type = builtin->builtin_char;
lai->primitive_type_vector
= GDBARCH_OBSTACK_CALLOC (gdbarch, nr_c_primitive_types + 1,
struct type *);
@ -687,7 +665,7 @@ const struct language_defn asm_language_defn =
{
"asm", /* Language name */
language_asm,
c_builtin_types,
NULL,
range_check_off,
type_check_off,
case_sensitive_on,
@ -715,9 +693,9 @@ const struct language_defn asm_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. */
c_language_arch_info, /* FIXME: la_language_arch_info. */
LANG_MAGIC
};
@ -730,7 +708,7 @@ const struct language_defn minimal_language_defn =
{
"minimal", /* Language name */
language_minimal,
c_builtin_types,
NULL,
range_check_off,
type_check_off,
case_sensitive_on,
@ -758,9 +736,9 @@ const struct language_defn minimal_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. */
c_language_arch_info,
LANG_MAGIC
};

View file

@ -24,6 +24,7 @@
#define C_LANG_H 1
struct ui_file;
struct language_arch_info;
#include "value.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 **const (c_builtin_types[]);
extern void c_language_arch_info (struct gdbarch *gdbarch,
struct language_arch_info *lai);
/* 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
# The cc compiler mishandles const in cases like
# struct type ** const (c_builtin_types[]) =
# struct type ** const (array[]) =
MH_CFLAGS=-Dconst=

View file

@ -1084,7 +1084,7 @@ const struct language_defn java_language_defn =
{
"java", /* Language name */
language_java,
c_builtin_types,
NULL,
range_check_off,
type_check_off,
case_sensitive_on,
@ -1112,9 +1112,9 @@ const struct language_defn java_language_defn =
java_op_print_tab, /* expression operators for printing */
0, /* not 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,
LANG_MAGIC
};

View file

@ -44,8 +44,6 @@ static void scm_printstr (struct ui_file * stream, char *string,
unsigned int length, int width,
int force_ellipses);
extern struct type **const (c_builtin_types[]);
struct type *builtin_type_scm;
void
@ -246,7 +244,7 @@ const struct language_defn scm_language_defn =
{
"scheme", /* Language name */
language_scm,
c_builtin_types,
NULL,
range_check_off,
type_check_off,
case_sensitive_off,
@ -274,9 +272,9 @@ const struct language_defn scm_language_defn =
NULL, /* 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,
LANG_MAGIC
};