⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changes

📁 把fortran语言编的程序转为c语言编的程序, 运行环境linux
💻
📖 第 1 页 / 共 5 页
字号:
  Bug fixes: under -A and -C++, incorrect C was generated forsubroutines having multiple entries but no arguments.  Under -A -P, subroutines of no arguments were given prototypecalling sequence () rather than (void).  Character-valued functions elicited erroneous warning messagesabout inconsistent calling sequences when referenced by anotherprocedure in the same file.  f2c.1t: omit first appearance of libF77.a in FILES section;load order of libraries is -lF77 -lI77, not vice versa (bugintroduced in yesterday's edits); define .F macro for those whose-man lacks it.  (For a while after yesterday's fixes were posted,f2c.1t was out of date.  Sorry!)23 Jan. 9:53:24 EST 1990:  Character substring expressions involving function calls havingcharacter arguments (including the intrinsic len function) yieldedincorrect C.  Procedures defined after invocation (in the same file) withconflicting argument types also got an erroneous message aboutthe wrong number of arguments.24 Jan. 11:44:00 EST 1990:  Bug fixes: -p omitted #undefs; COMMON block names containingunderscores had their C names incorrectly computed; a COMMON blockhaving the name of a previously defined procedure wreaked havoc;if all arguments were .P files, f2c tried reading the second as aFortran file.  New feature: -P emits comments showing COMMON block lengths, so onecan get warnings of incompatible COMMON block lengths by having f2cread .P (or .p) files.  Now by running f2c twice, first with -P -!c(or -P!c),  then with *.P among the arguments, you can be warned ofinconsistent COMMON usage, and COMMON blocks having inconsistentlengths will be given the maximum length.  (The latter always didhappen within each input file; now -P lets you extend this behavioracross files.)26 Jan. 16:44:00 EST 1990:  Option -it made less aggressive: untyped external procedures thatare invoked are now typed by the rules of Fortran, rather than byprevious use of procedures to which they are passed as argumentsbefore being invoked.  Option -P now includes information about references, i.e., calledprocedures, in the prototype files (in the form of special comments).This allows iterative invocations of f2c to infer more about untypedexternal names, particularly when multiple Fortran files are involved.  As usual, there are some obscure bug fixes:1.  Repair of erroneous warning messages about inconsistent number ofarguments that arose when a character dummy parameter was discoveredto be a function or when multiple entry points involved charactervariables appearing in a previous entry point.2.  Repair of memory fault after error msg about "adjustable characterfunction".3.  Under -U, allow MAIN_ as a subroutine name (in the same file as amain program).4.  Change for consistency: a known function invoked as a subroutine,then as a function elicits a warning rather than an error.26 Jan. 22:32:00 EST 1990:  Fixed two bugs that resulted in incorrect C for substrings, withinthe body of a character-valued function, of the function's name, whenthose substrings were arguments to another function (even implicitly,as in character-string assignment).28 Jan. 18:32:00 EST 1990:  libf77, libi77: checksum files added; "make check" looks fortransmission errors.  NAMELIST read modified to allow $ rather than &to precede a namelist name, to allow $ rather than / to terminateinput where the name of another variable would otherwise be expected,and to regard all nonprinting ASCII characters <= ' ' as spaces.29 Jan. 02:11:00 EST 1990:  "fc from f2c" added.  -it option made the default; -!it turns it off.  Type information isnow updated in a previously missed case.  -P option tweaked again; message about when rerunning f2c may changeprototypes or declarations made more accurate.  New option -Ps implies -P and returns exit status 4 if rerunningf2c -P with prototype inputs might change prototypes or declarations.Now you can execute a crude script like	cat *.f >zap.F	rm -f zap.P	while :; do		f2c -Ps -!c zap.[FP]		case $? in 4) ;; *) break;; esac		doneto get a file zap.P of the best prototypes f2c can determine for *.f .Jan. 29 07:30:21 EST 1990:  Forgot to check for error status when setting return code 4 under -Ps;error status (1, 2, 3, or, for caught signal, 126) now takes precedence.Jan 29 14:17:00 EST 1990:  Incorrect handling of	open(n,'filename')repaired -- now treated as	open(n,file='filename')(and, under -ext, given an error message).  New optional source file memset.c for people whose systems don'tprovide memset, memcmp, and memcpy; #include <string.h> in mem.cchanged to #include "string.h" so BSD people can create a localstring.h that simply says #include <strings.h> .Jan 30 10:34:00 EST 1990:  Fix erroneous warning at end of definition of a procedure withcharacter arguments when the procedure had previously been called witha numeric argument instead of a character argument.  (There were twowarnings, the second one incorrectly complaining of a wrong number ofarguments.)Jan 30 16:29:41 EST 1990:  Fix case where -P and -Ps erroneously reported another iterationnecessary.  (Only harm is the extra iteration.)Feb 3 01:40:00 EST 1990:  Supply semicolon occasionally omitted under -c .  Try to force correct alignment when numeric variables are initializedwith character data (a non-standard and non-portable practice).  Youmust use the -W option if your code has such data statements and ismeant to run on a machine with other than 4 characters/word; e.g., forcode meant to run on a Cray, you would specify -W8 .  Allow parentheses around expressions in output lists (in write andprint statements).  Rename source files so their names are <= 12 characters long(so there's room to append .Z and still have <= 14 characters);renamed files:  formatdata.c niceprintf.c niceprintf.h safstrncpy.c .  f2c material made available by anonymous ftp from research.att.com(look in dist/f2c ).Feb 3 03:49:00 EST 1990:  Repair memory fault that arose from use (in an assignment orcall) of a non-argument variable declared CHARACTER*(*).Feb 9 01:35:43 EST 1990:  Fix erroneous error msg about bad types in	subroutine foo(a,adim)	dimension a(adim)	integer adim  Fix improper passing of character args (and possible memory fault)in the expression part of a computed goto.  Fix botched calling sequences in array references involvingfunctions having character args.  Fix memory fault caused by invocation of character-valued functionsof no arguments.  Fix botched calling sequence of a character*1-valued functionassigned to a character*1 variable.  Fix bug in error msg for inconsistent number of args in prototypes.  Allow generation of C output despite inconsistencies in prototypes,but give exit code 8.  Simplify include logic (by removing some bogus logic); neverprepend "/usr/include/" to file names.  Minor cleanups (that should produce no visible change in f2c'sbehavior) in intr.c parse.h main.c defs.h formatdata.c p1output.c .Feb 10 00:19:38 EST 1990:  Insert (integer) casts when floating-point expressions are usedas subscripts.  Make SAVE stmt (with no variable list) override -a .  Minor cleanups: change field to Field in struct Addrblock (for thebenefit of buggy C compilers); omit system("/bin/cp ...") in misc.c .Feb 13 00:39:00 EST 1990:  Error msg fix in gram.dcl: change "cannot make %s parameter"to "cannot make into parameter".Feb 14 14:02:00 EST 1990:  Various cleanups (invisible on systems with 4-byte ints), thanksto Dave Regan: vaxx.c eliminated; %d changed to %ld various places;external names adjusted for the benefit of stupid systems (that ignorecase and recognize only 6 significant characters in external names);buffer shortened in xsum.c (e.g. for MS-DOS); fopen modes distinguishtext and binary files; several unused functions eliminated; missingarg supplied to an unlikely fatalstr invocation.Thu Feb 15 19:15:53 EST 1990:  More cleanups (invisible on systems with 4 byte ints); casts insertedso most complaints from cyntax(1) and lint(1) go away; a few (int)versus (long) casts corrected.Fri Feb 16 19:55:00 EST 1990:  Recognize and translate unnamed Fortran 8x do while statements.  Fix bug that occasionally caused improper breaking of characterstrings.  New error message for attempts to provide DATA in a type-declarationstatement.Sat Feb 17 11:43:00 EST 1990:  Fix infinite loop clf -> Fatal -> done -> clf after I/O error.  Change "if (addrp->vclass = CLPROC)" to "if (addrp->vclass == CLPROC)"in p1_addr (in p1output.c); this was probably harmless.  Move a misplaced } in lex.c (which slowed initkey()).  Thanks to Gary Word for pointing these things out.Sun Feb 18 18:07:00 EST 1990:  Detect overlapping initializations of arrays and scalar variablesin previously missed cases.  Treat logical*2 as logical (after issuing a warning).  Don't pass string literals to p1_comment().  Correct a cast (introduced 16 Feb.) in gram.expr; this matters e.g.on a Cray.  Attempt to isolate UNIX-specific things in sysdep.c (a new sourcefile).  Unless sysdep.c is compiled with SYSTEM_SORT defined, theintermediate files created for DATA statements are now sorted in-corewithout invoking system().Tue Feb 20 16:10:35 EST 1990:  Move definition of binread and binwrite from init.c to sysdep.c .  Recognize Fortran 8x tokens < <= == >= > <> as synonyms for.LT. .LE. .EQ. .GE. .GT. .NE.  Minor cleanup in putpcc.c:  fully remove simoffset().  More discussion of system dependencies added to libI77/README.Tue Feb 20 21:44:07 EST 1990:  Minor cleanups for the benefit of EBCDIC machines -- try to removethe assumption that 'a' through 'z' are contiguous.  (Thanks again toGary Word.)  Also, change log2 to log_2 (shouldn't be necessary).Wed Feb 21 06:24:56 EST 1990:  Fix botch in init.c introduced in previous change; only mattersto non-ASCII machines.Thu Feb 22 17:29:12 EST 1990:  Allow several entry points to mention the same array.  Protectparameter adjustments with if's (for the case that an array is notan argument to all entrypoints).  Under -u, allow	subroutine foo(x,n)	real x(n)	integer n  Compute intermediate variables used to evaluate dimension expressionsat the right time.  Example previously mistranslated:	subroutine foo(x,k,m,n)	real x(min(k,m,n))	...	write(*,*) x  Detect duplicate arguments.  (The error msg points to the firstexecutable stmt -- not wonderful, but not worth fixing.)  Minor cleanup of min/max computation (sometimes slightly simpler).Sun Feb 25 09:39:01 EST 1990:  Minor tweak to multiple entry points: protect parameter adjustmentswith if's only for (array) args that do not appear in all entry points.  Minor tweaks to format.c and io.c (invisible unless your compilercomplained at the duplicate #defines of IOSUNIT and IOSFMT or atcomparisons of p1gets(...) with NULL).Sun Feb 25 18:40:10 EST 1990:  Fix bug introduced Feb. 22: if a subprogram contained DATA and thefirst executable statement was labeled, then the label got lost.(Just change INEXEC to INDATA in p1output.c; it occurs just once.)Mon Feb 26 17:45:10 EST 1990:  Fix bug in handling of " and ' in comments.Wed Mar 28 01:43:06 EST 1990:libI77: 1. Repair nasty I/O bug: opening two files and closing the first(after possibly reading or writing it), then writing the second causedthe last buffer of the second to be lost. 2. Formatted reads of logical values treated all letters other thant or T as f (false). libI77 files changed: err.c rdfmt.c Version.c (Request "libi77 from f2c" -- you can't get these files individually.)f2c itself:  Repair nasty bug in translation of	ELSE IF (condition involving complicated abs, min, or max)-- auxiliary statements were emitted at the wrong place.  Supply semicolon previously omitted from the translation of a label(of a CONTINUE) immediately preceding an ELSE IF or an ELSE.  Thisbug made f2c produce invalid C.  Correct a memory fault that occurred (on some machines) when theerror message "adjustable dimension on non-argument" should be given.  Minor tweaks to remove some harmless warnings by overly chatty Ccompilers.  Argument arays having constant dimensions but a variable lower bound(e.g., x(n+1:n+3)) had a * omitted from scalar arguments involved inthe array offset computation.Wed Mar 28 18:47:59 EST 1990:libf77: add exit(0) to end of main [return(0) encounters a Cray bug]Sun Apr  1 16:20:58 EDT 1990:  Avoid dereferencing null when processing equivalences after an error.Fri Apr  6 08:29:49 EDT 1990:  Calls involving alternate return specifiers omitted processingneeded for things like min, max, abs, and // (concatenation).  INTEGER*2 PARAMETERs were treated as INTEGER*4.  Convert some O(n^2) parsing to O(n).Tue Apr 10 20:07:02 EDT 1990:  When inconsistent calling sequences involve differing numbers ofarguments, report the first differing argument rather than the numbersof arguments.  Fix bug under -a: formatted I/O in which either the unit or theformat was a local character variable sometimes resulted in invalid C(a static struct initialized with an automatic component).  Improve error message for invalid flag after elided -.  Complain when literal table overflows, rather than infinitelylooping.  (The complaint mentions the new and otherwise undocumented-NL option for specifying a larger literal table.)  New option -h for forcing strings to word (or, with -hd, double-word)boundaries where possible.  Repair a bug that could cause improper splitting of strings.  Fix bug (cast of c to doublereal) in	subroutine foo(c,r)	double complex c	double precision r	c = cmplx(r,real(c))	end  New include file "sysdep.h" has some things from defs.h (andelsewhere) that one may need to modify on some systems.  Some large arrays that were previously statically allocated are nowdynamically allocated when f2c starts running.  f2c/src files changed:	README cds.c defs.h f2c.1 f2c.1t format.c formatdata.c init.c	io.c lex.c main.c makefile mem.c misc.c names.c niceprintf.c	output.c parse_args.c pread.c put.c putpcc.c sysdep.h	version.c xsum0.outWed Apr 11 18:27:12 EDT 1990:  Fix bug in argument consistency checking of character, complex, anddouble complex valued functions.  If the same source file contained adefinition of such a function with arguments not explicitly typed,then subsequent references to the function might get erroneouswarnings of inconsistent calling sequences.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -