OSDN Git Service

Update to 0.5.22-19970929.
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 1 Oct 1997 07:28:03 +0000 (07:28 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 1 Oct 1997 07:28:03 +0000 (07:28 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15818 138bc75d-0d04-0410-961f-82ee72b054a4

19 files changed:
gcc/f/ChangeLog
gcc/f/com-rt.def
gcc/f/com.h
gcc/f/expr.c
gcc/f/runtime/ChangeLog
gcc/f/runtime/changes.netlib
gcc/f/runtime/libF77/Version.c
gcc/f/runtime/libF77/dtime_.c
gcc/f/runtime/libF77/etime_.c
gcc/f/runtime/libI77/Version.c
gcc/f/runtime/libI77/err.c
gcc/f/runtime/libI77/fmt.c
gcc/f/runtime/libI77/fmt.h
gcc/f/runtime/libI77/lread.c
gcc/f/runtime/libI77/rdfmt.c
gcc/f/runtime/libI77/wrtfmt.c
gcc/f/runtime/readme.netlib
gcc/f/stu.c
gcc/f/version.c

index a50466e..9831a67 100644 (file)
@@ -1,3 +1,27 @@
+Mon Sep 29 16:18:21 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * stu.c (ffestu_list_exec_transition_,
+       ffestu_dummies_transition_): Specify `bool' type for
+       `in_progress' variables.
+
+       * com.h (assemble_string): Declare this routine (instead
+       of #include'ing "output.h" from gcc) to eliminate warnings
+       from lex.c.
+
+Fri Sep 19 01:12:27 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * expr.c (ffeexpr_reduced_eqop2_): 
+       (ffeexpr_reduced_relop2_): Minor fixes to diagnostic code.
+
+       * fini.c (main): Change return type to `int'.
+
+Wed Sep 17 10:47:08 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * com-rt.def (FFECOM_gfrtDSIGN, FFECOM_gfrtISIGN,
+       FFECOM_gfrtSIGN): Add second argument.
+
+       * expr.c (ffeexpr_cb_comma_c_): Trivial fixes.
+
 Tue Sep  9 01:59:35 1997  Craig Burley  <burley@gnu.ai.mit.edu>
 
        * Version 0.5.21 released.
index 1c1be60..bbf6c7b 100644 (file)
@@ -162,7 +162,7 @@ DEFGFRT (FFECOM_gfrtDLOG10, "d_lg10", FFECOM_rttypeDOUBLE_, "&d", FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtDMOD, "d_mod", FFECOM_rttypeDOUBLE_, "&d", FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtDNINT, "d_nint", FFECOM_rttypeDOUBLE_, "&d", FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtDPROD, "d_prod", FFECOM_rttypeDOUBLE_, "&d", FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtDSIGN, "d_sign", FFECOM_rttypeDOUBLE_, "&d", FALSE, FALSE)
+DEFGFRT (FFECOM_gfrtDSIGN, "d_sign", FFECOM_rttypeDOUBLE_, "&d&d", FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtDSIN, "d_sin", FFECOM_rttypeDOUBLE_, "&d", FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtDSINH, "d_sinh", FFECOM_rttypeDOUBLE_, "&d", FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtDSQRT, "d_sqrt", FFECOM_rttypeDOUBLE_, "&d", FALSE, FALSE)
@@ -203,7 +203,7 @@ DEFGFRT (FFECOM_gfrtIDNINT, "i_dnnt", FFECOM_rttypeINTEGER_, "&i", FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtIERRNO, "G77_ierrno_0", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtINDEX, "i_indx", FFECOM_rttypeINTEGER_, "&a&a", FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtIRAND, "G77_irand_0", FFECOM_rttypeINTEGER_, "&i", FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtISIGN, "i_sign", FFECOM_rttypeINTEGER_, "&i", FALSE, FALSE)
+DEFGFRT (FFECOM_gfrtISIGN, "i_sign", FFECOM_rttypeINTEGER_, "&i&i", FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtISATTY, "G77_isatty_0", FFECOM_rttypeINTEGER_, "&i", FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtITIME, "G77_itime_0", FFECOM_rttypeVOID_, "&i", FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtKILL, "G77_kill_0", FFECOM_rttypeINTEGER_, "&i&i", FALSE, FALSE)
@@ -224,7 +224,7 @@ DEFGFRT (FFECOM_gfrtRAND, "G77_rand_0", FFECOM_rttypeREAL_F2C_, "&i", FALSE, FAL
 DEFGFRT (FFECOM_gfrtRENAME, "G77_rename_0", FFECOM_rttypeINTEGER_, "&a&a", FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtSECNDS, "G77_secnds_0", FFECOM_rttypeREAL_F2C_, "&f", FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtSECOND, "G77_second_0", FFECOM_rttypeREAL_F2C_, 0, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtSIGN, "r_sign", FFECOM_rttypeREAL_F2C_, "&f", FALSE, FALSE)
+DEFGFRT (FFECOM_gfrtSIGN, "r_sign", FFECOM_rttypeREAL_F2C_, "&f&f", FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtL_SIGNAL, "G77_signal_0", FFECOM_rttypeFTNINT_, "&i0", FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtSIN, "r_sin", FFECOM_rttypeREAL_F2C_, "&f", FALSE, FALSE)
 DEFGFRT (FFECOM_gfrtSINH, "r_sinh", FFECOM_rttypeREAL_F2C_, "&f", FALSE, FALSE)
index 477e086..946e8a5 100644 (file)
@@ -348,6 +348,7 @@ extern int flag_pedantic_errors;
 void emit_nop (void);
 void announce_function (tree decl);
 extern FILE *asm_out_file;
+void assemble_string (char *, int);
 void assemble_variable (tree decl, int top_level, int at_end,
                        int dont_output_data);
 void assemble_zeros (int size);
index 057293b..86b1509 100644 (file)
@@ -7504,15 +7504,17 @@ static ffelexHandler
 ffeexpr_cb_comma_c_ (ffelexToken ft, ffebld expr, ffelexToken t)
 {
   ffeexprExpr_ e;
-  ffeinfoBasictype lty = ffeinfo_basictype (ffebld_info (ffeexpr_stack_->expr));
-  ffeinfoBasictype rty = ffeinfo_basictype (ffebld_info (expr));
+  ffeinfoBasictype lty = (ffeexpr_stack_->expr == NULL)
+    ? FFEINFO_basictypeNONE : ffeinfo_basictype (ffebld_info (ffeexpr_stack_->expr));
+  ffeinfoBasictype rty = (expr == NULL)
+    ? FFEINFO_basictypeNONE : ffeinfo_basictype (ffebld_info (expr));
   ffeinfoKindtype lkt;
   ffeinfoKindtype rkt;
   ffeinfoKindtype nkt;
   bool ok = TRUE;
   ffebld orig;
 
-  if ((expr == NULL)
+  if ((ffeexpr_stack_->expr == NULL)
       || (ffebld_op (ffeexpr_stack_->expr) != FFEBLD_opCONTER)
       || (((orig = ffebld_conter_orig (ffeexpr_stack_->expr)) != NULL)
          && (((ffebld_op (orig) != FFEBLD_opUMINUS)
@@ -10589,7 +10591,7 @@ ffeexpr_reduced_eqop2_ (ffebld reduced, ffeexprExpr_ l, ffeexprExpr_ op,
       && (lbt != FFEINFO_basictypeCOMPLEX) && (lbt != FFEINFO_basictypeCHARACTER))
     {
       if ((rbt != FFEINFO_basictypeINTEGER) && (rbt != FFEINFO_basictypeREAL)
-         && (rbt != FFEINFO_basictypeCOMPLEX) && (lbt != FFEINFO_basictypeCHARACTER))
+         && (rbt != FFEINFO_basictypeCOMPLEX) && (rbt != FFEINFO_basictypeCHARACTER))
        {
          if ((lbt != FFEINFO_basictypeANY) && (rbt != FFEINFO_basictypeANY)
              && ffebad_start (FFEBAD_EQOP_ARGS_TYPE))
@@ -11206,7 +11208,7 @@ ffeexpr_reduced_relop2_ (ffebld reduced, ffeexprExpr_ l, ffeexprExpr_ op,
       && (lbt != FFEINFO_basictypeCHARACTER))
     {
       if ((rbt != FFEINFO_basictypeINTEGER) && (rbt != FFEINFO_basictypeREAL)
-         && (lbt != FFEINFO_basictypeCHARACTER))
+         && (rbt != FFEINFO_basictypeCHARACTER))
        {
          if ((lbt != FFEINFO_basictypeANY) && (rbt != FFEINFO_basictypeANY)
              && ffebad_start (FFEBAD_RELOP_ARGS_TYPE))
index 57b175e..c6c0dd3 100644 (file)
@@ -1,3 +1,34 @@
+Tue Sep 30 00:41:39 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       Do a better job of printing the offending FORMAT string
+       when producing a diagnostic:
+       * libI77/err.c (f__fmtlen): New variable to hold operating
+       length of format string.
+       (f__fatal): Use new variable to limit length of printed string.
+       * libI77/fmt.c (f_s): Don't skip spaces after closing paren,
+       so nicer message results (and nested case already skips them).
+       (pars_f): Record operating length of format string as indicated
+       by a successful call to f_s, or ad-hoc-calculate it if failure,
+       limiting the length to 80 characters (and stopping at NUL).
+       (do_fio): Use new variable to limit length of printed string.
+       * libI77/fmt.h (f__fmtlen): Declare new variable.
+       * libI77/lread.c (c_le): Set new variable to known length.
+
+Mon Sep 29 16:30:31 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       Update to Netlib version of 1997-09-23:
+       * libF77/dtime_.c (dtime_), libF77/etime_.c (dtime_):
+       Return `double' instead of `float' (these are not used
+       in g77's version of libf2c).
+       * libI77/fmt.c, libI77/fmt.h, libI77/rdfmt.c, libI77/wrtfmt.c:
+       Support machines with 64-bit pointers and 32-bit ints (e.g.
+       Linux on DEC Alpha).
+
+1997-09-19  Dave Love  <d.love@dl.ac.uk>
+
+       * libU77/dtime_.c (G77_dtime_0): Fix types in HAVE_GETRUSAGE case
+       so as not to truncate results to integer values.
+
 Tue Sep  9 00:33:24 1997  Craig Burley  <burley@gnu.ai.mit.edu>
 
        * Version 0.5.21 released.
index 1827154..78dba86 100644 (file)
@@ -2836,6 +2836,15 @@ with F8X_NML_ELIDE_QUOTES #defined.  wrtfmt.o: wrt_G: tweak to print
 the right number of 0's for zero under G format.
 
 Sat Aug 16 05:45:32 EDT 1997
-  libI77: iio.c: fix bug in internal writes to an array of character
+  libi77: iio.c: fix bug in internal writes to an array of character
 strings that sometimes caused one more array element than required by
 the format to be blank-filled.  Example: format(1x).
+
+Wed Sep 17 00:39:29 EDT 1997
+  libi77: fmt.[ch] rdfmt.c wrtfmt.c: tweak struct syl for machines
+with 64-bit pointers and 32-bit ints that did not 64-bit align
+struct syl (e.g., Linux on the DEC Alpha).  This change should be
+invisible on other machines.
+
+Sun Sep 21 22:05:19 EDT 1997
+  libf77: [de]time_.c (Unix systems only): change return type to double.
index 8644f3f..7bb0972 100644 (file)
@@ -1,4 +1,4 @@
-static char junk[] = "\n@(#)LIBF77 VERSION 19970404\n";
+static char junk[] = "\n@(#)LIBF77 VERSION 19970919\n";
 
 /*
 */
@@ -53,6 +53,8 @@ char __G77_LIBF77_VERSION__[] = "0.5.21";
                        benefit of g77.)
        4 April 1997: [cz]_div.c: tweaks invisible on most systems (that may
                        affect systems using gratuitous extra precision).
+       19 Sept. 1997: [de]time_.c (Unix systems only): change return
+                       type to double.
 */
 
 #include <stdio.h>
index 2e775c6..79b6735 100644 (file)
@@ -15,7 +15,7 @@
 #endif
 #endif
 
- float
+ double
 #ifdef KR_headers
 dtime_(tarray) float *tarray;
 #else
index 0fb658a..04528b5 100644 (file)
@@ -15,7 +15,7 @@
 #endif
 #endif
 
- float
+ double
 #ifdef KR_headers
 etime_(tarray) float *tarray;
 #else
index cbb63c9..d80ea39 100644 (file)
@@ -1,9 +1,9 @@
-static char junk[] = "\n@(#) LIBI77 VERSION pjw,dmg-mods 19970816\n";
+static char junk[] = "\n@(#) LIBI77 VERSION pjw,dmg-mods 19970916\n";
 
 /*
 */
 
-char __G77_LIBI77_VERSION__[] = "0.5.21";
+char __G77_LIBI77_VERSION__[] = "0.5.22-19970930";
 
 /*
 2.01   $ format added
@@ -264,6 +264,14 @@ wrtfmt.c:
                 strings that sometimes caused one more array element than
                 required by the format to be blank-filled.  Example:
                 format(1x). */
+/* 16 Sept. 1997:fmt.[ch] rdfmt.c wrtfmt.c: tweak struct syl for machines
+                with 64-bit pointers and 32-bit ints that did not 64-bit
+                align struct syl (e.g., Linux on the DEC Alpha). */
+
+
+
+/* Changes for GNU Fortran (g77) version of libf2c:  */
+
 /* 17 June 1997: detect recursive I/O and call f__fatal explaining it. */
 
 #include <stdio.h>
index 1d01887..12eb9ee 100644 (file)
@@ -27,6 +27,7 @@ icilist *f__svic;     /*active internal io list*/
 flag f__reading;       /*1 if reading, 0 if writing*/
 flag f__cplus,f__cblank;
 char *f__fmtbuf;
+int f__fmtlen;
 flag f__external;      /*1 if external io, 0 if internal */
 #ifdef KR_headers
 int (*f__doed)(),(*f__doned)();
@@ -167,7 +168,7 @@ f__fatal(int n, char *s)
                else
                        fprintf(stderr,"apparent state: internal I/O\n");
                if (f__fmtbuf)
-                       fprintf(stderr,"last format: %s\n",f__fmtbuf);
+                       fprintf(stderr,"last format: %.*s\n",f__fmtlen,f__fmtbuf);
                fprintf(stderr,"lately %s %s %s %s",f__reading?"reading":"writing",
                        f__sequential?"sequential":"direct",f__formatted?"formatted":"unformatted",
                        f__external?"external":"internal");
index a82f821..8f08952 100644 (file)
@@ -18,7 +18,7 @@
        /* special quote character for stu */
 extern int f__cursor,f__scale;
 extern flag f__cblank,f__cplus;        /*blanks in I and compulsory plus*/
-struct syl f__syl[SYLMX];
+static struct syl f__syl[SYLMX];
 int f__parenlvl,f__pc,f__revloc;
 
  static
@@ -53,8 +53,8 @@ op_gen(int a, int b, int c, int d)
        }
        p->op=a;
        p->p1=b;
-       p->p2=c;
-       p->p3=d;
+       p->p2.i[0]=c;
+       p->p2.i[1]=d;
        return(f__pc++);
 }
 #ifdef KR_headers
@@ -103,7 +103,6 @@ char *f_s(char *s, int curloc)
        {
                return(NULL);
        }
-       skip(s);
        return(s);
 }
 
@@ -160,7 +159,7 @@ ne_d(char *s, char **p)
                case 'H':
                case 'h':
                        sp = &f__syl[op_gen(H,n,0,0)];
-                       *(char **)&sp->p2 = s + 1;
+                       sp->p2.s = s + 1;
                        s+=n;
                        break;
                }
@@ -169,7 +168,7 @@ ne_d(char *s, char **p)
        case '"':
        case '\'':
                sp = &f__syl[op_gen(APOS,0,0,0)];
-               *(char **)&sp->p2 = s;
+               sp->p2.s = s;
                if((*p = ap_end(s)) == NULL)
                        return(0);
                return(1);
@@ -365,11 +364,39 @@ pars_f(s) char *s;
 pars_f(char *s)
 #endif
 {
+       char *e;
+
        f__parenlvl=f__revloc=f__pc=0;
-       if(f_s(s,0) == NULL)
+       if((e=f_s(s,0)) == NULL)
        {
+               /* Try and delimit the format string.  Parens within
+                  hollerith and quoted strings have to match for this
+                  to work, but it's probably adequate for most needs.
+                  Note that this is needed because a valid CHARACTER
+                  variable passed for FMT= can contain '(I)garbage',
+                  where `garbage' is billions and billions of junk
+                  characters, and it's up to the run-time library to
+                  know where the format string ends by counting parens.
+                  Meanwhile, still treat NUL byte as "hard stop", since
+                  f2c still appends that at end of FORMAT-statement
+                  strings.  */
+
+               int level=0;
+
+               for (f__fmtlen=0;
+                       ((*s!=')') || (--level > 0))
+                               && (*s!='\0')
+                               && (f__fmtlen<80);
+                       ++s, ++f__fmtlen)
+               {
+                       if (*s=='(')
+                               ++level;
+               }
+               if (*s==')')
+                       ++f__fmtlen;
                return(-1);
        }
+       f__fmtlen = e - s;
        return(0);
 }
 #define STKSZ 10
