2002-08-01 Andrew Cagney <cagney@redhat.com>

* NEWS: Menion that CHILL has been made obsolete.

* gdbtypes.c (chill_varying_type): Make chill references obsolete.
* gdbserver/Makefile.in: Ditto.
* stabsread.c (read_range_type): Ditto.
* gdbtypes.h: Ditto.
* language.c (binop_type_check): Ditto.
(binop_result_type): Ditto.
(integral_type): Ditto.
(character_type): Ditto.
(string_type): Ditto.
(boolean_type): Ditto.
(structured_type): Ditto.
(lang_bool_type): Ditto.
(binop_type_check): Ditto.
* language.h (_LANG_chill): Ditto.
* dwarfread.c (set_cu_language): Ditto.
* dwarfread.c (CHILL_PRODUCER): Ditto.
* dwarfread.c (handle_producer): Ditto.
* expression.h (enum exp_opcode): Ditto.
* eval.c: Ditto for comments.
* typeprint.c (typedef_print) [_LANG_chill]: Ditto.
* expprint.c (print_subexp): Ditto.
(print_subexp): Ditto.
* valops.c (value_cast): Ditto.
(search_struct_field): Ditto.
* value.h (COERCE_VARYING_ARRAY): Ditto.
* symfile.c (init_filename_language_table): Ditto.
(add_psymbol_with_dem_name_to_list): Ditto.
* valarith.c (value_binop): Ditto.
(value_neg): Ditto.
* valops.c (value_slice): Ditto.
* symtab.h (union language_specific): Ditto.
(SYMBOL_INIT_LANGUAGE_SPECIFIC): Ditto.
(SYMBOL_DEMANGLED_NAME): Ditto.
(SYMBOL_CHILL_DEMANGLED_NAME): Ditto.
* defs.h (enum language): Ditto.
* symtab.c (got_symtab): Ditto.
* utils.c (fprintf_symbol_filtered): Ditto.

* ch-typeprint.c: Make file obsolete.
* ch-valprint.c: Make file obsolete.
* ch-lang.h: Make file obsolete.
* ch-exp.c: Make file obsolete.
* ch-lang.c: Make file obsolete.

* Makefile.in (FLAGS_TO_PASS): Do not pass CHILL or CHILLFLAGS or
CHILL_LIB.
(TARGET_FLAGS_TO_PASS): Ditto.
(CHILLFLAGS): Obsolete.
(CHILL): Obsolete.
(CHILL_FOR_TARGET): Obsolete.
(CHILL_LIB): Obsolete.
(SFILES): Remove ch-exp.c, ch-lang.c, ch-typeprint.c and
ch-valprint.c.
(HFILES_NO_SRCDIR): Remove ch-lang.h.
(COMMON_OBS): Remove ch-valprint.o, ch-typeprint.o, ch-exp.o and
ch-lang.o.
(ch-exp.o, ch-lang.o, ch-typeprint.o, ch-valprint.o): Delete
targets.

2002-08-01  Andrew Cagney  <cagney@redhat.com>

* stabs.texinfo, gdb.texinfo, gdbint.texinfo: Obsolete references
to CHILL.

2002-08-01  Andrew Cagney  <cagney@redhat.com>

* Makefile.in (TARGET_FLAGS_TO_PASS): Remove CHILLFLAGS, CHILL,
CHILL_FOR_TARGET and CHILL_LIB.
* configure.in (configdirs): Remove gdb.chill.
* configure: Regenerate.
* lib/gdb.exp: Obsolete references to chill.
* gdb.fortran/types.exp: Ditto.
* gdb.fortran/exprs.exp: Ditto.
This commit is contained in:
Andrew Cagney 2002-08-01 17:18:35 +00:00
parent e2b28d048d
commit db034ac512
38 changed files with 4803 additions and 4715 deletions

View File

@ -1,3 +1,66 @@
2002-08-01 Andrew Cagney <cagney@redhat.com>
* NEWS: Menion that CHILL has been made obsolete.
* gdbtypes.c (chill_varying_type): Make chill references obsolete.
* gdbserver/Makefile.in: Ditto.
* stabsread.c (read_range_type): Ditto.
* gdbtypes.h: Ditto.
* language.c (binop_type_check): Ditto.
(binop_result_type): Ditto.
(integral_type): Ditto.
(character_type): Ditto.
(string_type): Ditto.
(boolean_type): Ditto.
(structured_type): Ditto.
(lang_bool_type): Ditto.
(binop_type_check): Ditto.
* language.h (_LANG_chill): Ditto.
* dwarfread.c (set_cu_language): Ditto.
* dwarfread.c (CHILL_PRODUCER): Ditto.
* dwarfread.c (handle_producer): Ditto.
* expression.h (enum exp_opcode): Ditto.
* eval.c: Ditto for comments.
* typeprint.c (typedef_print) [_LANG_chill]: Ditto.
* expprint.c (print_subexp): Ditto.
(print_subexp): Ditto.
* valops.c (value_cast): Ditto.
(search_struct_field): Ditto.
* value.h (COERCE_VARYING_ARRAY): Ditto.
* symfile.c (init_filename_language_table): Ditto.
(add_psymbol_with_dem_name_to_list): Ditto.
* valarith.c (value_binop): Ditto.
(value_neg): Ditto.
* valops.c (value_slice): Ditto.
* symtab.h (union language_specific): Ditto.
(SYMBOL_INIT_LANGUAGE_SPECIFIC): Ditto.
(SYMBOL_DEMANGLED_NAME): Ditto.
(SYMBOL_CHILL_DEMANGLED_NAME): Ditto.
* defs.h (enum language): Ditto.
* symtab.c (got_symtab): Ditto.
* utils.c (fprintf_symbol_filtered): Ditto.
* ch-typeprint.c: Make file obsolete.
* ch-valprint.c: Make file obsolete.
* ch-lang.h: Make file obsolete.
* ch-exp.c: Make file obsolete.
* ch-lang.c: Make file obsolete.
* Makefile.in (FLAGS_TO_PASS): Do not pass CHILL or CHILLFLAGS or
CHILL_LIB.
(TARGET_FLAGS_TO_PASS): Ditto.
(CHILLFLAGS): Obsolete.
(CHILL): Obsolete.
(CHILL_FOR_TARGET): Obsolete.
(CHILL_LIB): Obsolete.
(SFILES): Remove ch-exp.c, ch-lang.c, ch-typeprint.c and
ch-valprint.c.
(HFILES_NO_SRCDIR): Remove ch-lang.h.
(COMMON_OBS): Remove ch-valprint.o, ch-typeprint.o, ch-exp.o and
ch-lang.o.
(ch-exp.o, ch-lang.o, ch-typeprint.o, ch-valprint.o): Delete
targets.
2002-07-31 Joel Brobecker <brobecker@gnat.com>
* dwarf2read.c (set_cu_language): Add handler for LANG_Ada95.

View File

@ -425,9 +425,6 @@ FLAGS_TO_PASS = \
"AR_FLAGS=$(AR_FLAGS)" \
"CC=$(CC)" \
"CFLAGS=$(CFLAGS)" \
"CHILLFLAGS=$(CHILLFLAGS)" \
"CHILL=$(CHILL)" \
"CHILL_LIB=$(CHILL_LIB)" \
"CXX=$(CXX)" \
"CXXFLAGS=$(CXXFLAGS)" \
"DLLTOOL=$(DLLTOOL)" \
@ -477,25 +474,25 @@ CXX_FOR_TARGET = ` \
fi; \
fi`
CHILLFLAGS = $(CFLAGS)
CHILL = gcc
CHILL_FOR_TARGET = ` \
if [ -f $${rootme}/../gcc/Makefile ] ; then \
echo $${rootme}/../gcc/xgcc -B$${rootme}/../gcc/ -L$${rootme}/../gcc/ch/runtime/; \
else \
if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
echo $(CC); \
else \
t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \
fi; \
fi`
CHILL_LIB = ` \
if [ -f $${rootme}/../gcc/ch/runtime/libchill.a ] ; then \
echo $${rootme}/../gcc/ch/runtime/chillrt0.o \
$${rootme}/../gcc/ch/runtime/libchill.a; \
else \
echo -lchill; \
fi`
# OBSOLETE CHILLFLAGS = $(CFLAGS)
# OBSOLETE CHILL = gcc
# OBSOLETE CHILL_FOR_TARGET = ` \
# OBSOLETE if [ -f $${rootme}/../gcc/Makefile ] ; then \
# OBSOLETE echo $${rootme}/../gcc/xgcc -B$${rootme}/../gcc/ -L$${rootme}/../gcc/ch/runtime/; \
# OBSOLETE else \
# OBSOLETE if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
# OBSOLETE echo $(CC); \
# OBSOLETE else \
# OBSOLETE t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \
# OBSOLETE fi; \
# OBSOLETE fi`
# OBSOLETE CHILL_LIB = ` \
# OBSOLETE if [ -f $${rootme}/../gcc/ch/runtime/libchill.a ] ; then \
# OBSOLETE echo $${rootme}/../gcc/ch/runtime/chillrt0.o \
# OBSOLETE $${rootme}/../gcc/ch/runtime/libchill.a; \
# OBSOLETE else \
# OBSOLETE echo -lchill; \
# OBSOLETE fi`
# The use of $$(x_FOR_TARGET) reduces the command line length by not
# duplicating the lengthy definition.
@ -506,10 +503,6 @@ TARGET_FLAGS_TO_PASS = \
'CC=$$(CC_FOR_TARGET)' \
"CC_FOR_TARGET=$(CC_FOR_TARGET)" \
"CFLAGS=$(CFLAGS)" \
"CHILLFLAGS=$(CHILLFLAGS)" \
'CHILL=$$(CHILL_FOR_TARGET)' \
"CHILL_FOR_TARGET=$(CHILL_FOR_TARGET)" \
"CHILL_LIB=$(CHILL_LIB)" \
'CXX=$$(CXX_FOR_TARGET)' \
"CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \
"CXXFLAGS=$(CXXFLAGS)" \
@ -527,7 +520,7 @@ TARGET_FLAGS_TO_PASS = \
SFILES = ax-general.c ax-gdb.c bcache.c blockframe.c breakpoint.c \
buildsym.c c-exp.y c-lang.c c-typeprint.c c-valprint.c \
ch-exp.c ch-lang.c ch-typeprint.c ch-valprint.c coffread.c \
coffread.c \
complaints.c completer.c corefile.c cp-valprint.c dbxread.c \
demangle.c dwarfread.c dwarf2read.c elfread.c environ.c eval.c \
event-loop.c event-top.c \
@ -697,7 +690,7 @@ HFILES_NO_SRCDIR = bcache.h buildsym.h call-cmds.h coff-solib.h defs.h \
objfiles.h parser-defs.h serial.h solib.h \
symfile.h stabsread.h target.h terminal.h typeprint.h xcoffsolib.h \
macrotab.h macroexp.h macroscope.h \
c-lang.h ch-lang.h f-lang.h \
c-lang.h f-lang.h \
jv-lang.h \
m2-lang.h p-lang.h \
complaints.h valprint.h \
@ -750,14 +743,14 @@ COMMON_OBS = version.o blockframe.o breakpoint.o findvar.o regcache.o \
exec.o bcache.o objfiles.o minsyms.o maint.o demangle.o \
dbxread.o coffread.o elfread.o \
dwarfread.o dwarf2read.o mipsread.o stabsread.o corefile.o \
c-lang.o ch-exp.o ch-lang.o f-lang.o \
c-lang.o f-lang.o \
ui-out.o cli-out.o \
varobj.o wrapper.o \
jv-lang.o jv-valprint.o jv-typeprint.o \
m2-lang.o p-lang.o p-typeprint.o p-valprint.o \
scm-exp.o scm-lang.o scm-valprint.o complaints.o typeprint.o \
c-typeprint.o ch-typeprint.o f-typeprint.o m2-typeprint.o \
c-valprint.o cp-valprint.o ch-valprint.o f-valprint.o m2-valprint.o \
c-typeprint.o f-typeprint.o m2-typeprint.o \
c-valprint.o cp-valprint.o f-valprint.o m2-valprint.o \
nlmread.o serial.o mdebugread.o top.o utils.o \
ui-file.o \
frame.o doublest.o \
@ -1212,7 +1205,7 @@ MAKEOVERRIDES=
## This is ugly, but I don't want GNU make to put these variables in
## the environment. Older makes will see this as a set of targets
## with no dependencies and no actions.
unexport CHILLFLAGS CHILL_LIB CHILL_FOR_TARGET :
# OBSOLETE unexport CHILLFLAGS CHILL_LIB CHILL_FOR_TARGET :
ALLDEPFILES = a68v-nat.c \
aix-thread.c \
@ -1367,19 +1360,19 @@ f-typeprint.o: f-typeprint.c $(defs_h) $(gdb_obstack_h) $(bfd_h) $(symtab_h) \
f-valprint.o: f-valprint.c $(defs_h) $(expression_h) $(gdbtypes_h) \
$(language_h) $(symtab_h) $(valprint_h) $(value_h) $(gdb_string_h)
ch-exp.o: ch-exp.c ch-lang.h $(defs_h) $(language_h) $(parser_defs_h) \
$(bfd_h) $(symfile_h) $(objfiles_h) $(value_h)
# OBSOLETE ch-exp.o: ch-exp.c ch-lang.h $(defs_h) $(language_h) $(parser_defs_h) \
# OBSOLETE $(bfd_h) $(symfile_h) $(objfiles_h) $(value_h)
ch-lang.o: ch-lang.c ch-lang.h $(defs_h) $(expression_h) $(gdbtypes_h) \
$(language_h) $(parser_defs_h) $(symtab_h)
# OBSOLETE ch-lang.o: ch-lang.c ch-lang.h $(defs_h) $(expression_h) $(gdbtypes_h) \
# OBSOLETE $(language_h) $(parser_defs_h) $(symtab_h)
ch-typeprint.o: ch-typeprint.c $(defs_h) $(gdb_obstack_h) $(bfd_h) \
$(symtab_h) $(gdbtypes_h) $(expression_h) $(value_h) $(gdbcore_h) \
$(target_h) $(language_h) $(ch_lang_h) $(typeprint_h) $(gdb_string_h)
# OBSOLETE ch-typeprint.o: ch-typeprint.c $(defs_h) $(gdb_obstack_h) $(bfd_h) \
# OBSOLETE $(symtab_h) $(gdbtypes_h) $(expression_h) $(value_h) $(gdbcore_h) \
# OBSOLETE $(target_h) $(language_h) $(ch_lang_h) $(typeprint_h) $(gdb_string_h)
ch-valprint.o: ch-valprint.c $(defs_h) $(gdb_obstack_h) $(symtab_h) \
$(gdbtypes_h) $(valprint_h) $(expression_h) $(value_h) $(language_h) \
$(demangle_h) $(c_lang_h) $(typeprint_h) $(ch_lang_h) $(annotate_h)
# OBSOLETE ch-valprint.o: ch-valprint.c $(defs_h) $(gdb_obstack_h) $(symtab_h) \
# OBSOLETE $(gdbtypes_h) $(valprint_h) $(expression_h) $(value_h) $(language_h) \
# OBSOLETE $(demangle_h) $(c_lang_h) $(typeprint_h) $(ch_lang_h) $(annotate_h)
coff-solib.o: coff-solib.c $(defs_h)

