parent
d3878e4948
commit
82d109f263
|
@ -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.
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
12
gcc/f/expr.c
12
gcc/f/expr.c
|
@ -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))
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
float
|
||||
double
|
||||
#ifdef KR_headers
|
||||
dtime_(tarray) float *tarray;
|
||||
#else
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
float
|
||||
double
|
||||
#ifdef KR_headers
|
||||
etime_(tarray) float *tarray;
|
||||
#else
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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:' ')
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue