First cut at sanitizing away the chill stuff.

This commit is contained in:
Fred Fish 1992-11-16 19:25:35 +00:00
parent 45a655b0b6
commit 19cfe25d90
7 changed files with 101 additions and 35 deletions

View File

@ -15,6 +15,10 @@
Do-first:
if ( echo $* | grep keep\-chill > /dev/null ) ; then
keep_these_too="ch-exp.y"
fi
# All files listed between the "Things-to-keep:" line and the
# "Files-to-sed:" line will be kept. All other files will be removed.
# Directories listed in this section will have their own Sanitize
@ -52,7 +56,6 @@ buildsym.c
buildsym.h
c-exp.y
call-cmds.h
ch-exp.y
coffread.c
command.c
command.h
@ -358,4 +361,41 @@ xm-vaxult.h
Do-last:
echo Thawing away the \"chill\"...
# Don't try to clean directories here, as the 'mv' command will fail.
# Also, grep fails on NFS mounted directories.
if ( echo $* | grep keep\-chill > /dev/null ) ; then
for i in * ; do
if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then
echo Keeping chill stuff in $i
fi
done
else
for i in * ; do
if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then
echo Thawing the \"chill\" out of $i...
cp $i new
sed '/start\-sanitize\-chill/,/end-\sanitize\-chill/d' < $i > new
if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
echo Caching $i in .Recover...
mv $i .Recover
fi
mv new $i
fi
done
echo Thawing the \"chill\" out of Makefile.in...
cp Makefile.in new
sed -e 's/\$\{srcdir\}/ch-exp.y//g' \
-e 's/ch-exp.y//g' \
-e 's/ch-exp.tab.c//g' \
-e 's/ch-exp.tab.o//g' \
' < Makefile.in > new
if [ -n "${safe}" -a ! -f .Recover/Makefile.in ] ; then
echo Caching Makefile.in in .Recover...
mv Makefile.in .Recover
fi
mv new Makefile.in
fi
# End of file.

View File