View File

@ -64,6 +64,10 @@ OS/9000 i[34]86-*-os9k
Fujitsu FR30 fr30-*-elf*
Motorola Delta 88000 running Sys V m88k-motorola-sysv or delta88
* OBSOLETE languages
CHILL, a Pascal like language used by telecommunications companies.
* REMOVED configurations and files
AMD 29k family via UDI a29k-amd-udi, udi29k

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,41 +1,41 @@
/* Chill language support definitions for GDB, the GNU debugger.
Copyright 1992, 1994, 1996, 1998, 1999, 2000
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 2 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, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* Forward decls for prototypes */
struct value;
extern int chill_parse (void); /* Defined in ch-exp.y */
extern void chill_error (char *); /* Defined in ch-exp.y */
/* Defined in ch-typeprint.c */
extern void chill_print_type (struct type *, char *, struct ui_file *, int,
int);
extern int chill_val_print (struct type *, char *, int, CORE_ADDR,
struct ui_file *, int, int, int,
enum val_prettyprint);
extern int chill_value_print (struct value *, struct ui_file *,
int, enum val_prettyprint);
extern LONGEST
type_lower_upper (enum exp_opcode, struct type *, struct type **);
// OBSOLETE /* Chill language support definitions for GDB, the GNU debugger.
// OBSOLETE Copyright 1992, 1994, 1996, 1998, 1999, 2000
// OBSOLETE Free Software Foundation, Inc.
// OBSOLETE
// OBSOLETE This file is part of GDB.
// OBSOLETE
// OBSOLETE This program is free software; you can redistribute it and/or modify
// OBSOLETE it under the terms of the GNU General Public License as published by
// OBSOLETE the Free Software Foundation; either version 2 of the License, or
// OBSOLETE (at your option) any later version.
// OBSOLETE
// OBSOLETE This program is distributed in the hope that it will be useful,
// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// OBSOLETE GNU General Public License for more details.
// OBSOLETE
// OBSOLETE You should have received a copy of the GNU General Public License
// OBSOLETE along with this program; if not, write to the Free Software
// OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330,
// OBSOLETE Boston, MA 02111-1307, USA. */
// OBSOLETE
// OBSOLETE /* Forward decls for prototypes */
// OBSOLETE struct value;
// OBSOLETE
// OBSOLETE extern int chill_parse (void); /* Defined in ch-exp.y */
// OBSOLETE
// OBSOLETE extern void chill_error (char *); /* Defined in ch-exp.y */
// OBSOLETE
// OBSOLETE /* Defined in ch-typeprint.c */
// OBSOLETE extern void chill_print_type (struct type *, char *, struct ui_file *, int,
// OBSOLETE int);
// OBSOLETE
// OBSOLETE extern int chill_val_print (struct type *, char *, int, CORE_ADDR,
// OBSOLETE struct ui_file *, int, int, int,
// OBSOLETE enum val_prettyprint);
// OBSOLETE
// OBSOLETE extern int chill_value_print (struct value *, struct ui_file *,
// OBSOLETE int, enum val_prettyprint);
// OBSOLETE
// OBSOLETE extern LONGEST
// OBSOLETE type_lower_upper (enum exp_opcode, struct type *, struct type **);

View File

@ -1,340 +1,340 @@
/* Support for printing Chill types for GDB, the GNU debugger.
Copyright 1986, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 2000
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 2 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, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include "defs.h"
#include "gdb_obstack.h"
#include "bfd.h" /* Binary File Description */
#include "symtab.h"
#include "gdbtypes.h"
#include "expression.h"
#include "value.h"
#include "gdbcore.h"
#include "target.h"
#include "language.h"
#include "ch-lang.h"
#include "typeprint.h"
#include "gdb_string.h"
#include <errno.h>
static void chill_type_print_base (struct type *, struct ui_file *, int, int);
void
chill_print_type (struct type *type, char *varstring, struct ui_file *stream,
int show, int level)
{
if (varstring != NULL && *varstring != '\0')
{
fputs_filtered (varstring, stream);
fputs_filtered (" ", stream);
}
chill_type_print_base (type, stream, show, level);
}
/* Print the name of the type (or the ultimate pointer target,
function value or array element).
SHOW nonzero means don't print this type as just its name;
show its real definition even if it has a name.
SHOW zero means print just typename or tag if there is one
SHOW negative means abbreviate structure elements.
SHOW is decremented for printing of structure elements.
LEVEL is the depth to indent by.
We increase it for some recursive calls. */
static void
chill_type_print_base (struct type *type, struct ui_file *stream, int show,
int level)
{
register int len;
register int i;
struct type *index_type;
struct type *range_type;
LONGEST low_bound;
LONGEST high_bound;
QUIT;
wrap_here (" ");
if (type == NULL)
{
fputs_filtered ("<type unknown>", stream);
return;
}
/* When SHOW is zero or less, and there is a valid type name, then always
just print the type name directly from the type. */
if ((show <= 0) && (TYPE_NAME (type) != NULL))
{
fputs_filtered (TYPE_NAME (type), stream);
return;
}
if (TYPE_CODE (type) != TYPE_CODE_TYPEDEF)
CHECK_TYPEDEF (type);
switch (TYPE_CODE (type))
{
case TYPE_CODE_TYPEDEF:
chill_type_print_base (TYPE_TARGET_TYPE (type), stream, 0, level);
break;
case TYPE_CODE_PTR:
if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_VOID)
{
fprintf_filtered (stream,
TYPE_NAME (type) ? TYPE_NAME (type) : "PTR");
break;
}
fprintf_filtered (stream, "REF ");
chill_type_print_base (TYPE_TARGET_TYPE (type), stream, 0, level);
break;
case TYPE_CODE_BOOL:
/* FIXME: we should probably just print the TYPE_NAME, in case
anyone ever fixes the compiler to give us the real names
in the presence of the chill equivalent of typedef (assuming
there is one). */
fprintf_filtered (stream,
TYPE_NAME (type) ? TYPE_NAME (type) : "BOOL");
break;
case TYPE_CODE_ARRAY:
fputs_filtered ("ARRAY (", stream);
range_type = TYPE_FIELD_TYPE (type, 0);
if (TYPE_CODE (range_type) != TYPE_CODE_RANGE)
chill_print_type (range_type, "", stream, 0, level);
else
{
index_type = TYPE_TARGET_TYPE (range_type);
low_bound = TYPE_FIELD_BITPOS (range_type, 0);
high_bound = TYPE_FIELD_BITPOS (range_type, 1);
print_type_scalar (index_type, low_bound, stream);
fputs_filtered (":", stream);
print_type_scalar (index_type, high_bound, stream);
}
fputs_filtered (") ", stream);
chill_print_type (TYPE_TARGET_TYPE (type), "", stream, 0, level);
break;
case TYPE_CODE_BITSTRING:
fprintf_filtered (stream, "BOOLS (%d)",
TYPE_FIELD_BITPOS (TYPE_FIELD_TYPE (type, 0), 1) + 1);
break;
case TYPE_CODE_SET:
fputs_filtered ("POWERSET ", stream);
chill_print_type (TYPE_INDEX_TYPE (type), "", stream,
show - 1, level);
break;
case TYPE_CODE_STRING:
range_type = TYPE_FIELD_TYPE (type, 0);
index_type = TYPE_TARGET_TYPE (range_type);
high_bound = TYPE_FIELD_BITPOS (range_type, 1);
fputs_filtered ("CHARS (", stream);
print_type_scalar (index_type, high_bound + 1, stream);
fputs_filtered (")", stream);
break;
case TYPE_CODE_MEMBER:
fprintf_filtered (stream, "MEMBER ");
chill_type_print_base (TYPE_TARGET_TYPE (type), stream, 0, level);
break;
case TYPE_CODE_REF:
fprintf_filtered (stream, "/*LOC*/ ");
chill_type_print_base (TYPE_TARGET_TYPE (type), stream, show, level);
break;
case TYPE_CODE_FUNC:
fprintf_filtered (stream, "PROC (");
len = TYPE_NFIELDS (type);
for (i = 0; i < len; i++)
{
struct type *param_type = TYPE_FIELD_TYPE (type, i);
if (i > 0)
{
fputs_filtered (", ", stream);
wrap_here (" ");
}
if (TYPE_CODE (param_type) == TYPE_CODE_REF)
{
chill_type_print_base (TYPE_TARGET_TYPE (param_type),
stream, 0, level);
fputs_filtered (" LOC", stream);
}
else
chill_type_print_base (param_type, stream, show, level);
}
fprintf_filtered (stream, ")");
if (TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_VOID)
{
fputs_filtered (" RETURNS (", stream);
chill_type_print_base (TYPE_TARGET_TYPE (type), stream, 0, level);
fputs_filtered (")", stream);
}
break;
case TYPE_CODE_STRUCT:
if (chill_varying_type (type))
{
chill_type_print_base (TYPE_FIELD_TYPE (type, 1),
stream, 0, level);
fputs_filtered (" VARYING", stream);
}
else
{
fprintf_filtered (stream, "STRUCT ");
fprintf_filtered (stream, "(\n");
if ((TYPE_NFIELDS (type) == 0) && (TYPE_NFN_FIELDS (type) == 0))
{
if (TYPE_STUB (type))
{
fprintfi_filtered (level + 4, stream, "<incomplete type>\n");
}
else
{
fprintfi_filtered (level + 4, stream, "<no data fields>\n");
}
}
else
{
len = TYPE_NFIELDS (type);
for (i = TYPE_N_BASECLASSES (type); i < len; i++)
{
struct type *field_type = TYPE_FIELD_TYPE (type, i);
QUIT;
print_spaces_filtered (level + 4, stream);
if (TYPE_CODE (field_type) == TYPE_CODE_UNION)
{
int j; /* variant number */
fputs_filtered ("CASE OF\n", stream);
for (j = 0; j < TYPE_NFIELDS (field_type); j++)
{
int k; /* variant field index */
struct type *variant_type
= TYPE_FIELD_TYPE (field_type, j);
int var_len = TYPE_NFIELDS (variant_type);
print_spaces_filtered (level + 4, stream);
if (strcmp (TYPE_FIELD_NAME (field_type, j),
"else") == 0)
fputs_filtered ("ELSE\n", stream);
else
fputs_filtered (":\n", stream);
if (TYPE_CODE (variant_type) != TYPE_CODE_STRUCT)
error ("variant record confusion");
for (k = 0; k < var_len; k++)
{
print_spaces_filtered (level + 8, stream);
chill_print_type (TYPE_FIELD_TYPE (variant_type, k),
TYPE_FIELD_NAME (variant_type, k),
stream, show - 1, level + 8);
if (k < (var_len - 1))
fputs_filtered (",", stream);
fputs_filtered ("\n", stream);
}
}
print_spaces_filtered (level + 4, stream);
fputs_filtered ("ESAC", stream);
}
else
chill_print_type (field_type,
TYPE_FIELD_NAME (type, i),
stream, show - 1, level + 4);
if (i < (len - 1))
{
fputs_filtered (",", stream);
}
fputs_filtered ("\n", stream);
}
}
fprintfi_filtered (level, stream, ")");
}
break;
case TYPE_CODE_RANGE:
{
struct type *target = TYPE_TARGET_TYPE (type);
if (target && TYPE_NAME (target))
fputs_filtered (TYPE_NAME (target), stream);
else
fputs_filtered ("RANGE", stream);
if (target == NULL)
target = builtin_type_long;
fputs_filtered (" (", stream);
print_type_scalar (target, TYPE_LOW_BOUND (type), stream);
fputs_filtered (":", stream);
print_type_scalar (target, TYPE_HIGH_BOUND (type), stream);
fputs_filtered (")", stream);
}
break;
case TYPE_CODE_ENUM:
{
register int lastval = 0;
fprintf_filtered (stream, "SET (");
len = TYPE_NFIELDS (type);
for (i = 0; i < len; i++)
{
QUIT;
if (i)
fprintf_filtered (stream, ", ");
wrap_here (" ");
fputs_filtered (TYPE_FIELD_NAME (type, i), stream);
if (lastval != TYPE_FIELD_BITPOS (type, i))
{
fprintf_filtered (stream, " = %d", TYPE_FIELD_BITPOS (type, i));
lastval = TYPE_FIELD_BITPOS (type, i);
}
lastval++;
}
fprintf_filtered (stream, ")");
}
break;
case TYPE_CODE_VOID:
case TYPE_CODE_UNDEF:
case TYPE_CODE_ERROR:
case TYPE_CODE_UNION:
case TYPE_CODE_METHOD:
error ("missing language support in chill_type_print_base");
break;
default:
/* Handle types not explicitly handled by the other cases,
such as fundamental types. For these, just print whatever
the type name is, as recorded in the type itself. If there
is no type name, then complain. */
if (TYPE_NAME (type) != NULL)
{
fputs_filtered (TYPE_NAME (type), stream);
}
else
{
error ("Unrecognized type code (%d) in symbol table.",
TYPE_CODE (type));
}
break;
}
}
// OBSOLETE /* Support for printing Chill types for GDB, the GNU debugger.
// OBSOLETE Copyright 1986, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 2000
// OBSOLETE Free Software Foundation, Inc.
// OBSOLETE
// OBSOLETE This file is part of GDB.
// OBSOLETE
// OBSOLETE This program is free software; you can redistribute it and/or modify
// OBSOLETE it under the terms of the GNU General Public License as published by
// OBSOLETE the Free Software Foundation; either version 2 of the License, or
// OBSOLETE (at your option) any later version.
// OBSOLETE
// OBSOLETE This program is distributed in the hope that it will be useful,
// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// OBSOLETE GNU General Public License for more details.
// OBSOLETE
// OBSOLETE You should have received a copy of the GNU General Public License
// OBSOLETE along with this program; if not, write to the Free Software
// OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330,
// OBSOLETE Boston, MA 02111-1307, USA. */
// OBSOLETE
// OBSOLETE #include "defs.h"
// OBSOLETE #include "gdb_obstack.h"
// OBSOLETE #include "bfd.h" /* Binary File Description */
// OBSOLETE #include "symtab.h"
// OBSOLETE #include "gdbtypes.h"
// OBSOLETE #include "expression.h"
// OBSOLETE #include "value.h"
// OBSOLETE #include "gdbcore.h"
// OBSOLETE #include "target.h"
// OBSOLETE #include "language.h"
// OBSOLETE #include "ch-lang.h"
// OBSOLETE #include "typeprint.h"
// OBSOLETE
// OBSOLETE #include "gdb_string.h"
// OBSOLETE #include <errno.h>
// OBSOLETE
// OBSOLETE static void chill_type_print_base (struct type *, struct ui_file *, int, int);
// OBSOLETE
// OBSOLETE void
// OBSOLETE chill_print_type (struct type *type, char *varstring, struct ui_file *stream,
// OBSOLETE int show, int level)
// OBSOLETE {
// OBSOLETE if (varstring != NULL && *varstring != '\0')
// OBSOLETE {
// OBSOLETE fputs_filtered (varstring, stream);
// OBSOLETE fputs_filtered (" ", stream);
// OBSOLETE }
// OBSOLETE chill_type_print_base (type, stream, show, level);
// OBSOLETE }
// OBSOLETE
// OBSOLETE /* Print the name of the type (or the ultimate pointer target,
// OBSOLETE function value or array element).
// OBSOLETE
// OBSOLETE SHOW nonzero means don't print this type as just its name;
// OBSOLETE show its real definition even if it has a name.
// OBSOLETE SHOW zero means print just typename or tag if there is one
// OBSOLETE SHOW negative means abbreviate structure elements.
// OBSOLETE SHOW is decremented for printing of structure elements.
// OBSOLETE
// OBSOLETE LEVEL is the depth to indent by.
// OBSOLETE We increase it for some recursive calls. */
// OBSOLETE
// OBSOLETE static void
// OBSOLETE chill_type_print_base (struct type *type, struct ui_file *stream, int show,
// OBSOLETE int level)
// OBSOLETE {
// OBSOLETE register int len;
// OBSOLETE register int i;
// OBSOLETE struct type *index_type;
// OBSOLETE struct type *range_type;
// OBSOLETE LONGEST low_bound;
// OBSOLETE LONGEST high_bound;
// OBSOLETE
// OBSOLETE QUIT;
// OBSOLETE
// OBSOLETE wrap_here (" ");
// OBSOLETE if (type == NULL)
// OBSOLETE {
// OBSOLETE fputs_filtered ("<type unknown>", stream);
// OBSOLETE return;
// OBSOLETE }
// OBSOLETE
// OBSOLETE /* When SHOW is zero or less, and there is a valid type name, then always
// OBSOLETE just print the type name directly from the type. */
// OBSOLETE
// OBSOLETE if ((show <= 0) && (TYPE_NAME (type) != NULL))
// OBSOLETE {
// OBSOLETE fputs_filtered (TYPE_NAME (type), stream);
// OBSOLETE return;
// OBSOLETE }
// OBSOLETE
// OBSOLETE if (TYPE_CODE (type) != TYPE_CODE_TYPEDEF)
// OBSOLETE CHECK_TYPEDEF (type);
// OBSOLETE
// OBSOLETE switch (TYPE_CODE (type))
// OBSOLETE {
// OBSOLETE case TYPE_CODE_TYPEDEF:
// OBSOLETE chill_type_print_base (TYPE_TARGET_TYPE (type), stream, 0, level);
// OBSOLETE break;
// OBSOLETE case TYPE_CODE_PTR:
// OBSOLETE if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_VOID)
// OBSOLETE {
// OBSOLETE fprintf_filtered (stream,
// OBSOLETE TYPE_NAME (type) ? TYPE_NAME (type) : "PTR");
// OBSOLETE break;
// OBSOLETE }
// OBSOLETE fprintf_filtered (stream, "REF ");
// OBSOLETE chill_type_print_base (TYPE_TARGET_TYPE (type), stream, 0, level);
// OBSOLETE break;
// OBSOLETE
// OBSOLETE case TYPE_CODE_BOOL:
// OBSOLETE /* FIXME: we should probably just print the TYPE_NAME, in case
// OBSOLETE anyone ever fixes the compiler to give us the real names
// OBSOLETE in the presence of the chill equivalent of typedef (assuming
// OBSOLETE there is one). */
// OBSOLETE fprintf_filtered (stream,
// OBSOLETE TYPE_NAME (type) ? TYPE_NAME (type) : "BOOL");
// OBSOLETE break;
// OBSOLETE
// OBSOLETE case TYPE_CODE_ARRAY:
// OBSOLETE fputs_filtered ("ARRAY (", stream);
// OBSOLETE range_type = TYPE_FIELD_TYPE (type, 0);
// OBSOLETE if (TYPE_CODE (range_type) != TYPE_CODE_RANGE)
// OBSOLETE chill_print_type (range_type, "", stream, 0, level);
// OBSOLETE else
// OBSOLETE {
// OBSOLETE index_type = TYPE_TARGET_TYPE (range_type);
// OBSOLETE low_bound = TYPE_FIELD_BITPOS (range_type, 0);
// OBSOLETE high_bound = TYPE_FIELD_BITPOS (range_type, 1);
// OBSOLETE print_type_scalar (index_type, low_bound, stream);
// OBSOLETE fputs_filtered (":", stream);
// OBSOLETE print_type_scalar (index_type, high_bound, stream);
// OBSOLETE }
// OBSOLETE fputs_filtered (") ", stream);
// OBSOLETE chill_print_type (TYPE_TARGET_TYPE (type), "", stream, 0, level);
// OBSOLETE break;
// OBSOLETE
// OBSOLETE case TYPE_CODE_BITSTRING:
// OBSOLETE fprintf_filtered (stream, "BOOLS (%d)",
// OBSOLETE TYPE_FIELD_BITPOS (TYPE_FIELD_TYPE (type, 0), 1) + 1);
// OBSOLETE break;
// OBSOLETE
// OBSOLETE case TYPE_CODE_SET:
// OBSOLETE fputs_filtered ("POWERSET ", stream);
// OBSOLETE chill_print_type (TYPE_INDEX_TYPE (type), "", stream,
// OBSOLETE show - 1, level);
// OBSOLETE break;
// OBSOLETE
// OBSOLETE case TYPE_CODE_STRING:
// OBSOLETE range_type = TYPE_FIELD_TYPE (type, 0);
// OBSOLETE index_type = TYPE_TARGET_TYPE (range_type);
// OBSOLETE high_bound = TYPE_FIELD_BITPOS (range_type, 1);
// OBSOLETE fputs_filtered ("CHARS (", stream);
// OBSOLETE print_type_scalar (index_type, high_bound + 1, stream);
// OBSOLETE fputs_filtered (")", stream);
// OBSOLETE break;
// OBSOLETE
// OBSOLETE case TYPE_CODE_MEMBER:
// OBSOLETE fprintf_filtered (stream, "MEMBER ");
// OBSOLETE chill_type_print_base (TYPE_TARGET_TYPE (type), stream, 0, level);
// OBSOLETE break;
// OBSOLETE case TYPE_CODE_REF:
// OBSOLETE fprintf_filtered (stream, "/*LOC*/ ");
// OBSOLETE chill_type_print_base (TYPE_TARGET_TYPE (type), stream, show, level);
// OBSOLETE break;
// OBSOLETE case TYPE_CODE_FUNC:
// OBSOLETE fprintf_filtered (stream, "PROC (");
// OBSOLETE len = TYPE_NFIELDS (type);
// OBSOLETE for (i = 0; i < len; i++)
// OBSOLETE {
// OBSOLETE struct type *param_type = TYPE_FIELD_TYPE (type, i);
// OBSOLETE if (i > 0)
// OBSOLETE {
// OBSOLETE fputs_filtered (", ", stream);
// OBSOLETE wrap_here (" ");
// OBSOLETE }
// OBSOLETE if (TYPE_CODE (param_type) == TYPE_CODE_REF)
// OBSOLETE {
// OBSOLETE chill_type_print_base (TYPE_TARGET_TYPE (param_type),
// OBSOLETE stream, 0, level);
// OBSOLETE fputs_filtered (" LOC", stream);
// OBSOLETE }
// OBSOLETE else
// OBSOLETE chill_type_print_base (param_type, stream, show, level);
// OBSOLETE }
// OBSOLETE fprintf_filtered (stream, ")");
// OBSOLETE if (TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_VOID)
// OBSOLETE {
// OBSOLETE fputs_filtered (" RETURNS (", stream);
// OBSOLETE chill_type_print_base (TYPE_TARGET_TYPE (type), stream, 0, level);
// OBSOLETE fputs_filtered (")", stream);
// OBSOLETE }
// OBSOLETE break;
// OBSOLETE
// OBSOLETE case TYPE_CODE_STRUCT:
// OBSOLETE if (chill_varying_type (type))
// OBSOLETE {
// OBSOLETE chill_type_print_base (TYPE_FIELD_TYPE (type, 1),
// OBSOLETE stream, 0, level);
// OBSOLETE fputs_filtered (" VARYING", stream);
// OBSOLETE }
// OBSOLETE else
// OBSOLETE {
// OBSOLETE fprintf_filtered (stream, "STRUCT ");
// OBSOLETE
// OBSOLETE fprintf_filtered (stream, "(\n");
// OBSOLETE if ((TYPE_NFIELDS (type) == 0) && (TYPE_NFN_FIELDS (type) == 0))
// OBSOLETE {
// OBSOLETE if (TYPE_STUB (type))
// OBSOLETE {
// OBSOLETE fprintfi_filtered (level + 4, stream, "<incomplete type>\n");
// OBSOLETE }
// OBSOLETE else
// OBSOLETE {
// OBSOLETE fprintfi_filtered (level + 4, stream, "<no data fields>\n");
// OBSOLETE }
// OBSOLETE }
// OBSOLETE else
// OBSOLETE {
// OBSOLETE len = TYPE_NFIELDS (type);
// OBSOLETE for (i = TYPE_N_BASECLASSES (type); i < len; i++)
// OBSOLETE {
// OBSOLETE struct type *field_type = TYPE_FIELD_TYPE (type, i);
// OBSOLETE QUIT;
// OBSOLETE print_spaces_filtered (level + 4, stream);
// OBSOLETE if (TYPE_CODE (field_type) == TYPE_CODE_UNION)
// OBSOLETE {
// OBSOLETE int j; /* variant number */
// OBSOLETE fputs_filtered ("CASE OF\n", stream);
// OBSOLETE for (j = 0; j < TYPE_NFIELDS (field_type); j++)
// OBSOLETE {
// OBSOLETE int k; /* variant field index */
// OBSOLETE struct type *variant_type
// OBSOLETE = TYPE_FIELD_TYPE (field_type, j);
// OBSOLETE int var_len = TYPE_NFIELDS (variant_type);
// OBSOLETE print_spaces_filtered (level + 4, stream);
// OBSOLETE if (strcmp (TYPE_FIELD_NAME (field_type, j),
// OBSOLETE "else") == 0)
// OBSOLETE fputs_filtered ("ELSE\n", stream);
// OBSOLETE else
// OBSOLETE fputs_filtered (":\n", stream);
// OBSOLETE if (TYPE_CODE (variant_type) != TYPE_CODE_STRUCT)
// OBSOLETE error ("variant record confusion");
// OBSOLETE for (k = 0; k < var_len; k++)
// OBSOLETE {
// OBSOLETE print_spaces_filtered (level + 8, stream);
// OBSOLETE chill_print_type (TYPE_FIELD_TYPE (variant_type, k),
// OBSOLETE TYPE_FIELD_NAME (variant_type, k),
// OBSOLETE stream, show - 1, level + 8);
// OBSOLETE if (k < (var_len - 1))
// OBSOLETE fputs_filtered (",", stream);
// OBSOLETE fputs_filtered ("\n", stream);
// OBSOLETE }
// OBSOLETE }
// OBSOLETE print_spaces_filtered (level + 4, stream);
// OBSOLETE fputs_filtered ("ESAC", stream);
// OBSOLETE }
// OBSOLETE else
// OBSOLETE chill_print_type (field_type,
// OBSOLETE TYPE_FIELD_NAME (type, i),
// OBSOLETE stream, show - 1, level + 4);
// OBSOLETE if (i < (len - 1))
// OBSOLETE {
// OBSOLETE fputs_filtered (",", stream);
// OBSOLETE }
// OBSOLETE fputs_filtered ("\n", stream);
// OBSOLETE }
// OBSOLETE }
// OBSOLETE fprintfi_filtered (level, stream, ")");
// OBSOLETE }
// OBSOLETE break;
// OBSOLETE
// OBSOLETE case TYPE_CODE_RANGE:
// OBSOLETE {
// OBSOLETE struct type *target = TYPE_TARGET_TYPE (type);
// OBSOLETE if (target && TYPE_NAME (target))
// OBSOLETE fputs_filtered (TYPE_NAME (target), stream);
// OBSOLETE else
// OBSOLETE fputs_filtered ("RANGE", stream);
// OBSOLETE if (target == NULL)
// OBSOLETE target = builtin_type_long;
// OBSOLETE fputs_filtered (" (", stream);
// OBSOLETE print_type_scalar (target, TYPE_LOW_BOUND (type), stream);
// OBSOLETE fputs_filtered (":", stream);
// OBSOLETE print_type_scalar (target, TYPE_HIGH_BOUND (type), stream);
// OBSOLETE fputs_filtered (")", stream);
// OBSOLETE }
// OBSOLETE break;
// OBSOLETE
// OBSOLETE case TYPE_CODE_ENUM:
// OBSOLETE {
// OBSOLETE register int lastval = 0;
// OBSOLETE fprintf_filtered (stream, "SET (");
// OBSOLETE len = TYPE_NFIELDS (type);
// OBSOLETE for (i = 0; i < len; i++)
// OBSOLETE {
// OBSOLETE QUIT;
// OBSOLETE if (i)
// OBSOLETE fprintf_filtered (stream, ", ");
// OBSOLETE wrap_here (" ");
// OBSOLETE fputs_filtered (TYPE_FIELD_NAME (type, i), stream);
// OBSOLETE if (lastval != TYPE_FIELD_BITPOS (type, i))
// OBSOLETE {
// OBSOLETE fprintf_filtered (stream, " = %d", TYPE_FIELD_BITPOS (type, i));
// OBSOLETE lastval = TYPE_FIELD_BITPOS (type, i);
// OBSOLETE }
// OBSOLETE lastval++;
// OBSOLETE }
// OBSOLETE fprintf_filtered (stream, ")");
// OBSOLETE }
// OBSOLETE break;
// OBSOLETE
// OBSOLETE case TYPE_CODE_VOID:
// OBSOLETE case TYPE_CODE_UNDEF:
// OBSOLETE case TYPE_CODE_ERROR:
// OBSOLETE case TYPE_CODE_UNION:
// OBSOLETE case TYPE_CODE_METHOD:
// OBSOLETE error ("missing language support in chill_type_print_base");
// OBSOLETE break;
// OBSOLETE
// OBSOLETE default:
// OBSOLETE
// OBSOLETE /* Handle types not explicitly handled by the other cases,
// OBSOLETE such as fundamental types. For these, just print whatever
// OBSOLETE the type name is, as recorded in the type itself. If there
// OBSOLETE is no type name, then complain. */
// OBSOLETE
// OBSOLETE if (TYPE_NAME (type) != NULL)
// OBSOLETE {
// OBSOLETE fputs_filtered (TYPE_NAME (type), stream);
// OBSOLETE }
// OBSOLETE else
// OBSOLETE {
// OBSOLETE error ("Unrecognized type code (%d) in symbol table.",
// OBSOLETE TYPE_CODE (type));
// OBSOLETE }
// OBSOLETE break;
// OBSOLETE }
// OBSOLETE }

File diff suppressed because it is too large Load Diff

View File

@ -209,7 +209,7 @@ enum language
language_c, /* C */
language_cplus, /* C++ */
language_java, /* Java */
language_chill, /* Chill */
/* OBSOLETE language_chill, */ /* Chill */
language_fortran, /* Fortran */
language_m2, /* Modula-2 */
language_asm, /* Assembly language */
@ -300,9 +300,9 @@ extern int inside_entry_file (CORE_ADDR addr);
extern int inside_main_func (CORE_ADDR pc);
/* From ch-lang.c, for the moment. (FIXME) */
/* OBSOLETE From ch-lang.c, for the moment. (FIXME) */
extern char *chill_demangle (const char *);
/* OBSOLETE extern char *chill_demangle (const char *); */
/* From utils.c */

View File

@ -1,3 +1,8 @@
2002-08-01 Andrew Cagney <cagney@redhat.com>
* stabs.texinfo, gdb.texinfo, gdbint.texinfo: Obsolete references
to CHILL.
2002-08-01 Andrew Cagney <ac131313@redhat.com>
* gdbint.texinfo (Coding): Revise section "Include Files".

File diff suppressed because it is too large Load Diff

View File

@ -1834,7 +1834,7 @@ The file @file{mdebugread.c} implements reading for this format.
DWARF 1 is a debugging format that was originally designed to be
used with ELF in SVR4 systems.
@c CHILL_PRODUCER
@c OBSOLETE CHILL_PRODUCER
@c GCC_PRODUCER
@c GPLUS_PRODUCER
@c LCC_PRODUCER

