]> gcc.gnu.org Git - gcc.git/commitdiff
Make -fno-emulate-complex the default
authorCraig Burley <craig@jcb-sc.com>
Sat, 3 Apr 1999 20:34:35 +0000 (20:34 +0000)
committerCraig Burley <burley@gcc.gnu.org>
Sat, 3 Apr 1999 20:34:35 +0000 (15:34 -0500)
From-SVN: r26161

gcc/f/ChangeLog
gcc/f/bugs.texi
gcc/f/g77.texi
gcc/f/lang-options.h
gcc/f/news.texi
gcc/f/top.c
gcc/f/version.c

index f54463cc69b75fef91fa03d5f62ab4e777db29d1..4d3b71cdd532cce337e9395dd34f362e4f60c592 100644 (file)
@@ -1,3 +1,11 @@
+Sat Apr  3 23:29:33 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * bugs.texi, g77.texi, lang-options.h, news.texi, top.c:
+       Make -fno-emulate-complex the default, as COMPLEX support
+       in the back end is now believed to be working.
+
+       * version.c: Bump version.
+
 Fri Apr  2 13:33:16 1999  Craig Burley  <craig@jcb-sc.com>
 
        * g77.texi: -malign-double now works.
index 637f205be0145dcdbf6f3ff5b9204058441e243b..ccf3a7b5ebb094607a09958cb3b03f131870063d 100644 (file)
@@ -9,7 +9,7 @@
 @c in the standalone derivations of this file (e.g. BUGS).
 @set copyrights-bugs 1995-1999
 
-@set last-update-bugs 1999-03-15
+@set last-update-bugs 1999-04-03
 
 @include root.texi
 
@@ -247,23 +247,6 @@ This problem is largely resolved as of version 0.5.23.
 Version 0.6 should solve most or all remaining problems
 (such as cross-compiling involving 64-bit machines).
 
-@cindex COMPLEX support
-@cindex support, COMPLEX
-@item
-Maintainers of @code{gcc} report that the back end definitely has ``broken''
-support for @code{COMPLEX} types.
-Based on their input, it seems many of
-the problems affect only the more-general facilities for gcc's
-@code{__complex__} type, such as @code{__complex__ int}
-(where the real and imaginary parts are integers) that GNU
-Fortran does not use.
-
-Version 0.5.20 of @code{g77} works around this
-problem by not using the back end's support for @code{COMPLEX}.
-The new option @samp{-fno-emulate-complex} avoids the work-around,
-reverting to using the same ``broken'' mechanism as that used
-by versions of @code{g77} prior to 0.5.20.
-
 @cindex padding
 @cindex structures
 @cindex common blocks
index 225345f33a08243633b3ce0c98382f7b5f8ceaad..a6b611ccd3d51de6e9b5132e7cd9a1064593d71f 100644 (file)
@@ -2,7 +2,7 @@
 @c %**start of header
 @setfilename g77.info
 
-@set last-update 1999-04-02
+@set last-update 1999-04-03
 @set copyrights-g77 1995-1999
 
 @include root.texi
@@ -1466,7 +1466,7 @@ by type.  Explanations are in the following sections.
 -fpcc-struct-return  -freg-struct-return
 -fshort-double  -fno-common  -fpack-struct
 -fzeros  -fno-second-underscore
--fdebug-kludge  -fno-emulate-complex
+-fdebug-kludge  -femulate-complex
 -falias-check  -fargument-alias
 -fargument-noalias  -fno-argument-noalias-global
 -fno-globals
@@ -3253,44 +3253,36 @@ Current plans call for this to happen when published versions of @code{g77}
 and @code{gdb} exist that provide proper access to debugging information on
 @code{COMMON} and @code{EQUIVALENCE} members.
 
-@cindex -fno-emulate-complex option
-@cindex options, -fno-emulate-complex
-@item -fno-emulate-complex
-Implement @code{COMPLEX} arithmetic using the facilities in
+@cindex -femulate-complex option
+@cindex options, -femulate-complex
+@item -femulate-complex
+Implement @code{COMPLEX} arithmetic via emulation,
+instead of using the facilities of
 the @code{gcc} back end that provide direct support of
-@code{complex} arithmetic, instead of emulating the arithmetic.
+@code{complex} arithmetic.
 
-@code{gcc} has some known problems in its back-end support
+(@code{gcc} had some bugs in its back-end support
 for @code{complex} arithmetic, due primarily to the support not being
-completed as of version 2.7.2.2.
-Other front ends for the @code{gcc} back end avoid this problem
-by emulating @code{complex} arithmetic at a higher level, so the
-back end sees arithmetic on the real and imaginary components.
-To make @code{g77} more portable to systems where @code{complex}
-support in the @code{gcc} back end is particularly troublesome,
-@code{g77} now defaults to performing the same kinds of emulations
-done by these other front ends.
-
-Use @samp{-fno-emulate-complex} to try the @code{complex} support
-in the @code{gcc} back end, in case it works and produces faster
-programs.
-So far, all the known bugs seem to involve compile-time crashes,
-rather than the generation of incorrect code.
+completed as of version 2.8.1 and @code{egcs} 1.1.2.)
+
+Use @samp{-femulate-complex} if you suspect code-generation bugs,
+or experience compiler crashes,
+that might result from @code{g77} using the @code{COMPLEX} support
+in the @code{gcc} back end.
+If using that option fixes the bugs or crashes you are seeing,
+that indicates a likely @code{g77} bugs
+(though, all compiler crashes are considered bugs),
+so, please report it.
+(Note that the known bugs, now believed fixed, produced compiler crashes
+rather than causing the generation of incorrect code.)
 
 Use of this option should not affect how Fortran code compiled
 by @code{g77} works in terms of its interfaces to other code,
 e.g. that compiled by @code{f2c}.
 
-@emph{Caution:} Future versions of @code{g77} are likely to change
-the default for this option to
-@samp{-fno-emulate-complex}, and perhaps someday ignore both forms
+@emph{Caution:} Future versions of @code{g77} might ignore both forms
 of this option.
 
-Also, it is possible that use of the @samp{-fno-emulate-complex} option
-could result in incorrect code being silently produced by @code{g77}.
-But, this is generally true of compilers anyway, so, as usual, test
-the programs you compile before assuming they are working.
-
 @cindex -falias-check option
 @cindex options, -falias-check
 @cindex -fargument-alias option
@@ -8896,11 +8888,6 @@ mode afterward.
 (In @code{gdb}, this is accomplished via @samp{set lang c} and
 either @samp{set lang fortran} or @samp{set lang auto}.)
 
-@emph{Note:} Compiling with the @samp{-fno-emulate-complex} option
-avoids the debugging problem, but is known to cause other problems
-like compiler crashes and generation of incorrect code, so it is
-not recommended.
-
 @node Arrays
 @section Arrays (DIMENSION)
 @cindex DIMENSION statement
index e1446ddde44e388141f4c2326f608d0073aa598a..3f439fdd6a8d05c74bae2a2e99427154ba2c42d8 100644 (file)
@@ -81,8 +81,8 @@ FTNOPT( "-finit-local-zero", "Initialize local vars and arrays to zero" )
 FTNOPT( "-fno-init-local-zero", "" )
 FTNOPT( "-fbackslash", "" )
 FTNOPT( "-fno-backslash", "Backslashes in character/hollerith constants not special (C-style)" )
-FTNOPT( "-femulate-complex", "" )
-FTNOPT( "-fno-emulate-complex", "Have compiler back end cope with COMPLEX arithmetic" )
+FTNOPT( "-femulate-complex", "Have front end emulate COMPLEX arithmetic to avoid bugs" )
+FTNOPT( "-fno-emulate-complex", "" )
 FTNOPT( "-funderscoring", "" )
 FTNOPT( "-fno-underscoring", "Disable the appending of underscores to externals" )
 FTNOPT( "-fsecond-underscore", "" )
index 8bfa4381223a50cce3f039d494c388a7b41f8fbe..8723157ce929b4dfc29d19aa5ba49a9a9ef58701 100644 (file)
@@ -9,7 +9,7 @@
 @c in the standalone derivations of this file (e.g. NEWS).
 @set copyrights-news 1995-1999
 
-@set last-update-news 1999-04-02
+@set last-update-news 1999-04-03
 
 @include root.texi
 
@@ -204,6 +204,11 @@ when the corresponding @emph{subsequent} function program unit
 disagrees with the reference concerning the type of the function.
 @end ifclear
 
+@item
+@code{-fno-emulate-complex} is now the default option.
+This should result in improved performance
+of code that uses the @code{COMPLEX} data type.
+
 @cindex alignment
 @cindex double-precision performance
 @cindex -malign-double
index 6f94b1ce0fd996e65b2ba441973ce7989f11e8c1..692801841b3f40c82cc1526372b0e5232394bd59 100644 (file)
@@ -65,7 +65,7 @@ bool ffe_is_do_internal_checks_ = FALSE;
 bool ffe_is_90_ = FFETARGET_defaultIS_90;
 bool ffe_is_automatic_ = FFETARGET_defaultIS_AUTOMATIC;
 bool ffe_is_backslash_ = FFETARGET_defaultIS_BACKSLASH;
-bool ffe_is_emulate_complex_ = TRUE;
+bool ffe_is_emulate_complex_ = FALSE;
 bool ffe_is_underscoring_ = FFETARGET_defaultEXTERNAL_UNDERSCORED
   || FFETARGET_defaultUNDERSCORED_EXTERNAL_UNDERSCORED;
 bool ffe_is_second_underscore_ = FFETARGET_defaultUNDERSCORED_EXTERNAL_UNDERSCORED;
index 83cb30cbbe5a75801b81cb59661cad8bcdf0ac3c..5ec5a80800676fd683f1c1dca03c788ed1ca7d80 100644 (file)
@@ -1 +1 @@
-const char *ffe_version_string = "0.5.24-19990313";
+const char *ffe_version_string = "0.5.24-19990403";
This page took 0.083397 seconds and 5 git commands to generate.