Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
d8955e17
Commit
d8955e17
authored
Apr 03, 1999
by
Craig Burley
Committed by
Craig Burley
Apr 03, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make -fno-emulate-complex the default
From-SVN: r26161
parent
0ea78edb
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
41 additions
and
58 deletions
+41
-58
gcc/f/ChangeLog
+8
-0
gcc/f/bugs.texi
+1
-18
gcc/f/g77.texi
+22
-35
gcc/f/lang-options.h
+2
-2
gcc/f/news.texi
+6
-1
gcc/f/top.c
+1
-1
gcc/f/version.c
+1
-1
No files found.
gcc/f/ChangeLog
View file @
d8955e17
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.
...
...
gcc/f/bugs.texi
View file @
d8955e17
...
...
@@ -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
-
0
3
-
15
@set
last
-
update
-
bugs
1999
-
0
4
-
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
...
...
gcc/f/g77.texi
View file @
d8955e17
...
...
@@ -2,7 +2,7 @@
@c
%**
start
of
header
@setfilename
g77
.
info
@set
last
-
update
1999
-
04
-
0
2
@set
last
-
update
1999
-
04
-
0
3
@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
-
f
no
-
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 problem
s in its back-end support
(@code{gcc} had some bug
s 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
...
...
gcc/f/lang-options.h
View file @
d8955e17
...
...
@@ -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"
,
""
)
...
...
gcc/f/news.texi
View file @
d8955e17
...
...
@@ -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
-
0
2
@set
last
-
update
-
news
1999
-
04
-
0
3
@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
...
...
gcc/f/top.c
View file @
d8955e17
...
...
@@ -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_
=
TRU
E
;
bool
ffe_is_emulate_complex_
=
FALS
E
;
bool
ffe_is_underscoring_
=
FFETARGET_defaultEXTERNAL_UNDERSCORED
||
FFETARGET_defaultUNDERSCORED_EXTERNAL_UNDERSCORED
;
bool
ffe_is_second_underscore_
=
FFETARGET_defaultUNDERSCORED_EXTERNAL_UNDERSCORED
;
...
...
gcc/f/version.c
View file @
d8955e17
const
char
*
ffe_version_string
=
"0.5.24-19990
31
3"
;
const
char
*
ffe_version_string
=
"0.5.24-19990
40
3"
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment