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
11b6d80d
Commit
11b6d80d
authored
Jun 04, 1999
by
Craig Burley
Committed by
Craig Burley
Jun 04, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add item to missing features
From-SVN: r27350
parent
ecfa9fcc
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
63 additions
and
1 deletions
+63
-1
gcc/f/ChangeLog
+5
-0
gcc/f/g77.texi
+58
-1
No files found.
gcc/f/ChangeLog
View file @
11b6d80d
Fri Jun 4 10:09:50 1999 Craig Burley <craig@jcb-sc.com>
* g77.texi (Missing Features): Add `Better Warnings'
item.
Fri May 28 16:51:41 1999 Craig Burley <craig@jcb-sc.com>
* g77.texi: Fix thinko.
...
...
gcc/f/g77.texi
View file @
11b6d80d
...
...
@@ -2,7 +2,7 @@
@c
%**
start
of
header
@setfilename
g77
.
info
@set
last
-
update
1999
-
0
5
-
28
@set
last
-
update
1999
-
0
6
-
04
@set
copyrights
-
g77
1995
-
1999
@include
root
.
texi
...
...
@@ -11428,6 +11428,7 @@ New facilities:
* Increasing Precision/Range::
Better diagnostics:
* Better Warnings::
* Gracefully Handle Sensible Bad Code::
* Non-standard Conversions::
* Non-standard Intrinsics::
...
...
@@ -12174,6 +12175,62 @@ are thread-safe, nor does @code{g77} have support for parallel processing
processors).
A package such as PVM might help here.
@node Better Warnings
@subsection Better Warnings
Because of how @code{g77} generates code via the back end,
it doesn't always provide warnings the user wants.
Consider:
@smallexample
PROGRAM X
PRINT *, A
END
@end smallexample
Currently, the above is not flagged as a case of
using an uninitialized variable,
because @code{g77} generates a run-time library call that looks,
to the GBE, like it might actually @emph{modify} @samp{A} at run time.
(And, in fact, depending on the previous run-time library call,
it would!)
Fixing this requires one of the following:
@itemize @bullet
@item
Switch to new library, @code{libg77}, that provides
a more ``clean'' interface,
vis-a-vis input, output, and modified arguments,
so the GBE can tell what's going on.
This would provide a pretty big performance improvement,
at least theoretically, and, ultimately, in practice,
for some types of code.
@item
Have @code{g77} pass a pointer to a temporary
containing a copy of @samp{A},
instead of to @samp{A} itself.
The GBE would then complain about the copy operation
involving a potentially uninitialized variable.
This might also provide a performance boost for some code,
because @samp{A} might then end up living in a register,
which could help with inner loops.
@item
Have @code{g77} use a GBE construct similar to @code{ADDR_EXPR}
but with extra information on the fact that the
item pointed to won't be modified
(a la @code{const} in C).
Probably the best solution for now, but not quite trivial
to implement in the general case.
Worth considering after @code{g77} 0.6 is considered
pretty solid.
@end itemize
@node Gracefully Handle Sensible Bad Code
@subsection Gracefully Handle Sensible Bad Code
...
...
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