View File

@ -1754,7 +1754,8 @@ Pascal set type. @var{type-information} must be a small type such as an
enumeration or a subrange, and the type is a bitmask whose length is
specified by the number of elements in @var{type-information}.
In CHILL, if it is a bitstring instead of a set, also use the @samp{S}
In CHILL, @c OBSOLETE
if it is a bitstring instead of a set, also use the @samp{S}
type attribute (@pxref{String Field}).
@item * @var{type-information}
@ -1955,7 +1956,8 @@ string. I don't know the difference.
Pascal Stringptr. What is this? This is an AIX feature.
@end table
Languages, such as CHILL which have a string type which is basically
Languages, such as CHILL @c OBSOLETE
which have a string type which is basically
just an array of characters use the @samp{S} type attribute
(@pxref{String Field}).

View File

@ -186,9 +186,9 @@ typedef unsigned int DIE_REF; /* Reference to a DIE */
#define LCC_PRODUCER "NCR C/C++"
#endif
#ifndef CHILL_PRODUCER
#define CHILL_PRODUCER "GNU Chill "
#endif
/* OBSOLETE #ifndef CHILL_PRODUCER */
/* OBSOLETE #define CHILL_PRODUCER "GNU Chill " */
/* OBSOLETE #endif */
/* Flags to target_to_host() that tell whether or not the data object is
expected to be signed. Used, for example, when fetching a signed
@ -621,9 +621,9 @@ set_cu_language (struct dieinfo *dip)
case LANG_C_PLUS_PLUS:
cu_language = language_cplus;
break;
case LANG_CHILL:
cu_language = language_chill;
break;
/* OBSOLETE case LANG_CHILL: */
/* OBSOLETE cu_language = language_chill; */
/* OBSOLETE break; */
case LANG_MODULA2:
cu_language = language_m2;
break;
@ -1822,8 +1822,8 @@ handle_producer (char *producer)
else
{
processing_gcc_compilation =
STREQN (producer, GPLUS_PRODUCER, strlen (GPLUS_PRODUCER))
|| STREQN (producer, CHILL_PRODUCER, strlen (CHILL_PRODUCER));
STREQN (producer, GPLUS_PRODUCER, strlen (GPLUS_PRODUCER));
/* OBSOLETE || STREQN (producer, CHILL_PRODUCER, strlen (CHILL_PRODUCER)); */
}
/* Select a demangling style if we can identify the producer and if

View File

@ -186,8 +186,8 @@ get_label (register struct expression *exp, int *pos)
return NULL;
}
/* This function evaluates tuples (in Chill) or brace-initializers
(in C/C++) for structure types. */
/* This function evaluates tuples (in (OBSOLETE) Chill) or
brace-initializers (in C/C++) for structure types. */
static struct value *
evaluate_struct_tuple (struct value *struct_val,
@ -325,13 +325,11 @@ evaluate_struct_tuple (struct value *struct_val,
return struct_val;
}
/* Recursive helper function for setting elements of array tuples for Chill.
The target is ARRAY (which has bounds LOW_BOUND to HIGH_BOUND);
the element value is ELEMENT;
EXP, POS and NOSIDE are as usual.
Evaluates index expresions and sets the specified element(s) of
ARRAY to ELEMENT.
Returns last index value. */
/* Recursive helper function for setting elements of array tuples for
(OBSOLETE) Chill. The target is ARRAY (which has bounds LOW_BOUND
to HIGH_BOUND); the element value is ELEMENT; EXP, POS and NOSIDE
are as usual. Evaluates index expresions and sets the specified
element(s) of ARRAY to ELEMENT. Returns last index value. */
static LONGEST
init_array_element (struct value *array, struct value *element,

View File

@ -217,8 +217,9 @@ print_subexp (register struct expression *exp, register int *pos,
}
else
{
int is_chill = exp->language_defn->la_language == language_chill;
fputs_filtered (is_chill ? " [" : " {", stream);
/* OBSOLETE int is_chill = exp->language_defn->la_language == language_chill; */
/* OBSOLETE fputs_filtered (is_chill ? " [" : " {", stream); */
fputs_filtered (" {", stream);
for (tem = 0; tem < nargs; tem++)
{
if (tem != 0)
@ -227,7 +228,8 @@ print_subexp (register struct expression *exp, register int *pos,
}
print_subexp (exp, pos, stream, PREC_ABOVE_COMMA);
}
fputs_filtered (is_chill ? "]" : "}", stream);
/* OBSOLETE fputs_filtered (is_chill ? "]" : "}", stream); */
fputs_filtered ("}", stream);
}
return;
@ -235,15 +237,17 @@ print_subexp (register struct expression *exp, register int *pos,
tem = longest_to_int (exp->elts[pc + 1].longconst);
(*pos) += 3 + BYTES_TO_EXP_ELEM (tem + 1);
if (exp->language_defn->la_language == language_chill)
{
fputs_filtered (".", stream);
fputs_filtered (&exp->elts[pc + 2].string, stream);
fputs_filtered (exp->elts[*pos].opcode == OP_LABELED ? ", "
: ": ",
stream);
}
else
#if 0
if (0 /* OBSOLETE exp->language_defn->la_language == language_chill */)
{ /* OBSOLETE */
fputs_filtered (".", stream); /* OBSOLETE */
fputs_filtered (&exp->elts[pc + 2].string, stream); /* OBSOLETE */
fputs_filtered (exp->elts[*pos].opcode == OP_LABELED ? ", " /* OBSOLETE */
: ": ", /* OBSOLETE */
stream); /* OBSOLETE */
} /* OBSOLETE */
else /* OBSOLETE */
#endif
{
/* Gcc support both these syntaxes. Unsure which is preferred. */
#if 1

View File

@ -109,10 +109,11 @@ enum exp_opcode
the second operand with itself that many times. */
BINOP_CONCAT,
/* For Chill and Pascal. */
/* For (OBSOLETE) Chill (OBSOLETE) and Pascal. */
BINOP_IN, /* Returns 1 iff ARG1 IN ARG2. */
/* This is the "colon operator" used various places in Chill. */
/* This is the "colon operator" used various places in (OBSOLETE)
Chill (OBSOLETE). */
BINOP_RANGE,
/* This must be the highest BINOP_ value, for expprint.c. */
@ -121,12 +122,13 @@ enum exp_opcode
/* Operates on three values computed by following subexpressions. */
TERNOP_COND, /* ?: */
/* A sub-string/sub-array. Chill syntax: OP1(OP2:OP3).
Return elements OP2 through OP3 of OP1. */
/* A sub-string/sub-array. (OBSOLETE) Chill (OBSOLETE) syntax:
OP1(OP2:OP3). Return elements OP2 through OP3 of OP1. */
TERNOP_SLICE,
/* A sub-string/sub-array. Chill syntax: OP1(OP2 UP OP3).
Return OP3 elements of OP1, starting with element OP2. */
/* A sub-string/sub-array. (OBSOLETE) Chill (OBSOLETE) syntax:
OP1(OP2 UP OP3). Return OP3 elements of OP1, starting with
element OP2. */
TERNOP_SLICE_COUNT,
/* Multidimensional subscript operator, such as Modula-2 x[a,b,...].
@ -251,7 +253,7 @@ enum exp_opcode
UNOP_ODD,
UNOP_TRUNC,
/* Chill builtin functions. */
/* (OBSOLETE) Chill (OBSOLETE) builtin functions. */
UNOP_LOWER, UNOP_UPPER, UNOP_LENGTH, UNOP_CARD, UNOP_CHMAX, UNOP_CHMIN,
OP_BOOL, /* Modula-2 builtin BOOLEAN type */
@ -281,12 +283,15 @@ enum exp_opcode
a string, which, of course, is variable length. */
OP_SCOPE,
/* Used to represent named structure field values in brace initializers
(or tuples as they are called in Chill).
The gcc C syntax is NAME:VALUE or .NAME=VALUE, the Chill syntax is
.NAME:VALUE. Multiple labels (as in the Chill syntax
.NAME1,.NAME2:VALUE) is represented as if it were
.NAME1:(.NAME2:VALUE) (though that is not valid Chill syntax).
/* Used to represent named structure field values in brace
initializers (or tuples as they are called in (OBSOLETE) Chill
(OBSOLETE)).
The gcc C syntax is NAME:VALUE or .NAME=VALUE, the (OBSOLETE)
Chill (OBSOLETE) syntax is .NAME:VALUE. Multiple labels (as in
the (OBSOLETE) Chill (OBSOLETE) syntax .NAME1,.NAME2:VALUE) is
represented as if it were .NAME1:(.NAME2:VALUE) (though that is
not valid (OBSOLETE) Chill (OBSOLETE) syntax).
The NAME is represented as for STRUCTOP_STRUCT; VALUE follows. */
OP_LABELED,

View File

@ -230,7 +230,7 @@ MAKEOVERRIDES=
## This is ugly, but I don't want GNU make to put these variables in
## the environment. Older makes will see this as a set of targets
## with no dependencies and no actions.
unexport CHILLFLAGS CHILL_LIB CHILL_FOR_TARGET :
# OBSOLETE unexport CHILLFLAGS CHILL_LIB CHILL_FOR_TARGET :
gdb_proc_service_h = $(srcdir)/../gdb_proc_service.h $(srcdir)/../gregset.h
regdat_sh = $(srcdir)/../regformats/regdat.sh

View File

@ -1888,21 +1888,23 @@ is_integral_type (struct type *t)
|| (TYPE_CODE (t) == TYPE_CODE_BOOL)));
}
/* Chill varying string and arrays are represented as follows:
/* (OBSOLETE) Chill (OBSOLETE) varying string and arrays are
represented as follows:
struct { int __var_length; ELEMENT_TYPE[MAX_SIZE] __var_data};
Return true if TYPE is such a Chill varying type. */
Return true if TYPE is such a (OBSOLETE) Chill (OBSOLETE) varying
type. */
int
chill_varying_type (struct type *type)
{
if (TYPE_CODE (type) != TYPE_CODE_STRUCT
|| TYPE_NFIELDS (type) != 2
|| strcmp (TYPE_FIELD_NAME (type, 0), "__var_length") != 0)
return 0;
return 1;
}
/* OBSOLETE int */
/* OBSOLETE chill_varying_type (struct type *type) */
/* OBSOLETE { */
/* OBSOLETE if (TYPE_CODE (type) != TYPE_CODE_STRUCT */
/* OBSOLETE || TYPE_NFIELDS (type) != 2 */
/* OBSOLETE || strcmp (TYPE_FIELD_NAME (type, 0), "__var_length") != 0) */
/* OBSOLETE return 0; */
/* OBSOLETE return 1; */
/* OBSOLETE } */
/* Check whether BASE is an ancestor or base class or DCLASS
Return 1 if so, and 0 if not.

View File

@ -101,13 +101,14 @@ enum type_code
TYPE_CODE_RANGE, /* Range (integers within spec'd bounds) */
/* A string type which is like an array of character but prints
differently (at least for CHILL). It does not contain a length
field as Pascal strings (for many Pascals, anyway) do; if we want
to deal with such strings, we should use a new type code. */
differently (at least for (OBSOLETE) CHILL (OBSOLETE)). It
does not contain a length field as Pascal strings (for many
Pascals, anyway) do; if we want to deal with such strings, we
should use a new type code. */
TYPE_CODE_STRING,
/* String of bits; like TYPE_CODE_SET but prints differently (at least
for CHILL). */
/* String of bits; like TYPE_CODE_SET but prints differently (at
least for (OBSOLETE) CHILL (OBSOLETE)). */
TYPE_CODE_BITSTRING,
/* Unknown type. The length field is valid if we were able to
@ -994,13 +995,13 @@ extern struct type *builtin_type_m2_card;
extern struct type *builtin_type_m2_real;
extern struct type *builtin_type_m2_bool;
/* Chill types */
/* OBSOLETE Chill types */
extern struct type *builtin_type_chill_bool;
extern struct type *builtin_type_chill_char;
extern struct type *builtin_type_chill_long;
extern struct type *builtin_type_chill_ulong;
extern struct type *builtin_type_chill_real;
/* OBSOLETE extern struct type *builtin_type_chill_bool; */
/* OBSOLETE extern struct type *builtin_type_chill_char; */
/* OBSOLETE extern struct type *builtin_type_chill_long; */
/* OBSOLETE extern struct type *builtin_type_chill_ulong; */
/* OBSOLETE extern struct type *builtin_type_chill_real; */
/* Fortran (F77) types */
@ -1109,7 +1110,7 @@ extern struct type *create_string_type (struct type *, struct type *);
extern struct type *create_set_type (struct type *, struct type *);
extern int chill_varying_type (struct type *);
/* OBSOLETE extern int chill_varying_type (struct type *); */
extern struct type *lookup_unsigned_typename (char *);

View File

@ -567,8 +567,8 @@ binop_result_type (struct value *v1, struct value *v2)
not needed. */
return l1 > l2 ? VALUE_TYPE (v1) : VALUE_TYPE (v2);
break;
case language_chill:
error ("Missing Chill support in function binop_result_check."); /*FIXME */
/* OBSOLETE case language_chill: */
/* OBSOLETE error ("Missing Chill support in function binop_result_check."); */ /*FIXME */
}
internal_error (__FILE__, __LINE__, "failed internal consistency check");
return (struct type *) 0; /* For lint */
@ -791,8 +791,8 @@ integral_type (struct type *type)
case language_m2:
case language_pascal:
return TYPE_CODE (type) != TYPE_CODE_INT ? 0 : 1;
case language_chill:
error ("Missing Chill support in function integral_type."); /*FIXME */
/* OBSOLETE case language_chill: */
/* OBSOLETE error ("Missing Chill support in function integral_type."); *//*FIXME */
default:
error ("Language not supported.");
}
@ -821,7 +821,7 @@ character_type (struct type *type)
CHECK_TYPEDEF (type);
switch (current_language->la_language)
{
case language_chill:
/* OBSOLETE case language_chill: */
case language_m2:
case language_pascal:
return TYPE_CODE (type) != TYPE_CODE_CHAR ? 0 : 1;
@ -843,7 +843,7 @@ string_type (struct type *type)
CHECK_TYPEDEF (type);
switch (current_language->la_language)
{
case language_chill:
/* OBSOLETE case language_chill: */
case language_m2:
case language_pascal:
return TYPE_CODE (type) != TYPE_CODE_STRING ? 0 : 1;
@ -868,8 +868,9 @@ boolean_type (struct type *type)
{
case language_c:
case language_cplus:
/* Might be more cleanly handled by having a TYPE_CODE_INT_NOT_BOOL
for CHILL and such languages, or a TYPE_CODE_INT_OR_BOOL for C. */
/* Might be more cleanly handled by having a
TYPE_CODE_INT_NOT_BOOL for (OBSOLETE) CHILL and such
languages, or a TYPE_CODE_INT_OR_BOOL for C. */
if (TYPE_CODE (type) == TYPE_CODE_INT)
return 1;
default:
@ -915,8 +916,8 @@ structured_type (struct type *type)
return (TYPE_CODE (type) == TYPE_CODE_STRUCT) ||
(TYPE_CODE (type) == TYPE_CODE_SET) ||
(TYPE_CODE (type) == TYPE_CODE_ARRAY);
case language_chill:
error ("Missing Chill support in function structured_type."); /*FIXME */
/* OBSOLETE case language_chill: */
/* OBSOLETE error ("Missing Chill support in function structured_type."); *//*FIXME */
default:
return (0);
}
@ -930,8 +931,10 @@ lang_bool_type (void)
struct type *type;
switch (current_language->la_language)
{
case language_chill:
return builtin_type_chill_bool;
#if 0
/* OBSOLETE case language_chill: */
/* OBSOLETE return builtin_type_chill_bool; */
#endif
case language_fortran:
sym = lookup_symbol ("logical", NULL, VAR_NAMESPACE, NULL, NULL);
if (sym)
@ -1161,9 +1164,9 @@ binop_type_check (struct value *arg1, struct value *arg2, int op)
}
#endif
#ifdef _LANG_chill
case language_chill:
error ("Missing Chill support in function binop_type_check."); /*FIXME */
#ifdef _LANG_chill /* OBSOLETE */
/* OBSOLETE case language_chill: */
/* OBSOLETE error ("Missing Chill support in function binop_type_check."); *//*FIXME */
#endif
}

View File

@ -35,7 +35,7 @@ struct expression;
/* #include "lang_def.h" */
#define _LANG_c
#define _LANG_m2
#define _LANG_chill
/* OBSOLETE #define _LANG_chill */
#define _LANG_fortran
#define _LANG_pascal

View File

@ -3739,8 +3739,9 @@ read_struct_fields (struct field_info *fip, char **pp, struct type *type,
}
if (p[0] == ':' && p[1] == ':')
{
/* chill the list of fields: the last entry (at the head) is a
partially constructed entry which we now scrub. */
/* (OBSOLETE) chill (OBSOLETE) the list of fields: the last
entry (at the head) is a partially constructed entry which we
now scrub. */
fip->list = fip->list->next;
}
return 1;
@ -4889,9 +4890,11 @@ read_range_type (char **pp, int typenums[2], struct objfile *objfile)
else if (self_subrange && n2 == 0 && n3 == 127)
return init_type (TYPE_CODE_INT, 1, 0, NULL, objfile);
else if (current_symbol && SYMBOL_LANGUAGE (current_symbol) == language_chill
&& !self_subrange)
goto handle_true_range;
#if 0
/* OBSOLETE else if (current_symbol && SYMBOL_LANGUAGE (current_symbol) == language_chill */
/* OBSOLETE && !self_subrange) */
/* OBSOLETE goto handle_true_range; */
#endif
/* We used to do this only for subrange of self or subrange of int. */
else if (n2 == 0)

View File

@ -1963,9 +1963,9 @@ init_filename_language_table (void)
add_filename_language (".c++", language_cplus);
add_filename_language (".java", language_java);
add_filename_language (".class", language_java);
add_filename_language (".ch", language_chill);
add_filename_language (".c186", language_chill);
add_filename_language (".c286", language_chill);
/* OBSOLETE add_filename_language (".ch", language_chill); */
/* OBSOLETE add_filename_language (".c186", language_chill); */
/* OBSOLETE add_filename_language (".c286", language_chill); */
add_filename_language (".f", language_fortran);
add_filename_language (".F", language_fortran);
add_filename_language (".s", language_asm);
@ -2443,9 +2443,9 @@ add_psymbol_with_dem_name_to_list (char *name, int namelength, char *dem_name,
SYMBOL_CPLUS_DEMANGLED_NAME (&psymbol) =
bcache (buf, dem_namelength + 1, objfile->psymbol_cache);
break;
case language_chill:
SYMBOL_CHILL_DEMANGLED_NAME (&psymbol) =
bcache (buf, dem_namelength + 1, objfile->psymbol_cache);
/* OBSOLETE case language_chill: */
/* OBSOLETE SYMBOL_CHILL_DEMANGLED_NAME (&psymbol) = */
/* OBSOLETE bcache (buf, dem_namelength + 1, objfile->psymbol_cache); */
/* FIXME What should be done for the default case? Ignoring for now. */
}

View File

@ -438,24 +438,26 @@ symbol_init_demangled_name (struct general_symbol_info *gsymbol,
gsymbol->language_specific.cplus_specific.demangled_name = NULL;
}
}
if (demangled == NULL
&& (gsymbol->language == language_chill
|| gsymbol->language == language_auto))
{
demangled =
chill_demangle (gsymbol->name);
if (demangled != NULL)
{
gsymbol->language = language_chill;
gsymbol->language_specific.chill_specific.demangled_name =
obsavestring (demangled, strlen (demangled), obstack);
xfree (demangled);
}
else
{
gsymbol->language_specific.chill_specific.demangled_name = NULL;
}
}
#if 0
/* OBSOLETE if (demangled == NULL */
/* OBSOLETE && (gsymbol->language == language_chill */
/* OBSOLETE || gsymbol->language == language_auto)) */
/* OBSOLETE { */
/* OBSOLETE demangled = */
/* OBSOLETE chill_demangle (gsymbol->name); */
/* OBSOLETE if (demangled != NULL) */
/* OBSOLETE { */
/* OBSOLETE gsymbol->language = language_chill; */
/* OBSOLETE gsymbol->language_specific.chill_specific.demangled_name = */
/* OBSOLETE obsavestring (demangled, strlen (demangled), obstack); */
/* OBSOLETE xfree (demangled); */
/* OBSOLETE } */
/* OBSOLETE else */
/* OBSOLETE { */
/* OBSOLETE gsymbol->language_specific.chill_specific.demangled_name = NULL; */
/* OBSOLETE } */
/* OBSOLETE } */
#endif
}

View File

@ -89,11 +89,13 @@ struct general_symbol_info
char *demangled_name;
}
cplus_specific;
struct chill_specific /* For Chill */
{
char *demangled_name;
}
chill_specific;
#if 0
/* OBSOLETE struct chill_specific *//* For Chill */
/* OBSOLETE { */
/* OBSOLETE char *demangled_name; */
/* OBSOLETE } */
/* OBSOLETE chill_specific; */
#endif
}
language_specific;
@ -144,10 +146,10 @@ extern CORE_ADDR symbol_overlayed_address (CORE_ADDR, asection *);
{ \
SYMBOL_CPLUS_DEMANGLED_NAME (symbol) = NULL; \
} \
else if (SYMBOL_LANGUAGE (symbol) == language_chill) \
{ \
SYMBOL_CHILL_DEMANGLED_NAME (symbol) = NULL; \
} \
/* OBSOLETE else if (SYMBOL_LANGUAGE (symbol) == language_chill) */ \
/* OBSOLETE { */ \
/* OBSOLETE SYMBOL_CHILL_DEMANGLED_NAME (symbol) = NULL; */ \
/* OBSOLETE } */ \
else \
{ \
memset (&(symbol)->ginfo.language_specific, 0, \
@ -168,12 +170,12 @@ extern void symbol_init_demangled_name (struct general_symbol_info *symbol,
(SYMBOL_LANGUAGE (symbol) == language_cplus \
|| SYMBOL_LANGUAGE (symbol) == language_java \
? SYMBOL_CPLUS_DEMANGLED_NAME (symbol) \
: (SYMBOL_LANGUAGE (symbol) == language_chill \
? SYMBOL_CHILL_DEMANGLED_NAME (symbol) \
: NULL))
: /* OBSOLETE (SYMBOL_LANGUAGE (symbol) == language_chill */ \
/* OBSOLETE ? SYMBOL_CHILL_DEMANGLED_NAME (symbol) */ \
NULL)
#define SYMBOL_CHILL_DEMANGLED_NAME(symbol) \
(symbol)->ginfo.language_specific.chill_specific.demangled_name
/* OBSOLETE #define SYMBOL_CHILL_DEMANGLED_NAME(symbol) */
/* OBSOLETE (symbol)->ginfo.language_specific.chill_specific.demangled_name */
/* Macro that returns the "natural source name" of a symbol. In C++ this is
the "demangled" form of the name if demangle is on and the "mangled" form

View File

@ -1,3 +1,13 @@
2002-08-01 Andrew Cagney <cagney@redhat.com>
* Makefile.in (TARGET_FLAGS_TO_PASS): Remove CHILLFLAGS, CHILL,
CHILL_FOR_TARGET and CHILL_LIB.
* configure.in (configdirs): Remove gdb.chill.
* configure: Regenerate.
* lib/gdb.exp: Obsolete references to chill.
* gdb.fortran/types.exp: Ditto.
* gdb.fortran/exprs.exp: Ditto.
2002-07-30 Kevin Buettner <kevinb@redhat.com>
* gdb.base/shlib-call.exp (additional_flags): Conditionally

View File

@ -67,10 +67,6 @@ TARGET_FLAGS_TO_PASS = \
'CC=$$(CC_FOR_TARGET)' \
"CC_FOR_TARGET=$(CC_FOR_TARGET)" \
"CFLAGS=$(TESTSUITE_CFLAGS)" \
"CHILLFLAGS=$(CHILLFLAGS)" \
'CHILL=$$(CHILL_FOR_TARGET)' \
"CHILL_FOR_TARGET=$(CHILL_FOR_TARGET)" \
"CHILL_LIB=$(CHILL_LIB)" \
'CXX=$$(CXX_FOR_TARGET)' \
"CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \
"CXXFLAGS=$(CXXFLAGS)" \

View File

@ -32,7 +32,6 @@ program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
sitefile=
srcdir=
target=NONE
verbose=
@ -147,7 +146,6 @@ Configuration:
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
--site-file=FILE use FILE as the site file
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
@ -318,11 +316,6 @@ EOF
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
-site-file | --site-file | --site-fil | --site-fi | --site-f)
ac_prev=sitefile ;;
-site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
sitefile="$ac_optarg" ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
@ -488,16 +481,12 @@ fi
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
# Prefer explicitly selected file to automatically selected ones.
if test -z "$sitefile"; then
if test -z "$CONFIG_SITE"; then
if test "x$prefix" != xNONE; then
CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
else
CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
if test -z "$CONFIG_SITE"; then
if test "x$prefix" != xNONE; then
CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
else
CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
else
CONFIG_SITE="$sitefile"
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
@ -586,7 +575,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
echo "configure:590: checking host system type" >&5
echo "configure:579: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@ -607,7 +596,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
echo "configure:611: checking target system type" >&5
echo "configure:600: checking target system type" >&5
target_alias=$target
case "$target_alias" in
@ -625,7 +614,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
echo "configure:629: checking build system type" >&5
echo "configure:618: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@ -655,7 +644,6 @@ configdirs="gdb.arch \
gdb.c++ \
gdb.java \
gdb.disasm \
gdb.chill \
gdb.mi \
gdb.threads \
gdb.trace"
@ -750,12 +738,12 @@ fi
# End stuff to support --enable-shared
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
echo "configure:754: checking for Cygwin environment" >&5
echo "configure:742: checking for Cygwin environment" >&5
if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 759 "configure"
#line 747 "configure"
#include "confdefs.h"
int main() {
@ -766,7 +754,7 @@ int main() {
return __CYGWIN__;
; return 0; }
EOF
if { (eval echo configure:770: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:758: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cygwin=yes
else
@ -783,19 +771,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
CYGWIN=
test "$ac_cv_cygwin" = yes && CYGWIN=yes
echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
echo "configure:787: checking for mingw32 environment" >&5
echo "configure:775: checking for mingw32 environment" >&5
if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 792 "configure"
#line 780 "configure"
#include "confdefs.h"
int main() {
return __MINGW32__;
; return 0; }
EOF
if { (eval echo configure:799: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:787: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_mingw32=yes
else
@ -814,7 +802,7 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
echo "configure:818: checking for executable suffix" >&5
echo "configure:806: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -824,10 +812,10 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
if { (eval echo configure:828: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
if { (eval echo configure:816: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
*.c | *.o | *.obj | *.ilk | *.pdb) ;;
*.c | *.o | *.obj) ;;
*) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
esac
done

View File

@ -19,7 +19,6 @@ configdirs="gdb.arch \
gdb.c++ \
gdb.java \
gdb.disasm \
gdb.chill \
gdb.mi \
gdb.threads \
gdb.trace"

View File

@ -17,7 +17,7 @@
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
# This file was adapted from Chill tests by Stan Shebs (shebs@cygnus.com).
# This file was adapted from (OBSOLETE) Chill tests by Stan Shebs (shebs@cygnus.com).
if $tracelevel then {
strace $tracelevel

View File

@ -17,7 +17,7 @@
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
# This file was adapted from Chill tests by Stan Shebs (shebs@cygnus.com).
# This file was adapted from (OBSOLETE) Chill tests by Stan Shebs (shebs@cygnus.com).
if $tracelevel then {
strace $tracelevel

View File

@ -27,17 +27,17 @@
load_lib libgloss.exp
global GDB
global CHILL_LIB
global CHILL_RT0
# OBSOLETE global CHILL_LIB
# OBSOLETE global CHILL_RT0
if ![info exists CHILL_LIB] {
set CHILL_LIB [findfile $base_dir/../../gcc/ch/runtime/libchill.a "$base_dir/../../gcc/ch/runtime/libchill.a" [transform -lchill]]
}
verbose "using CHILL_LIB = $CHILL_LIB" 2
if ![info exists CHILL_RT0] {
set CHILL_RT0 [findfile $base_dir/../../gcc/ch/runtime/chillrt0.o "$base_dir/../../gcc/ch/runtime/chillrt0.o" ""]
}
verbose "using CHILL_RT0 = $CHILL_RT0" 2
# OBSOLETE if ![info exists CHILL_LIB] {
# OBSOLETE set CHILL_LIB [findfile $base_dir/../../gcc/ch/runtime/libchill.a "$base_dir/../../gcc/ch/runtime/libchill.a" [transform -lchill]]
# OBSOLETE }
# OBSOLETE verbose "using CHILL_LIB = $CHILL_LIB" 2
# OBSOLETE if ![info exists CHILL_RT0] {
# OBSOLETE set CHILL_RT0 [findfile $base_dir/../../gcc/ch/runtime/chillrt0.o "$base_dir/../../gcc/ch/runtime/chillrt0.o" ""]
# OBSOLETE }
# OBSOLETE verbose "using CHILL_RT0 = $CHILL_RT0" 2
if [info exists TOOL_EXECUTABLE] {
set GDB $TOOL_EXECUTABLE;
@ -920,25 +920,25 @@ proc skip_cplus_tests {} {
return 0
}
# * For crosses, the CHILL runtime doesn't build because it can't find
# setjmp.h, stdio.h, etc.
# * For AIX (as of 16 Mar 95), (a) there is no language code for
# CHILL in output_epilog in gcc/config/rs6000/rs6000.c, (b) collect2
# does not get along with AIX's too-clever linker.
# * On Irix5, there is a bug whereby set of bool, etc., don't get
# TYPE_LOW_BOUND for the bool right because force_to_range_type doesn't
# work with stub types.
# Lots of things seem to fail on the PA, and since it's not a supported
# chill target at the moment, don't run the chill tests.
# OBSOLETE # * For crosses, the CHILL runtime doesn't build because it
# OBSOLETE # can't find setjmp.h, stdio.h, etc.
# OBSOLETE # * For AIX (as of 16 Mar 95), (a) there is no language code for
# OBSOLETE # CHILL in output_epilog in gcc/config/rs6000/rs6000.c, (b) collect2
# OBSOLETE # does not get along with AIX's too-clever linker.
# OBSOLETE # * On Irix5, there is a bug whereby set of bool, etc., don't get
# OBSOLETE # TYPE_LOW_BOUND for the bool right because force_to_range_type doesn't
# OBSOLETE # work with stub types.
# OBSOLETE # Lots of things seem to fail on the PA, and since it's not a supported
# OBSOLETE # chill target at the moment, don't run the chill tests.
proc skip_chill_tests {} {
if ![info exists do_chill_tests] {
return 1;
}
eval set skip_chill [expr ![isnative] || [istarget "*-*-aix*"] || [istarget "*-*-irix5*"] || [istarget "*-*-irix6*"] || [istarget "alpha-*-osf*"] || [istarget "hppa*-*-*"]]
verbose "Skip chill tests is $skip_chill"
return $skip_chill
}
# OBSOLETE proc skip_chill_tests {} {
# OBSOLETE if ![info exists do_chill_tests] {
# OBSOLETE return 1;
# OBSOLETE }
# OBSOLETE eval set skip_chill [expr ![isnative] || [istarget "*-*-aix*"] || [istarget "*-*-irix5*"] || [istarget "*-*-irix6*"] || [istarget "alpha-*-osf*"] || [istarget "hppa*-*-*"]]
# OBSOLETE verbose "Skip chill tests is $skip_chill"
# OBSOLETE return $skip_chill
# OBSOLETE }
# Skip all the tests in the file if you are not on an hppa running
# hpux target.

View File

@ -88,16 +88,16 @@ typedef_print (struct type *type, struct symbol *new, struct ui_file *stream)
type_print (type, "", stream, 0);
break;
#endif
#ifdef _LANG_chill
case language_chill:
fprintf_filtered (stream, "SYNMODE ");
if (!TYPE_NAME (SYMBOL_TYPE (new)) ||
!STREQ (TYPE_NAME (SYMBOL_TYPE (new)), SYMBOL_NAME (new)))
fprintf_filtered (stream, "%s = ", SYMBOL_SOURCE_NAME (new));
else
fprintf_filtered (stream, "<builtin> = ");
type_print (type, "", stream, 0);
break;
#ifdef _LANG_chill /* OBSOLETE */
/* OBSOLETE case language_chill: */
/* OBSOLETE fprintf_filtered (stream, "SYNMODE "); */
/* OBSOLETE if (!TYPE_NAME (SYMBOL_TYPE (new)) || */
/* OBSOLETE !STREQ (TYPE_NAME (SYMBOL_TYPE (new)), SYMBOL_NAME (new))) */
/* OBSOLETE fprintf_filtered (stream, "%s = ", SYMBOL_SOURCE_NAME (new)); */
/* OBSOLETE else */
/* OBSOLETE fprintf_filtered (stream, "<builtin> = "); */
/* OBSOLETE type_print (type, "", stream, 0); */
/* OBSOLETE break; */
#endif
default:
error ("Language not supported.");

View File

@ -2153,9 +2153,11 @@ fprintf_symbol_filtered (struct ui_file *stream, char *name, enum language lang,
case language_java:
demangled = cplus_demangle (name, arg_mode | DMGL_JAVA);
break;
case language_chill:
demangled = chill_demangle (name);
break;
#if 0
/* OBSOLETE case language_chill: */
/* OBSOLETE demangled = chill_demangle (name); */
/* OBSOLETE break; */
#endif
default:
demangled = NULL;
break;

View File

@ -859,7 +859,7 @@ value_binop (struct value *arg1, struct value *arg2, enum exp_opcode op)
/* Integral operations here. */
/* FIXME: Also mixed integral/booleans, with result an integer. */
/* FIXME: This implements ANSI C rules (also correct for C++).
What about FORTRAN and chill? */
What about FORTRAN and (OBSOLETE) chill ? */
{
unsigned int promoted_len1 = TYPE_LENGTH (type1);
unsigned int promoted_len2 = TYPE_LENGTH (type2);
@ -946,12 +946,12 @@ value_binop (struct value *arg1, struct value *arg2, enum exp_opcode op)
case BINOP_MOD:
/* Knuth 1.2.4, integer only. Note that unlike the C '%' op,
v1 mod 0 has a defined value, v1. */
/* Chill specifies that v2 must be > 0, so check for that. */
if (current_language->la_language == language_chill
&& value_as_long (arg2) <= 0)
{
error ("Second operand of MOD must be greater than zero.");
}
/* OBSOLETE Chill specifies that v2 must be > 0, so check for that. */
/* OBSOLETE if (current_language->la_language == language_chill */
/* OBSOLETE && value_as_long (arg2) <= 0) */
/* OBSOLETE { */
/* OBSOLETE error ("Second operand of MOD must be greater than zero."); */
/* OBSOLETE } */
if (v2 == 0)
{
v = v1;
@ -1070,12 +1070,12 @@ value_binop (struct value *arg1, struct value *arg2, enum exp_opcode op)
case BINOP_MOD:
/* Knuth 1.2.4, integer only. Note that unlike the C '%' op,
X mod 0 has a defined value, X. */
/* Chill specifies that v2 must be > 0, so check for that. */
if (current_language->la_language == language_chill
&& v2 <= 0)
{
error ("Second operand of MOD must be greater than zero.");
}
/* OBSOLETE Chill specifies that v2 must be > 0, so check for that. */
/* OBSOLETE if (current_language->la_language == language_chill */
/* OBSOLETE && v2 <= 0) */
/* OBSOLETE { */
/* OBSOLETE error ("Second operand of MOD must be greater than zero."); */
/* OBSOLETE } */
if (v2 == 0)
{
v = v1;
@ -1338,8 +1338,8 @@ value_neg (struct value *arg1)
return value_from_double (result_type, -value_as_double (arg1));
else if (TYPE_CODE (type) == TYPE_CODE_INT || TYPE_CODE (type) == TYPE_CODE_BOOL)
{
/* Perform integral promotion for ANSI C/C++.
FIXME: What about FORTRAN and chill ? */
/* Perform integral promotion for ANSI C/C++. FIXME: What about
FORTRAN and (OBSOLETE) chill ? */
if (TYPE_LENGTH (type) < TYPE_LENGTH (builtin_type_int))
result_type = builtin_type_int;

View File

@ -383,49 +383,49 @@ value_cast (struct type *type, struct value *arg2)
VALUE_POINTED_TO_OFFSET (arg2) = 0; /* pai: chk_val */
return arg2;
}
else if (chill_varying_type (type))
{
struct type *range1, *range2, *eltype1, *eltype2;
struct value *val;
int count1, count2;
LONGEST low_bound, high_bound;
char *valaddr, *valaddr_data;
/* For lint warning about eltype2 possibly uninitialized: */
eltype2 = NULL;
if (code2 == TYPE_CODE_BITSTRING)
error ("not implemented: converting bitstring to varying type");
if ((code2 != TYPE_CODE_ARRAY && code2 != TYPE_CODE_STRING)
|| (eltype1 = check_typedef (TYPE_TARGET_TYPE (TYPE_FIELD_TYPE (type, 1))),
eltype2 = check_typedef (TYPE_TARGET_TYPE (type2)),
(TYPE_LENGTH (eltype1) != TYPE_LENGTH (eltype2)
/* || TYPE_CODE (eltype1) != TYPE_CODE (eltype2) */ )))
error ("Invalid conversion to varying type");
range1 = TYPE_FIELD_TYPE (TYPE_FIELD_TYPE (type, 1), 0);
range2 = TYPE_FIELD_TYPE (type2, 0);
if (get_discrete_bounds (range1, &low_bound, &high_bound) < 0)
count1 = -1;
else
count1 = high_bound - low_bound + 1;
if (get_discrete_bounds (range2, &low_bound, &high_bound) < 0)
count1 = -1, count2 = 0; /* To force error before */
else
count2 = high_bound - low_bound + 1;
if (count2 > count1)
error ("target varying type is too small");
val = allocate_value (type);
valaddr = VALUE_CONTENTS_RAW (val);
valaddr_data = valaddr + TYPE_FIELD_BITPOS (type, 1) / 8;
/* Set val's __var_length field to count2. */
store_signed_integer (valaddr, TYPE_LENGTH (TYPE_FIELD_TYPE (type, 0)),
count2);
/* Set the __var_data field to count2 elements copied from arg2. */
memcpy (valaddr_data, VALUE_CONTENTS (arg2),
count2 * TYPE_LENGTH (eltype2));
/* Zero the rest of the __var_data field of val. */
memset (valaddr_data + count2 * TYPE_LENGTH (eltype2), '\0',
(count1 - count2) * TYPE_LENGTH (eltype2));
return val;
}
/* OBSOLETE else if (chill_varying_type (type)) */
/* OBSOLETE { */
/* OBSOLETE struct type *range1, *range2, *eltype1, *eltype2; */
/* OBSOLETE struct value *val; */
/* OBSOLETE int count1, count2; */
/* OBSOLETE LONGEST low_bound, high_bound; */
/* OBSOLETE char *valaddr, *valaddr_data; */
/* OBSOLETE *//* For lint warning about eltype2 possibly uninitialized: */
/* OBSOLETE eltype2 = NULL; */
/* OBSOLETE if (code2 == TYPE_CODE_BITSTRING) */
/* OBSOLETE error ("not implemented: converting bitstring to varying type"); */
/* OBSOLETE if ((code2 != TYPE_CODE_ARRAY && code2 != TYPE_CODE_STRING) */
/* OBSOLETE || (eltype1 = check_typedef (TYPE_TARGET_TYPE (TYPE_FIELD_TYPE (type, 1))), */
/* OBSOLETE eltype2 = check_typedef (TYPE_TARGET_TYPE (type2)), */
/* OBSOLETE (TYPE_LENGTH (eltype1) != TYPE_LENGTH (eltype2) */
/* OBSOLETE *//*|| TYPE_CODE (eltype1) != TYPE_CODE (eltype2) *//* ))) */
/* OBSOLETE error ("Invalid conversion to varying type"); */
/* OBSOLETE range1 = TYPE_FIELD_TYPE (TYPE_FIELD_TYPE (type, 1), 0); */
/* OBSOLETE range2 = TYPE_FIELD_TYPE (type2, 0); */
/* OBSOLETE if (get_discrete_bounds (range1, &low_bound, &high_bound) < 0) */
/* OBSOLETE count1 = -1; */
/* OBSOLETE else */
/* OBSOLETE count1 = high_bound - low_bound + 1; */
/* OBSOLETE if (get_discrete_bounds (range2, &low_bound, &high_bound) < 0) */
/* OBSOLETE count1 = -1, count2 = 0; *//* To force error before */
/* OBSOLETE else */
/* OBSOLETE count2 = high_bound - low_bound + 1; */
/* OBSOLETE if (count2 > count1) */
/* OBSOLETE error ("target varying type is too small"); */
/* OBSOLETE val = allocate_value (type); */
/* OBSOLETE valaddr = VALUE_CONTENTS_RAW (val); */
/* OBSOLETE valaddr_data = valaddr + TYPE_FIELD_BITPOS (type, 1) / 8; */
/* OBSOLETE *//* Set val's __var_length field to count2. */
/* OBSOLETE store_signed_integer (valaddr, TYPE_LENGTH (TYPE_FIELD_TYPE (type, 0)), */
/* OBSOLETE count2); */
/* OBSOLETE *//* Set the __var_data field to count2 elements copied from arg2. */
/* OBSOLETE memcpy (valaddr_data, VALUE_CONTENTS (arg2), */
/* OBSOLETE count2 * TYPE_LENGTH (eltype2)); */
/* OBSOLETE *//* Zero the rest of the __var_data field of val. */
/* OBSOLETE memset (valaddr_data + count2 * TYPE_LENGTH (eltype2), '\0', */
/* OBSOLETE (count1 - count2) * TYPE_LENGTH (eltype2)); */
/* OBSOLETE return val; */
/* OBSOLETE } */
else if (VALUE_LVAL (arg2) == lval_memory)
{
return value_at_lazy (type, VALUE_ADDRESS (arg2) + VALUE_OFFSET (arg2),
@ -2074,20 +2074,22 @@ search_struct_field (char *name, struct value *arg1, int offset,
/* Look for a match through the fields of an anonymous union,
or anonymous struct. C++ provides anonymous unions.
In the GNU Chill implementation of variant record types,
each <alternative field> has an (anonymous) union type,
each member of the union represents a <variant alternative>.
Each <variant alternative> is represented as a struct,
with a member for each <variant field>. */
In the GNU Chill (OBSOLETE) implementation of
variant record types, each <alternative field> has
an (anonymous) union type, each member of the union
represents a <variant alternative>. Each <variant
alternative> is represented as a struct, with a
member for each <variant field>. */
struct value *v;
int new_offset = offset;
/* This is pretty gross. In G++, the offset in an anonymous
union is relative to the beginning of the enclosing struct.
In the GNU Chill implementation of variant records,
the bitpos is zero in an anonymous union field, so we
have to add the offset of the union here. */
/* This is pretty gross. In G++, the offset in an
anonymous union is relative to the beginning of the
enclosing struct. In the GNU Chill (OBSOLETE)
implementation of variant records, the bitpos is
zero in an anonymous union field, so we have to add
the offset of the union here. */
if (TYPE_CODE (field_type) == TYPE_CODE_STRUCT
|| (TYPE_NFIELDS (field_type) > 0
&& TYPE_FIELD_BITPOS (field_type, 0) == 0))
@ -3310,10 +3312,10 @@ value_slice (struct value *array, int lowbound, int length)
if (get_discrete_bounds (range_type, &lowerbound, &upperbound) < 0)
error ("slice from bad array or bitstring");
if (lowbound < lowerbound || length < 0
|| lowbound + length - 1 > upperbound
/* Chill allows zero-length strings but not arrays. */
|| (current_language->la_language == language_chill
&& length == 0 && TYPE_CODE (array_type) == TYPE_CODE_ARRAY))
|| lowbound + length - 1 > upperbound)
/* OBSOLETE Chill allows zero-length strings but not arrays. */
/* OBSOLETE || (current_language->la_language == language_chill */
/* OBSOLETE && length == 0 && TYPE_CODE (array_type) == TYPE_CODE_ARRAY)) */
error ("slice out of range");
/* FIXME-type-allocation: need a way to free this type when we are
done with it. */
@ -3369,8 +3371,8 @@ value_slice (struct value *array, int lowbound, int length)
return slice;
}
/* Assuming chill_varying_type (VARRAY) is true, return an equivalent
value as a fixed-length array. */
/* Assuming OBSOLETE chill_varying_type (VARRAY) is true, return an
equivalent value as a fixed-length array. */
struct value *
varying_to_slice (struct value *varray)

View File

@ -242,8 +242,8 @@ do { COERCE_REF(arg); \
do { COERCE_ARRAY(arg); COERCE_ENUM(arg); } while (0)
#define COERCE_VARYING_ARRAY(arg, real_arg_type) \
{ if (chill_varying_type (real_arg_type)) \
arg = varying_to_slice (arg), real_arg_type = VALUE_TYPE (arg); }
/* OBSOLETE { if (chill_varying_type (real_arg_type)) */ \
/* OBSOLETE arg = varying_to_slice (arg), real_arg_type = VALUE_TYPE (arg); } */
/* If ARG is an enum, convert it to an integer. */