home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / g77-0.5.15-src.tgz / tar.out / fsf / g77 / f / NEWS < prev    next >
Text File  |  1996-09-28  |  11KB  |  186 lines

  1. Changes in 0.5.15:
  2.     Fix bad code generation involving X**I and temporary, internal variables
  3.         generated by g77 and the back end (such as for DO loops)
  4.     Fix crash given CHARACTER A;DATA A/.TRUE./
  5.     Replace crash with diagnostic given CHARACTER A;DATA A/1.0/
  6.     Fix crash or other erratic behavior when null character constant
  7.         ('') is encountered
  8.     Fix crash or other erratic behavior involving diagnosed code
  9.     Fix code generation for external functions returning type REAL when
  10.         the -ff2c option is in force (which it is by default) so that
  11.         f2c compatibility is indeed provided
  12.     Disallow COMMON I(10) if I has previously been specified with an
  13.         array declarator
  14.     New -ffixed-line-length-N option, where N is the maximum length
  15.         of a typical fixed-form line, defaulting to 72 columns, such
  16.         that characters beyond column N are ignored, or N is "none",
  17.         meaning no characters are ignored -- does not affect lines
  18.         with "&" in column 1, which are always processed as if
  19.         -ffixed-line-length-none were in effect
  20.     No longer generate better code for some kinds of array references,
  21.         as gcc back end is to be fixed to do this even better, and it
  22.         turned out to slow down some code in some cases after all
  23.     In COMMON and EQUIVALENCE areas with any members given initial
  24.         values (e.g. via DATA), uninitialized members now always
  25.         initialized to binary zeros (though this is not required by
  26.         the F77 standard, and might not be done in future versions
  27.         of g77) -- previously, in some COMMON/EQUIVALENCE areas
  28.         (essentially those with members of more than one type), the
  29.         uninitialized members were initialized to spaces, to
  30.         cater to CHARACTER types, but it seems no existing code expects
  31.         that, while much existing code expects binary zeros
  32.  
  33. Changes in 0.5.14:
  34.     Don't emit bad code when low bound of adjustable array is nonconstant
  35.         and thus might vary as an expression at run time
  36.     Emit correct code for calculation of # trips in DO loops for cases
  37.         where the loop should not execute at all (bug affected cases
  38.         where the difference between the begin and end values was less
  39.         than the step count, though probably not for floating-point cases)
  40.     Fix crash when extra parentheses surround item in DATA implied-DO list
  41.     Fix crash over minor internal inconsistencies in handling diagnostics,
  42.         just substitute dummy strings where necessary
  43.     Fix crash on some systems when compiling call to MVBITS() intrinsic
  44.     Fix crash on array assignment "TYPEddd(...)=...", where ddd is a
  45.         string of digits (at least one)
  46.     Fix crash on DCMPLX() with a single INTEGER argument
  47.     Fix various crashes involving code with diagnosed errors
  48.     Support -I option for INCLUDE statement, plus gcc's `header.gcc'
  49.         facility for handling systems like MS-DOS
  50.     Allow INCLUDE statement to be continued across multiple lines,
  51.         even allow it to coexist with other statements on the same line
  52.     Incorporate Bellcore fixes to libf2c through 950315 -- this fixes a
  53.         bug involving infinite loops reading EOF with empty list-directed
  54.         I/O list
  55.     Remove all the g77-specific auto-configuration scripts, code, &c,
  56.         except for temporary substitutes for bsearch() and strtoul(), as
  57.         too many configure/build problems were reported in these areas --
  58.         people will have to fix their systems' problems themselves, or at
  59.         least somewhere other than g77, which expects a working ANSI C
  60.         environment (and, for now, a GNU C compiler to compile g77 itself)
  61.     Complain if initialized common redeclared as larger in subsequent program
  62.         unit
  63.     Warn if blank common initialized, since its size can vary and hence
  64.         related warnings that might be helpful won't be seen
  65.     New -fbackslash option, on by default, that causes `\' within CHARACTER
  66.         and Hollerith constants to be interpreted a la GNU C -- NOTE that
  67.         this behavior is somewhat different from f2c's, which supports only
  68.         a limited subset of backslash (escape) sequences
  69.     Make -fugly-args the default
  70.     New -fugly-init option, on by default, that allows typeless/hollerith
  71.         to be specified as initial values for variables or named constants
  72.         (PARAMETER), and also allows character<->numeric conversion in
  73.         those contexts -- turn off via -fno-ugly-init
  74.     New -finit-local-zero option to initialize local variables to binary zeros
  75.         (does not affect whether they are SAVEd, i.e. made automatic or static)
  76.     New -Wimplicit option to warn about implicitly typed variables, arrays,
  77.         and functions -- like IMPLICIT NONE but doesn't produce errors
  78.     -Wall now implies -Wuninitialized as with gcc (i.e. unless -O not
  79.         specified, since -Wuninitialized requires -O), and implies
  80.         -Wunused as well
  81.     -Wunused no longer gives spurious messages for unused EXTERNAL names
  82.         (since they are assumed to refer to BLOCK DATA program units,
  83.         to make use of libraries more reliable)
  84.     Support %LOC() and LOC() of character arguments
  85.     Support null (zero-length) character constants and expressions
  86.     Support f2c's IMAG() generic intrinsic
  87.     Support ICHAR(), IACHAR(), and LEN() of character expressions that
  88.         are valid in assignments but not normally as actual arguments
  89.     Support f2c-style '&' in column 1 to mean continuation line
  90.     Allow NAMELIST, EXTERNAL, INTRINSIC, and VOLATILE in BLOCK DATA, even
  91.         though these are not allowed by the standard
  92.     Allow RETURN in main program unit
  93.     Changes to Hollerith-constant support to obey F77 Appendix C: now
  94.         padded on the right with zeros, not spaces; hollerith "format
  95.         specifications" in the form of arrays of non-character allowed;
  96.         warnings issued when non-blank truncation occurs when converting
  97.         to another type; when specified as actual argument, now passed
  98.         by reference to INTEGER (padded on right with spaces if constant
  99.         too small, otherwise fully intact if constant wider the INTEGER
  100.         type) instead of by value; WARNING: f2c differs on the
  101.         interpretation of CALL FOO(1HX), which it treats exactly the
  102.         same as CALL FOO('X'), but which the standard and g77 treat
  103.         as CALL FOO(%REF('X   ')) (padded with as many blanks as necessary
  104.         to widen to INTEGER), essentially
  105.     Changes and fixes to typeless-constant support: now treated as
  106.         a typeless double-length INTEGER value; warnings issued when
  107.         overflow occurs; padded on the left with zeros when converting
  108.         to a larger type; should be properly aligned and ordered on
  109.         the target machine for whatever type it is turned into; when
  110.         specified as actual argument, now passed as reference to
  111.         a default INTEGER constant
  112.     %DESCR() of a non-CHARACTER expression now passes a pointer to
  113.         the expression plus a length for the expression just as if
  114.         it were a CHARACTER expression (so CALL FOO(%DESCR(D)), where
  115.         D is REAL*8, is the same as CALL FOO(D,%VAL(8)))
  116.     Name of multi-entrypoint master function changed to incorporate
  117.         the name of the primary entry point instead of a decimal
  118.         value, so the name of the master function for SUBROUTINE X
  119.         with alternate entry points is now "__g77_masterfun_x"
  120.     Remove redundant message about zero-step-count DO loops
  121.     Clean up diagnostic messages, shortening many of them
  122.     Fix typo in g77.1 documentation
  123.     Clarify implications of constant-handling bugs in BUGS
  124.     Generate better code for ** operator with a right-hand operand of
  125.         type INTEGER
  126.     Generate better code for SQRT() and DSQRT(), also when -ffast-math
  127.         specified, enable better code generation for SIN() and COS()
  128.     Generate better code for some kinds of array references
  129.     Speed up lexing somewhat (this makes the compilation phase noticably
  130.         faster)
  131.  
  132. Changes in 0.5.13:
  133.     Fix crash compiling calls to functions passed as dummy arguments
  134.     Fix crash compiling CHARACTER comparison when either operand involves
  135.         concatenation
  136.     Fix crash when initialized COMMON area's size is smaller than
  137.         size of area in previously compiled program unit
  138.     Fix crash involving assigning to 3+-dimensional array having a
  139.         name like TYPE or PRINT
  140.     Fix crash when DATA statement after first executable statement
  141.         makes first use of a variable name as an iterative-DO variable
  142.     Fix various crashes involving code with diagnosed errors
  143.     Fix dumb bug introduced in 0.5.9 that resulted in columns 73 and
  144.         beyond being treated as real code unless a tab was present,
  145.         instead of the other way 'round (fixed-form source)
  146.     Unless -pedantic, don't complain about "SAVE" by itself conflicting
  147.         with any other occurrence of SAVE as statement or attribute,
  148.         since there are solid reasons to write such code even though
  149.         it is strictly non-standard-conforming (and only warn if
  150.         -pedantic)
  151.  
  152. Changes in 0.5.12:
  153.     Don't crash when DO loop iteration variable isn't INTEGER
  154.     Don't crash when DO loop end expression has an error
  155.     Fix a couple of Makefile shell "if" commands to have "else true;"
  156.  
  157. Changes in 0.5.11:
  158.     Compile-time conversion of negative INTEGER constant to REAL,
  159.         DOUBLE PRECISION, COMPLEX, or DOUBLE COMPLEX is now fixed
  160.     DFLOAT() is now recognized as an f2c intrinsic
  161.     New compiler option -fugly-args allows passing of hollerith and
  162.         typeless constants as actual arguments (a very specific
  163.         version of -fugly); diagnostic when option not specified
  164.         has more helpful information
  165.     %VAL() now works when given a hollerith or typeless argument,
  166.         as do other things like %REF()
  167.     Help FreeBSD users build g77 driver out of the box
  168.  
  169. Changes in 0.5.10:
  170.     Fix invocation of DOUBLE COMPLEX (aka COMPLEX*16) external functions
  171.     Minor fixes and changes to Makefiles
  172.  
  173. Changes in 0.5.9:
  174.     Treatment of source lines with tabs is slightly different than before
  175.     Carriage returns (^M) in source lines now ignored
  176.     Fix character-compare and other operations
  177.     Change to using ANSI-C-approved techniques in a few places so non-gcc
  178.         compilers can compile g77
  179.     Fix crash when trying to output warning about slow compile
  180.     Fix crash combining COMPLEX and ENTRY
  181.     Fix use of COMPLEX operators/functions within statement-function
  182.         definitions
  183.     Support ASSIGN on any machine gcc supports
  184.     Don't put build files in source directory when separate
  185.  
  186.