]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/f/NEWS
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / f / NEWS
diff --git a/gcc/f/NEWS b/gcc/f/NEWS
deleted file mode 100644 (file)
index a96608e..0000000
+++ /dev/null
@@ -1,531 +0,0 @@
-_Note:_ This file is automatically generated from the files
-`news0.texi' and `news.texi'.  `NEWS' is _not_ a source file, although
-it is normally included within source distributions.
-
-   This file lists news about the GCC-3.2.3 version (and some other
-versions) of the GNU Fortran compiler.  Copyright (C)
-1995,1996,1997,1998,1999,2000,2001,2002 Free Software Foundation, Inc.
-You may copy, distribute, and modify it freely as long as you preserve
-this copyright notice and permission notice.
-
-News About GNU Fortran
-**********************
-
-   Changes made to recent versions of GNU Fortran are listed below,
-with the most recent version first.
-
-   The changes are generally listed in order:
-
-  1. Code-generation and run-time-library bug-fixes
-
-  2. Compiler and run-time-library crashes involving valid code that
-     have been fixed
-
-  3. New features
-
-  4. Fixes and enhancements to existing features
-
-  5. New diagnostics
-
-  6. Internal improvements
-
-  7. Miscellany
-
-   This order is not strict--for example, some items involve a
-combination of these elements.
-
-   Note that two variants of `g77' are tracked below.  The `egcs'
-variant is described vis-a-vis previous versions of `egcs' and/or an
-official FSF version, as appropriate.  Note that all such variants are
-obsolete _as of July 1999_ - the information is retained here only for
-its historical value.
-
-   Therefore, `egcs' versions sometimes have multiple listings to help
-clarify how they differ from other versions, though this can make
-getting a complete picture of what a particular `egcs' version contains
-somewhat more difficult.
-
-   An online, "live" version of this document (derived directly from
-the mainline, development version of `g77' within `gcc') is available at
-`http://www.gnu.org/software/gcc/onlinedocs/g77/News.html'.
-
-   The following information was last updated on 2002-10-28:
-
-In `GCC' 3.2 versus `GCC' 3.1:
-==============================
-
-   * Problem Reports fixed (in chronological order of submission):
-    `8308'
-          gcc-3.x does not compile files with suffix .r (RATFOR) [Fixed
-          in 3.2.1]
-
-In `GCC' 3.1 (formerly known as g77-0.5.27) versus `GCC' 3.0:
-=============================================================
-
-   * Problem Reports fixed (in chronological order of submission):
-    `947'
-          Data statement initialization with subscript of kind INTEGER*2
-
-    `3743'
-          Reference to intrinsic `ISHFT' invalid
-
-    `3807'
-          Function BESJN(integer,double) problems
-
-    `3957'
-          g77 -pipe -xf77-cpp-input sends output to stdout
-
-    `4279'
-          g77 -h" gives bogus output
-
-    `4730'
-          ICE on valid input using CALL EXIT(%VAL(...))
-
-    `4752'
-          g77 -v -c -xf77-version /dev/null -xnone causes ice
-
-    `4885'
-          BACKSPACE example that doesn't work as of gcc/g77-3.0.x
-
-    `5122'
-          g77 rejects accepted use of INTEGER*2 as type of DATA
-          statement loop index
-
-    `5397'
-          ICE on compiling source with 540 000 000 REAL array
-
-    `5473'
-          ICE on BESJN(integer*8,real)
-
-    `5837'
-          bug in loop unrolling
-
-   * `g77' now has its man page generated from the texinfo
-     documentation, to guarantee that it remains up to date.
-
-   * `g77' used to reject the following program on 32-bit targets:
-          PROGRAM PROG
-          DIMENSION A(140 000 000)
-          END
-     with the message:
-          prog.f: In program `prog':
-          prog.f:2:
-                   DIMENSION A(140 000 000)
-                             ^
-          Array `a' at (^) is too large to handle
-     because 140 000 000 REALs is larger than the largest bit-extent
-     that can be expressed in 32 bits.  However, bit-sizes never play a
-     role after offsets have been converted to byte addresses.
-     Therefore this check has been removed, and the limit is now 2
-     Gbyte of memory (around 530 000 000 REALs).  Note: On GNU/Linux
-     systems one has to compile programs that occupy more than 1 Gbyte
-     statically, i.e. `g77 -static ...'.
-
-   * Based on work done by Juergen Pfeifer (<juergen.pfeifer@gmx.net>)
-     libf2c is now a shared library.  One can still link in all objects
-     with the program by specifying the `-static' option.
-
-   * Robert Anderson (<rwa@alumni.princeton.edu>) thought up a two line
-     change that enables g77 to compile such code as:
-          SUBROUTINE SUB(A, N)
-          DIMENSION N(2)
-          DIMENSION A(N(1),N(2))
-          A(1,1) = 1.
-          END
-     Note the use of array elements in the bounds of the adjustable
-     array A.
-
-   * George Helffrich (<george@geo.titech.ac.jp>) implemented a change
-     in substring index checking (when specifying `-fbounds-check')
-     that permits the use of zero length substrings of the form
-     `string(1:0)'.
-
-   * Based on code developed by Pedro Vazquez
-     (<vazquez@penelope.iqm.unicamp.br>), the `libf2c' library is now
-     able to read and write files larger than 2 Gbyte on 32-bit target
-     machines, if the operating system supports this.
-
-In 0.5.26, `GCC' 3.0 versus `GCC' 2.95:
-=======================================
-
-   * When a REWIND was issued after a WRITE statement on an unformatted
-     file, the implicit truncation was performed by copying the
-     truncated file to /tmp and copying the result back.  This has been
-     fixed by using the `ftruncate' OS function.  Thanks go to the
-     GAMESS developers for bringing this to our attention.
-
-   * Using options `-g', `-ggdb' or `-gdwarf[-2]' (where appropriate
-     for your target) now also enables debugging information for COMMON
-     BLOCK and EQUIVALENCE items to be emitted.  Thanks go to Andrew
-     Vaught (<andy@xena.eas.asu.edu>) and George Helffrich
-     (<george@geology.bristol.ac.uk>) for fixing this longstanding
-     problem.
-
-   * It is not necessary anymore to use the option `-femulate-complex'
-     to compile Fortran code using COMPLEX arithmetic, even on 64-bit
-     machines (like the Alpha).  This will improve code generation.
-
-   * INTRINSIC arithmetic functions are now treated as routines that do
-     not depend on anything but their argument(s).  This enables
-     further instruction scheduling, because it is known that they
-     cannot read or modify arbitrary locations.
-
-   * Upgrade to `libf2c' as of 2000-12-05.
-
-     This fixes a bug where a namelist containing initialization of
-     LOGICAL items and a variable starting with T or F would be read
-     incorrectly.
-
-   * The `TtyNam' intrinsics now set NAME to all spaces (at run time)
-     if the system has no `ttyname' implementation available.
-
-   * Upgrade to `libf2c' as of 1999-06-28.
-
-     This fixes a bug whereby input to a `NAMELIST' read involving a
-     repeat count, such as `K(5)=10*3', was not properly handled by
-     `libf2c'.  The first item was written to `K(5)', but the remaining
-     nine were written elsewhere (still within the array), not
-     necessarily starting at `K(6)'.
-
-In 0.5.25, `GCC' 2.95 (`EGCS' 1.2) versus `EGCS' 1.1.2:
-=======================================================
-
-   * `g77' no longer generates bad code for assignments, or other
-     conversions, of `REAL' or `COMPLEX' constant expressions to type
-     `INTEGER(KIND=2)' (often referred to as `INTEGER*8').
-
-     For example, `INTEGER*8 J; J = 4E10' now works as documented.
-
-   * `g77' no longer truncates `INTEGER(KIND=2)' (usually `INTEGER*8')
-     subscript expressions when evaluating array references on systems
-     with pointers widers than `INTEGER(KIND=1)' (such as Alphas).
-
-   * `g77' no longer generates bad code for an assignment to a
-     `COMPLEX' variable or array that partially overlaps one or more of
-     the sources of the same assignment (a very rare construction).  It
-     now assigns through a temporary, in cases where such partial
-     overlap is deemed possible.
-
-   * `libg2c' (`libf2c') no longer loses track of the file being worked
-     on during a `BACKSPACE' operation.
-
-   * `libg2c' (`libf2c') fixes a bug whereby input to a `NAMELIST' read
-     involving a repeat count, such as `K(5)=10*3', was not properly
-     handled by `libf2c'.  The first item was written to `K(5)', but
-     the remaining nine were written elsewhere (still within the array),
-     not necessarily starting at `K(6)'.
-
-   * Automatic arrays now seem to be working on HP-UX systems.
-
-   * The `Date' intrinsic now returns the correct result on big-endian
-     systems.
-
-   * Fix `g77' so it no longer crashes when compiling I/O statements
-     using keywords that define `INTEGER' values, such as `IOSTAT=J',
-     where J is other than default `INTEGER' (such as `INTEGER*2').
-     Instead, it issues a diagnostic.
-
-   * Fix `g77' so it properly handles `DATA A/RPT*VAL/', where RPT is
-     not default `INTEGER', such as `INTEGER*2', instead of producing a
-     spurious diagnostic.  Also fix `DATA (A(I),I=1,N)', where `N' is
-     not default `INTEGER' to work instead of crashing `g77'.
-
-   * The `-ax' option is now obeyed when compiling Fortran programs.
-     (It is passed to the `f771' driver.)
-
-   * The new `-fbounds-check' option causes `g77' to compile run-time
-     bounds checks of array subscripts, as well as of substring start
-     and end points.
-
-   * `libg2c' now supports building as multilibbed library, which
-     provides better support for systems that require options such as
-     `-mieee' to work properly.
-
-   * Source file names with the suffixes `.FOR' and `.FPP' now are
-     recognized by `g77' as if they ended in `.for' and `.fpp',
-     respectively.
-
-   * The order of arguments to the _subroutine_ forms of the `CTime',
-     `DTime', `ETime', and `TtyNam' intrinsics has been swapped.  The
-     argument serving as the returned value for the corresponding
-     function forms now is the _second_ argument, making these
-     consistent with the other subroutine forms of `libU77' intrinsics.
-
-   * `g77' now warns about a reference to an intrinsic that has an
-     interface that is not Year 2000 (Y2K) compliant.  Also, `libg2c'
-     has been changed to increase the likelihood of catching references
-     to the implementations of these intrinsics using the `EXTERNAL'
-     mechanism (which would avoid the new warnings).
-
-   * `g77' now warns about a reference to a function when the
-     corresponding _subsequent_ function program unit disagrees with
-     the reference concerning the type of the function.
-
-   * `-fno-emulate-complex' is now the default option.  This should
-     result in improved performance of code that uses the `COMPLEX'
-     data type.
-
-   * The `-malign-double' option now reliably aligns _all_
-     double-precision variables and arrays on Intel x86 targets.
-
-   * Even without the `-malign-double' option, `g77' reliably aligns
-     local double-precision variables that are not in `EQUIVALENCE'
-     areas and not `SAVE''d.
-
-   * `g77' now open-codes ("inlines") division of `COMPLEX' operands
-     instead of generating a run-time call to the `libf2c' routines
-     `c_div' or `z_div', unless the `-Os' option is specified.
-
-   * `g77' no longer generates code to maintain `errno', a C-language
-     concept, when performing operations such as the `SqRt' intrinsic.
-
-   * `g77' developers can temporarily use the `-fflatten-arrays' option
-     to compare how the compiler handles code generation using C-like
-     constructs as compared to the Fortran-like method constructs
-     normally used.
-
-   * A substantial portion of the `g77' front end's code-generation
-     component was rewritten.  It now generates code using facilities
-     more robustly supported by the `gcc' back end.  One effect of this
-     rewrite is that some codes no longer produce a spurious "label LAB
-     used before containing binding contour" message.
-
-   * Support for the `-fugly' option has been removed.
-
-   * Improve documentation and indexing, including information on Year
-     2000 (Y2K) compliance, and providing more information on internals
-     of the front end.
-
-   * Upgrade to `libf2c' as of 1999-05-10.
-
-In 0.5.24 versus 0.5.23:
-========================
-
-   There is no `g77' version 0.5.24 at this time, or planned.  0.5.24
-is the version number designated for bug fixes and, perhaps, some new
-features added, to 0.5.23.  Version 0.5.23 requires `gcc' 2.8.1, as
-0.5.24 was planned to require.
-
-   Due to `EGCS' becoming `GCC' (which is now an acronym for "GNU
-Compiler Collection"), and `EGCS' 1.2 becoming officially designated
-`GCC' 2.95, there seems to be no need for an actual 0.5.24 release.
-
-   To reduce the confusion already resulting from use of 0.5.24 to
-designate `g77' versions within `EGCS' versions 1.0 and 1.1, as well as
-in versions of `g77' documentation and notices during that period,
-"mainline" `g77' version numbering resumes at 0.5.25 with `GCC' 2.95
-(`EGCS' 1.2), skipping over 0.5.24 as a placeholder version number.
-
-   To repeat, there is no `g77' 0.5.24, but there is now a 0.5.25.
-Please remain calm and return to your keypunch units.
-
-In `EGCS' 1.1.2 versus `EGCS' 1.1.1:
-====================================
-
-   * Fix the `IDate' intrinsic (VXT) (in `libg2c') so the returned year
-     is in the documented, non-Y2K-compliant range of 0-99, instead of
-     being returned as 100 in the year 2000.
-
-   * Fix the `Date_and_Time' intrinsic (in `libg2c') to return the
-     milliseconds value properly in VALUES(8).
-
-   * Fix the `LStat' intrinsic (in `libg2c') to return device-ID
-     information properly in SARRAY(7).
-
-   * Improve documentation.
-
-In `EGCS' 1.1.1 versus `EGCS' 1.1:
-==================================
-
-   * Fix `libg2c' so it performs an implicit `ENDFILE' operation (as
-     appropriate) whenever a `REWIND' is done.
-
-     (This bug was introduced in 0.5.23 and `egcs' 1.1 in `g77''s
-     version of `libf2c'.)
-
-   * Fix `libg2c' so it no longer crashes with a spurious diagnostic
-     upon doing any I/O following a direct formatted write.
-
-     (This bug was introduced in 0.5.23 and `egcs' 1.1 in `g77''s
-     version of `libf2c'.)
-
-   * Fix `g77' so it no longer crashes compiling references to the
-     `Rand' intrinsic on some systems.
-
-   * Fix `g77' portion of installation process so it works better on
-     some systems (those with shells requiring `else true' clauses on
-     `if' constructs for the completion code to be set properly).
-
-In `EGCS' 1.1 versus `EGCS' 1.0.3:
-==================================
-
-   * Fix bugs in the `libU77' intrinsic `HostNm' that wrote one byte
-     beyond the end of its `CHARACTER' argument, and in the `libU77'
-     intrinsics `GMTime' and `LTime' that overwrote their arguments.
-
-   * Assumed arrays with negative bounds (such as `REAL A(-1:*)') no
-     longer elicit spurious diagnostics from `g77', even on systems
-     with pointers having different sizes than integers.
-
-     This bug is not known to have existed in any recent version of
-     `gcc'.  It was introduced in an early release of `egcs'.
-
-   * Valid combinations of `EXTERNAL', passing that external as a dummy
-     argument without explicitly giving it a type, and, in a subsequent
-     program unit, referencing that external as an external function
-     with a different type no longer crash `g77'.
-
-   * `CASE DEFAULT' no longer crashes `g77'.
-
-   * The `-Wunused' option no longer issues a spurious warning about
-     the "master" procedure generated by `g77' for procedures
-     containing `ENTRY' statements.
-
-   * Support `FORMAT(I<EXPR>)' when EXPR is a compile-time constant
-     `INTEGER' expression.
-
-   * Fix `g77' `-g' option so procedures that use `ENTRY' can be
-     stepped through, line by line, in `gdb'.
-
-   * Allow any `REAL' argument to intrinsics `Second' and `CPU_Time'.
-
-   * Use `tempnam', if available, to open scratch files (as in
-     `OPEN(STATUS='SCRATCH')') so that the `TMPDIR' environment
-     variable, if present, is used.
-
-   * `g77''s version of `libf2c' separates out the setting of global
-     state (such as command-line arguments and signal handling) from
-     `main.o' into distinct, new library archive members.
-
-     This should make it easier to write portable applications that
-     have their own (non-Fortran) `main()' routine properly set up the
-     `libf2c' environment, even when `libf2c' (now `libg2c') is a
-     shared library.
-
-   * `g77' no longer installs the `f77' command and `f77.1' man page in
-     the `/usr' or `/usr/local' hierarchy, even if the `f77-install-ok'
-     file exists in the source or build directory.  See the
-     installation documentation for more information.
-
-   * `g77' no longer installs the `libf2c.a' library and `f2c.h'
-     include file in the `/usr' or `/usr/local' hierarchy, even if the
-     `f2c-install-ok' or `f2c-exists-ok' files exist in the source or
-     build directory.  See the installation documentation for more
-     information.
-
-   * The `libf2c.a' library produced by `g77' has been renamed to
-     `libg2c.a'.  It is installed only in the `gcc' "private" directory
-     hierarchy, `gcc-lib'.  This allows system administrators and users
-     to choose which version of the `libf2c' library from `netlib' they
-     wish to use on a case-by-case basis.  See the installation
-     documentation for more information.
-
-   * The `f2c.h' include (header) file produced by `g77' has been
-     renamed to `g2c.h'.  It is installed only in the `gcc' "private"
-     directory hierarchy, `gcc-lib'.  This allows system administrators
-     and users to choose which version of the include file from
-     `netlib' they wish to use on a case-by-case basis.  See the
-     installation documentation for more information.
-
-   * The `g77' command now expects the run-time library to be named
-     `libg2c.a' instead of `libf2c.a', to ensure that a version other
-     than the one built and installed as part of the same `g77' version
-     is picked up.
-
-   * During the configuration and build process, `g77' creates
-     subdirectories it needs only as it needs them.  Other cleaning up
-     of the configuration and build process has been performed as well.
-
-   * `install-info' now used to update the directory of Info
-     documentation to contain an entry for `g77' (during installation).
-
-   * Some diagnostics have been changed from warnings to errors, to
-     prevent inadvertent use of the resulting, probably buggy, programs.
-     These mostly include diagnostics about use of unsupported features
-     in the `OPEN', `INQUIRE', `READ', and `WRITE' statements, and
-     about truncations of various sorts of constants.
-
-   * Improve compilation of `FORMAT' expressions so that a null byte is
-     appended to the last operand if it is a constant.  This provides a
-     cleaner run-time diagnostic as provided by `libf2c' for statements
-     like `PRINT '(I1', 42'.
-
-   * Improve documentation and indexing.
-
-   * The upgrade to `libf2c' as of 1998-06-18 should fix a variety of
-     problems, including those involving some uses of the `T' format
-     specifier, and perhaps some build (porting) problems as well.
-
-In `EGCS' 1.1 versus `g77' 0.5.23:
-==================================
-
-   * Fix a code-generation bug that afflicted Intel x86 targets when
-     `-O2' was specified compiling, for example, an old version of the
-     `DNRM2' routine.
-
-     The x87 coprocessor stack was being mismanaged in cases involving
-     assigned `GOTO' and `ASSIGN'.
-
-   * `g77' no longer produces incorrect code and initial values for
-     `EQUIVALENCE' and `COMMON' aggregates that, due to "unnatural"
-     ordering of members vis-a-vis their types, require initial padding.
-
-   * Fix `g77' crash compiling code containing the construct
-     `CMPLX(0.)' or similar.
-
-   * `g77' no longer crashes when compiling code containing
-     specification statements such as `INTEGER(KIND=7) PTR'.
-
-   * `g77' no longer crashes when compiling code such as `J = SIGNAL(1,
-     2)'.
-
-   * `g77' now treats `%LOC(EXPR)' and `LOC(EXPR)' as "ordinary"
-     expressions when they are used as arguments in procedure calls.
-     This change applies only to global (filewide) analysis, making it
-     consistent with how `g77' actually generates code for these cases.
-
-     Previously, `g77' treated these expressions as denoting special
-     "pointer" arguments for the purposes of filewide analysis.
-
-   * Fix `g77' crash (or apparently infinite run-time) when compiling
-     certain complicated expressions involving `COMPLEX' arithmetic
-     (especially multiplication).
-
-   * Align static double-precision variables and arrays on Intel x86
-     targets regardless of whether `-malign-double' is specified.
-
-     Generally, this affects only local variables and arrays having the
-     `SAVE' attribute or given initial values via `DATA'.
-
-   * The `g77' driver now ensures that `-lg2c' is specified in the link
-     phase prior to any occurrence of `-lm'.  This prevents
-     accidentally linking to a routine in the SunOS4 `-lm' library when
-     the generated code wants to link to the one in `libf2c' (`libg2c').
-
-   * `g77' emits more debugging information when `-g' is used.
-
-     This new information allows, for example, `which __g77_length_a'
-     to be used in `gdb' to determine the type of the phantom length
-     argument supplied with `CHARACTER' variables.
-
-     This information pertains to internally-generated type, variable,
-     and other information, not to the longstanding deficiencies
-     vis-a-vis `COMMON' and `EQUIVALENCE'.
-
-   * The F90 `Date_and_Time' intrinsic now is supported.
-
-   * The F90 `System_Clock' intrinsic allows the optional arguments
-     (except for the `Count' argument) to be omitted.
-
-   * Upgrade to `libf2c' as of 1998-06-18.
-
-   * Improve documentation and indexing.
-
-In previous versions:
-=====================
-
-   Information on previous versions is not provided in this
-`gcc/gcc/f/NEWS' file, to keep it short.  See `gcc/gcc/f/news.texi', or
-any of its other derivations (Info, HTML, dvi forms) for such
-information.
-