@ -3,18 +3,9 @@ Sun Nov 15 09:22:09 1992 Fred Fish (fnf@cygnus.com)
* Makefile.in (VERSION): Bump to 4.7.2
* symtab.c (find_pc_symtab): Fix return of random value
to caller.
* Makefile.in (SFILES_MAINDIR): Add ch-exp.y.
* Makefile.in (YYFILES): Add ch-exp.tab.c.
* Makefile.in (YYOBJ): Add ch-exp.tab.o.
* Makefile.in (saber_gdb): Add unload of ch-exp.y and load
of ch-exp.tab.c.
* Makefile.in (distclean): Add target ch-exp.tab.c.
* Makefile.in (realclean): Add rm of ch-exp.tab.c.
* Makefile.in (c-exp.tab.c, m2-exp.tab.c): Add dependency on
Makefile since it contains sed patterns used in generation.
Add sed pattern to also delete #include of any malloc.h.
* Makefile.in (ch-exp.tab.o, ch-exp.tab.c): New targets.
* ch-exp.y: New expression parser, for GNU-Chill.
* c-exp.y, expr.c, expression.h, language.c, m2-exp.y,
parser-defs.h, valarith.c, valops.c, value.h: Remap macros and
function names to conform to K&R terminology with respect to
@ -35,36 +26,47 @@ Sun Nov 15 09:22:09 1992 Fred Fish (fnf@cygnus.com)
value_lognot() => value_complement()
* c-exp.y (c_op_print_tab): Add explicit empty terminator.
* m2-exp.y (m2_op_print_tab): Add explicit empty terminator.
* defs.h (enum language): Add language_chill.
* dwarfread.c (set_cu_language): Add LANG_CHILL case and make
LANG_MODULA2 a recognized language.
* eval.c (evaluate_subexp): Add OP_BOOL case.
* expprint.c (print_subexp): Add OP_BOOL case.
* gdbtypes.h (enum_typecode): Note TYPE_CODE_BOOL used for
Chill as well as Modula-2.
* gdbtypes.y (builtin_type_chill_bool, builtin_type_chill_long,
builtin_type_chill_ulong, builtin_type_chill_real): Add.
* i387-tdep.c (sys/dir.h): Remove, appears to be unnecessary
and is nonexistant in some SVR4 based systems.
* language.c (DEFAULT_ALLOCSIZE): Change from 3 => 4.
* language.c (set_language_command): Add chill.
* language.c (binop_result_type, integral_type, character_type,
boolean_type, structured_type, value_true, binop_type_check):
Add language_chill cases.
* language.h (_LANG_chill): Define.
* m2-exp.y (number_sign, modblock): Make static, #ifdef out
unused modblock.
* m2-exp.y (ANDAND): Rename to LOGICAL_AND.
* source.c (source_info): Fix minor nits, print "1 line" rather
than "1 lines", and "language is <lang>".
* symfile.c (deduce_language_from_filename): Recognize the
filename extensions ".chill", ".c186", and ".c286" for Chill.
* valarith.c (value_binop): Handle TYPE_CODE_BOOL as well
as TYPE_CODE_INT and TYPE_CODE_FLOAT.
* valprint.c (val_print): Print TYPE_CODE_BOOL type values as
"TRUE" or "FALSE".
* valprint.c (typedef_print): Add case for language_chill.
* values.c (value_from_longest): Handle TYPE_CODE_BOOL.
**** start-sanitize-chill ****
* ch-exp.y: New expression parser, for GNU-Chill.
* defs.h (enum language): Add language_chill.
* dwarfread.c (set_cu_language): Add LANG_CHILL case and make
LANG_MODULA2 a recognized language.
* gdbtypes.h (enum_typecode): Note TYPE_CODE_BOOL used for
Chill as well as Modula-2.
* gdbtypes.y (builtin_type_chill_bool, builtin_type_chill_long,
builtin_type_chill_ulong, builtin_type_chill_real): Add.
* language.c (set_language_command): Add chill.
* language.c (binop_result_type, integral_type, character_type,
boolean_type, structured_type, value_true, binop_type_check):
Add language_chill cases.
* language.h (_LANG_chill): Define.
* symfile.c (deduce_language_from_filename): Recognize the
filename extensions ".chill", ".c186", and ".c286" for Chill.
* valprint.c (typedef_print): Add case for language_chill.
* Makefile.in (SFILES_MAINDIR): Add ch-exp.y.
* Makefile.in (YYFILES): Add ch-exp.tab.c.
* Makefile.in (YYOBJ): Add ch-exp.tab.o.
* Makefile.in (saber_gdb): Add unload of ch-exp.y and load
of ch-exp.tab.c.
* Makefile.in (distclean): Add target ch-exp.tab.c.
* Makefile.in (realclean): Add rm of ch-exp.tab.c.
* Makefile.in (ch-exp.tab.o, ch-exp.tab.c): New targets.
* eval.c (evaluate_subexp): Add OP_BOOL case.
* expprint.c (print_subexp): Add OP_BOOL case.
**** end-sanitize-chill ****
Fri Nov 13 20:24:10 1992 Stu Grossman (grossman at cygnus.com)

View File

@ -700,13 +700,14 @@ c-exp.tab.c: $(srcdir)/c-exp.y Makefile
< y.tab.c > c-exp.tab.c
-rm y.tab.c
# start-sanitize-chill
# ch-exp.tab.c is generated in target dir from ch-exp.y if it doesn't exist
# in srcdir, then compiled in target dir to ch-exp.tab.o.
# Remove bogus decls for malloc/realloc/free which conflict with everything
# else.
ch-exp.tab.o: ch-exp.tab.c
ch-exp.tab.c: $(srcdir)/ch-exp.y Makefile
@echo 'Expect 4 shift/reduce conflicts.'
@echo 'Expect rules never reduced, and lots of reduce/reduce conflicts.'
${YACC} $(srcdir)/ch-exp.y
-sed -e '/extern.*malloc/d' \
-e '/extern.*realloc/d' \
@ -716,6 +717,7 @@ ch-exp.tab.c: $(srcdir)/ch-exp.y Makefile
-e 's/realloc/xrealloc/g' \
< y.tab.c > ch-exp.tab.c
-rm y.tab.c
# end-sanitize-chill
# m2-exp.tab.c is generated in target dir from m2-exp.y if it doesn't exist
# in srcdir, then compiled in target dir to m2-exp.tab.o.

View File

@ -486,9 +486,11 @@ set_cu_language (dip)
case LANG_C_PLUS_PLUS:
cu_language = language_cplus;
break;
/* start-sanitize-chill */
case LANG_CHILL:
cu_language = language_chill;
break;
/* end-sanitize-chill */
case LANG_MODULA2:
cu_language = language_m2;
break;

View File

@ -80,7 +80,7 @@ enum type_code
/* Modula-2 */
TYPE_CODE_CHAR, /* *real* character type */
TYPE_CODE_BOOL /* Builtin Modula-2/Chill BOOLEAN */
TYPE_CODE_BOOL /* Builtin BOOLEAN type */
};
/* For now allow source to use TYPE_CODE_CLASS for C++ classes, as an
@ -489,12 +489,14 @@ extern struct type *builtin_type_m2_card;
extern struct type *builtin_type_m2_real;
extern struct type *builtin_type_m2_bool;
/* start-sanitize-chill
/* Chill types */
extern struct type *builtin_type_chill_bool;
extern struct type *builtin_type_chill_long;
extern struct type *builtin_type_chill_ulong;
extern struct type *builtin_type_chill_real;
/* end-sanitize-chill
/* LONG_LONG is defined if the host has "long long". */

View File

@ -161,12 +161,14 @@ set_language_command (ignore, from_tty)
/* FIXME -- do this from the list, with HELP. */
if (!language || !language[0]) {
printf("The currently understood settings are:\n\n\
local or auto Automatic setting based on source file\n\
c Use the C language\n\
c++ Use the C++ language\n\
chill Use the Chill language\n\
modula-2 Use the Modula-2 language\n");
printf("The currently understood settings are:\n\n");
printf ("local or auto Automatic setting based on source file\n");
printf ("c Use the C language\n");
printf ("c++ Use the C++ language\n");
/* start-sanitize-chill */
printf ("chill Use the Chill language\n");
/* end-sanitize-chill */
printf ("modula-2 Use the Modula-2 language\n");
/* Restore the silly string. */
set_language(current_language->la_language);
return;
@ -458,8 +460,10 @@ binop_result_type(v1,v2)
not needed. */
return l1 > l2 ? VALUE_TYPE(v1) : VALUE_TYPE(v2);
break;
/* start-sanitize-chill */
case language_chill:
error ("Missing Chill support in function binop_result_check.");/*FIXME*/
/* end-sanitize-chill */
}
abort();
return (struct type *)0; /* For lint */
@ -608,8 +612,10 @@ integral_type (type)
(TYPE_CODE(type) != TYPE_CODE_ENUM) ? 0 : 1;
case language_m2:
return TYPE_CODE(type) != TYPE_CODE_INT ? 0 : 1;
/* start-sanitize-chill */
case language_chill:
error ("Missing Chill support in function integral_type."); /*FIXME*/
/* end-sanitize-chill */
default:
error ("Language not supported.");
}
@ -645,8 +651,10 @@ character_type (type)
return (TYPE_CODE(type) == TYPE_CODE_INT) &&
TYPE_LENGTH(type) == sizeof(char)
? 1 : 0;
/* start-sanitize-chill */
case language_chill:
error ("Missing Chill support in function character_type."); /*FIXME*/
/* end-sanitize-chill */
default:
return (0);
}
@ -659,7 +667,9 @@ boolean_type (type)
{
switch(current_language->la_language)
{
/* start-sanitize-chill */
case language_chill:
/* end-sanitize-chill */
case language_m2:
return TYPE_CODE(type) != TYPE_CODE_BOOL ? 0 : 1;
@ -704,8 +714,10 @@ structured_type(type)
return (TYPE_CODE(type) == TYPE_CODE_STRUCT) ||
(TYPE_CODE(type) == TYPE_CODE_SET) ||
(TYPE_CODE(type) == TYPE_CODE_ARRAY);
/* start-sanitize-chill */
case language_chill:
error ("Missing Chill support in function structured_type."); /*FIXME*/
/* end-sanitize-chill */
default:
return (0);
}
@ -750,8 +762,10 @@ value_true(val)
return 0; /* BOOLEAN with value FALSE */
break;
/* start-sanitize-chill */
case language_chill:
error ("Missing Chill support in function value_type."); /*FIXME*/
/* end-sanitize-chill */
default:
error ("Language not supported.");
@ -914,10 +928,12 @@ binop_type_check(arg1,arg2,op)
}
#endif
/* start-sanitize-chill */
#ifdef _LANG_chill
case language_chill:
error ("Missing Chill support in function binop_type_check.");/*FIXME*/
#endif
/* end-sanitize-chill */
}
}

View File

@ -32,7 +32,9 @@ struct value;
/* #include "lang_def.h" */
#define _LANG_c
#define _LANG_m2
/* start-sanitize-chill */
#define _LANG_chill
/* end-sanitize-chill */
/* range_mode ==
range_mode_auto: range_check set automatically to default of language.