First cut at sanitizing away the chill stuff.
authorFred Fish <fnf@specifix.com>
Mon, 16 Nov 1992 19:25:35 +0000 (19:25 +0000)
committerFred Fish <fnf@specifix.com>
Mon, 16 Nov 1992 19:25:35 +0000 (19:25 +0000)
gdb/.Sanitize
gdb/ChangeLog
gdb/Makefile.in
gdb/dwarfread.c
gdb/gdbtypes.h
gdb/language.c
gdb/language.h

index b4f07e2ab1e69f21021392fccf05352128b498e5..0c0cb68d8c1cfb69acb20d90ed77975570b6aea5 100644 (file)
 
 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.
index fd10cdcf2bbfadd1f97ff12f92fc480e94976de4..093222ef39512dc5d3ea10b59b16a12a5e15fdbd 100644 (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.
+       * 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.
+       * 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>".
+       * 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".
+       * 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.
-       * 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.
+       * 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)
 
index e1d791681920a5119a41500a4a4214294a854d73..ff7bc925de4b3f66cf8ee877696aba70002a5694 100644 (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.
index d9bd3f472e5e65c9c57134655a069ae7a3cd3858..60360e45985edcff449bb28350438fa49d82b3a0 100644 (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;
index 23c464488d2cb7d1f4a61b82b243451078875c76..0018336c3751493378a626ce44b6b01fd387c47c 100644 (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".  */
 
index 0fb0796651332d1993c3b2bee4b5035ccb8d7093..afe0832c89e810ef3748c2877787d49ff064503d 100644 (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 */
 
       }
    }
index 9fd39b2c5d995a6c9f493321834cf43882e68496..ec8c53958adfe24672edca38bfcb63270a3dfc67 100644 (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.