@@ -421,8 +448,8 @@ integer do_fio(ftnint *number, char *ptr, ftnlen len)
 loop:  switch(type_f((p= &f__syl[f__pc])->op))
        {
        default:
-               fprintf(stderr,"unknown code in do_fio: %d\n%s\n",
-                       p->op,f__fmtbuf);
+               fprintf(stderr,"unknown code in do_fio: %d\n%.*s\n",
+                       p->op,f__fmtlen,f__fmtbuf);
                err(f__elist->cierr,100,"do_fio");
        case NED:
                if((*f__doned)(p))
index 509746e..6197e76 100644 (file)
@@ -1,6 +1,8 @@
 struct syl
-{      int op,p1,p2,p3;
-};
+{      int op;
+       int p1;
+       union { int i[2]; char *s;} p2;
+       };
 #define RET1 1
 #define REVERT 2
 #define GOTO 3
@@ -37,7 +39,6 @@ struct syl
 #define OM 34
 #define Z 35
 #define ZM 36
-extern struct syl f__syl[];
 extern int f__pc,f__parenlvl,f__revloc;
 typedef union
 {      real pf;
@@ -78,6 +79,7 @@ extern int wrt_L(Uint*, int, ftnlen);
 #endif
 extern flag f__cblank,f__cplus,f__workdone, f__nonl;
 extern char *f__fmtbuf;
+extern int f__fmtlen;
 extern int f__scale;
 #define GET(x) if((x=(*f__getn)())<0) return(x)
 #define VAL(x) (x!='\n'?x:' ')
index 3f0642c..4fb14ee 100644 (file)
@@ -8,6 +8,7 @@
 
 
 extern char *f__fmtbuf;
+extern int f__fmtlen;
 
 #ifdef Allow_TYQUAD
 static longint f__llx;
@@ -518,6 +519,7 @@ c_le(cilist *a)
        if(f__init != 1) f_init();
        f__init = 3;
        f__fmtbuf="list io";
+       f__fmtlen=7;
        if(a->ciunit>=MXUNIT || a->ciunit<0)
                err(a->cierr,101,"stler");
        f__scale=f__recpos=0;
index 0d8c2b4..b03bcc5 100644 (file)
@@ -433,7 +433,7 @@ rd_ed(struct syl *p, char *ptr, ftnlen len)
        case D:
        case G:
        case GE:
-       case F: ch = rd_F((ufloat *)ptr,p->p1,p->p2,len);
+       case F: ch = rd_F((ufloat *)ptr,p->p1,p->p2.i[0],len);
                break;
 
                /* Z and ZM assume 8-bit bytes. */
@@ -460,8 +460,8 @@ rd_ned(struct syl *p)
        default: fprintf(stderr,"rd_ned, unexpected code: %d\n", p->op);
                sig_die(f__fmtbuf, 1);
        case APOS:
-               return(rd_POS(*(char **)&p->p2));
-       case H: return(rd_H(p->p1,*(char **)&p->p2));
+               return(rd_POS(p->p2.s));
+       case H: return(rd_H(p->p1,p->p2.s));
        case SLASH: return((*f__donewrec)());
        case TR:
        case X: f__cursor += p->p1;
index e14efa8..4350fc9 100644 (file)
@@ -326,7 +326,7 @@ w_ed(struct syl *p, char *ptr, ftnlen len)
                sig_die(f__fmtbuf, 1);
        case I: return(wrt_I((Uint *)ptr,p->p1,len, 10));
        case IM:
-               return(wrt_IM((Uint *)ptr,p->p1,p->p2,len,10));
+               return(wrt_IM((Uint *)ptr,p->p1,p->p2.i[0],len,10));
 
                /* O and OM don't work right for character, double, complex, */
                /* or doublecomplex, and they differ from Fortran 90 in */
@@ -334,7 +334,7 @@ w_ed(struct syl *p, char *ptr, ftnlen len)
 
        case O: return(wrt_I((Uint *)ptr, p->p1, len, 8));
        case OM:
-               return(wrt_IM((Uint *)ptr,p->p1,p->p2,len,8));
+               return(wrt_IM((Uint *)ptr,p->p1,p->p2.i[0],len,8));
        case L: return(wrt_L((Uint *)ptr,p->p1, len));
        case A: return(wrt_A(ptr,len));
        case AW:
@@ -342,17 +342,17 @@ w_ed(struct syl *p, char *ptr, ftnlen len)
        case D:
        case E:
        case EE:
-               return(wrt_E((ufloat *)ptr,p->p1,p->p2,p->p3,len));
+               return(wrt_E((ufloat *)ptr,p->p1,p->p2.i[0],p->p2.i[1],len));
        case G:
        case GE:
-               return(wrt_G((ufloat *)ptr,p->p1,p->p2,p->p3,len));
-       case F: return(wrt_F((ufloat *)ptr,p->p1,p->p2,len));
+               return(wrt_G((ufloat *)ptr,p->p1,p->p2.i[0],p->p2.i[1],len));
+       case F: return(wrt_F((ufloat *)ptr,p->p1,p->p2.i[0],len));
 
                /* Z and ZM assume 8-bit bytes. */
 
        case Z: return(wrt_Z((Uint *)ptr,p->p1,0,len));
        case ZM:
-               return(wrt_Z((Uint *)ptr,p->p1,p->p2,len));
+               return(wrt_Z((Uint *)ptr,p->p1,p->p2.i[0],len));
        }
 }
 #ifdef KR_headers
@@ -378,8 +378,8 @@ w_ned(struct syl *p)
                f__cursor += p->p1;
                return(1);
        case APOS:
-               return(wrt_AP(*(char **)&p->p2));
+               return(wrt_AP(p->p2.s));
        case H:
-               return(wrt_H(p->p1,*(char **)&p->p2));
+               return(wrt_H(p->p1,p->p2.s));
        }
 }
index 5d2ac98..e748987 100644 (file)
@@ -521,10 +521,19 @@ with F8X_NML_ELIDE_QUOTES #defined.  wrtfmt.o: wrt_G: tweak to print
 the right number of 0's for zero under G format.
 
 Sat Aug 16 05:45:32 EDT 1997
-  libI77: iio.c: fix bug in internal writes to an array of character
+  libi77: iio.c: fix bug in internal writes to an array of character
 strings that sometimes caused one more array element than required by
 the format to be blank-filled.  Example: format(1x).
 
+Wed Sep 17 00:39:29 EDT 1997
+  libi77: fmt.[ch] rdfmt.c wrtfmt.c: tweak struct syl for machines
+with 64-bit pointers and 32-bit ints that did not 64-bit align
+struct syl (e.g., Linux on the DEC Alpha).  This change should be
+invisible on other machines.
+
+Sun Sep 21 22:05:19 EDT 1997
+  libf77: [de]time_.c (Unix systems only): change return type to double.
+
 Current timestamps of files in "all from f2c/src", sorted by time,
 appear below (mm/dd/year hh:mm:ss).  To bring your source up to date,
 obtain source files with a timestamp later than the time shown in your
index 239456c..a11f00c 100644 (file)
@@ -924,7 +924,7 @@ ffestu_sym_exec_transition (ffesymbol s)
 static void
 ffestu_list_exec_transition_ (ffebld list)
 {
-  static in_progress = FALSE;
+  static bool in_progress = FALSE;
   ffebld item;
   ffesymbol symbol;
 
@@ -1116,7 +1116,7 @@ tail:                             /* :::::::::::::::::::: */
 static bool
 ffestu_dummies_transition_ (ffesymbol (*symfunc) (), ffebld list)
 {
-  static in_progress = FALSE;
+  static bool in_progress = FALSE;
   ffebld item;
   ffesymbol symbol;
   bool uncertain = FALSE;
index 65eaed3..dd56aeb 100644 (file)
@@ -31,4 +31,4 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 
 #include "version.h"
 
-char *ffe_version_string = "0.5.21-19970909";
+char *ffe_version_string = "0.5.22-19970929"