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
702edf1d
Commit
702edf1d
authored
Apr 04, 1999
by
Craig Burley
Committed by
Craig Burley
Apr 04, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix bugs exposed by --enable-checking
From-SVN: r26181
parent
f114df20
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
69 additions
and
13 deletions
+69
-13
gcc/f/ChangeLog
+10
-0
gcc/f/com.c
+32
-12
gcc/f/ste.c
+26
-0
gcc/f/version.c
+1
-1
No files found.
gcc/f/ChangeLog
View file @
702edf1d
Mon Apr 5 02:11:23 1999 Craig Burley <craig@jcb-sc.com>
Fix bugs exposed by configuring with --enable-checking:
* com.c (ffecom_do_entry_, ffecom_expr_, ffecom_arg_ptr_to_expr,
ffecom_list_expr, ffecom_list_ptr_to_expr, finish_function,
pop_f_function_context, store_parm_decls, poplevel): Handle
error_mark_node properly.
* ste.c (ffeste_begin_iterdo_, ffeste_end_iterdo_): Ditto.
* version.c: Bump version.
Sat Apr 3 23:57:56 1999 Craig Burley <craig@jcb-sc.com>
Sat Apr 3 23:57:56 1999 Craig Burley <craig@jcb-sc.com>
* g77.texi: Fix up docs for -fset-g77-defaults, and
* g77.texi: Fix up docs for -fset-g77-defaults, and
...
...
gcc/f/com.c
View file @
702edf1d
...
@@ -2599,7 +2599,8 @@ ffecom_do_entry_ (ffesymbol fn, int entrynum)
...
@@ -2599,7 +2599,8 @@ ffecom_do_entry_ (ffesymbol fn, int entrynum)
if
(
ffebld_op
(
arg
)
!=
FFEBLD_opSYMTER
)
if
(
ffebld_op
(
arg
)
!=
FFEBLD_opSYMTER
)
continue
;
continue
;
s
=
ffebld_symter
(
arg
);
s
=
ffebld_symter
(
arg
);
if
(
ffesymbol_hook
(
s
).
decl_tree
==
NULL_TREE
)
if
(
ffesymbol_hook
(
s
).
decl_tree
==
NULL_TREE
||
ffesymbol_hook
(
s
).
decl_tree
==
error_mark_node
)
actarg
=
null_pointer_node
;
/* We don't have this arg. */
actarg
=
null_pointer_node
;
/* We don't have this arg. */
else
else
actarg
=
ffesymbol_hook
(
s
).
decl_tree
;
actarg
=
ffesymbol_hook
(
s
).
decl_tree
;
...
@@ -2622,7 +2623,8 @@ ffecom_do_entry_ (ffesymbol fn, int entrynum)
...
@@ -2622,7 +2623,8 @@ ffecom_do_entry_ (ffesymbol fn, int entrynum)
continue
;
/* Only looking for CHARACTER arguments. */
continue
;
/* Only looking for CHARACTER arguments. */
if
(
ffesymbol_kind
(
s
)
!=
FFEINFO_kindENTITY
)
if
(
ffesymbol_kind
(
s
)
!=
FFEINFO_kindENTITY
)
continue
;
/* Only looking for variables and arrays. */
continue
;
/* Only looking for variables and arrays. */
if
(
ffesymbol_hook
(
s
).
length_tree
==
NULL_TREE
)
if
(
ffesymbol_hook
(
s
).
length_tree
==
NULL_TREE
||
ffesymbol_hook
(
s
).
length_tree
==
error_mark_node
)
actarg
=
ffecom_f2c_ftnlen_zero_node
;
/* We don't have this arg. */
actarg
=
ffecom_f2c_ftnlen_zero_node
;
/* We don't have this arg. */
else
else
actarg
=
ffesymbol_hook
(
s
).
length_tree
;
actarg
=
ffesymbol_hook
(
s
).
length_tree
;
...
@@ -3282,6 +3284,9 @@ ffecom_expr_ (ffebld expr, tree dest_tree, ffebld dest,
...
@@ -3282,6 +3284,9 @@ ffecom_expr_ (ffebld expr, tree dest_tree, ffebld dest,
args
=
ffecom_list_ptr_to_expr
(
ffebld_right
(
expr
));
args
=
ffecom_list_ptr_to_expr
(
ffebld_right
(
expr
));
ffecom_pop_calltemps
();
ffecom_pop_calltemps
();
if
(
args
==
error_mark_node
)
return
error_mark_node
;
item
=
ffecom_call_
(
item
,
kt
,
item
=
ffecom_call_
(
item
,
kt
,
ffesymbol_is_f2c
(
s
)
ffesymbol_is_f2c
(
s
)
&&
(
bt
==
FFEINFO_basictypeCOMPLEX
)
&&
(
bt
==
FFEINFO_basictypeCOMPLEX
)
...
@@ -10977,6 +10982,9 @@ ffecom_arg_ptr_to_expr (ffebld expr, tree *length)
...
@@ -10977,6 +10982,9 @@ ffecom_arg_ptr_to_expr (ffebld expr, tree *length)
tree
temp_length
;
tree
temp_length
;
temp_exp
=
ffecom_arg_ptr_to_expr
(
ffebld_left
(
expr
),
&
temp_length
);
temp_exp
=
ffecom_arg_ptr_to_expr
(
ffebld_left
(
expr
),
&
temp_length
);
if
(
temp_exp
==
error_mark_node
)
return
error_mark_node
;
return
ffecom_1
(
INDIRECT_REF
,
TREE_TYPE
(
TREE_TYPE
(
temp_exp
)),
return
ffecom_1
(
INDIRECT_REF
,
TREE_TYPE
(
TREE_TYPE
(
temp_exp
)),
temp_exp
);
temp_exp
);
}
}
...
@@ -12703,9 +12711,12 @@ ffecom_list_expr (ffebld expr)
...
@@ -12703,9 +12711,12 @@ ffecom_list_expr (ffebld expr)
while
(
expr
!=
NULL
)
while
(
expr
!=
NULL
)
{
{
*
plist
tree
texpr
=
ffecom_arg_expr
(
ffebld_head
(
expr
),
&
length
);
=
build_tree_list
(
NULL_TREE
,
ffecom_arg_expr
(
ffebld_head
(
expr
),
&
length
));
if
(
texpr
==
error_mark_node
)
return
error_mark_node
;
*
plist
=
build_tree_list
(
NULL_TREE
,
texpr
);
plist
=
&
TREE_CHAIN
(
*
plist
);
plist
=
&
TREE_CHAIN
(
*
plist
);
expr
=
ffebld_trail
(
expr
);
expr
=
ffebld_trail
(
expr
);
if
(
length
!=
NULL_TREE
)
if
(
length
!=
NULL_TREE
)
...
@@ -12742,10 +12753,12 @@ ffecom_list_ptr_to_expr (ffebld expr)
...
@@ -12742,10 +12753,12 @@ ffecom_list_ptr_to_expr (ffebld expr)
while
(
expr
!=
NULL
)
while
(
expr
!=
NULL
)
{
{
*
plist
tree
texpr
=
ffecom_arg_ptr_to_expr
(
ffebld_head
(
expr
),
&
length
);
=
build_tree_list
(
NULL_TREE
,
ffecom_arg_ptr_to_expr
(
ffebld_head
(
expr
),
if
(
texpr
==
error_mark_node
)
&
length
));
return
error_mark_node
;
*
plist
=
build_tree_list
(
NULL_TREE
,
texpr
);
plist
=
&
TREE_CHAIN
(
*
plist
);
plist
=
&
TREE_CHAIN
(
*
plist
);
expr
=
ffebld_trail
(
expr
);
expr
=
ffebld_trail
(
expr
);
if
(
length
!=
NULL_TREE
)
if
(
length
!=
NULL_TREE
)
...
@@ -14366,7 +14379,9 @@ finish_function (int nested)
...
@@ -14366,7 +14379,9 @@ finish_function (int nested)
if
(
!
nested
)
if
(
!
nested
)
permanent_allocation
(
1
);
permanent_allocation
(
1
);
if
(
DECL_SAVED_INSNS
(
fndecl
)
==
0
&&
!
nested
&&
(
TREE_CODE
(
fndecl
)
!=
ERROR_MARK
))
if
(
TREE_CODE
(
fndecl
)
!=
ERROR_MARK
&&
!
nested
&&
DECL_SAVED_INSNS
(
fndecl
)
==
0
)
{
{
/* Stop pointing to the local nodes about to be freed. */
/* Stop pointing to the local nodes about to be freed. */
/* But DECL_INITIAL must remain nonzero so we know this was an actual
/* But DECL_INITIAL must remain nonzero so we know this was an actual
...
@@ -14544,7 +14559,8 @@ pop_f_function_context ()
...
@@ -14544,7 +14559,8 @@ pop_f_function_context ()
IDENTIFIER_LABEL_VALUE
(
DECL_NAME
(
TREE_VALUE
(
link
)))
IDENTIFIER_LABEL_VALUE
(
DECL_NAME
(
TREE_VALUE
(
link
)))
=
TREE_VALUE
(
link
);
=
TREE_VALUE
(
link
);
if
(
DECL_SAVED_INSNS
(
current_function_decl
)
==
0
)
if
(
current_function_decl
!=
error_mark_node
&&
DECL_SAVED_INSNS
(
current_function_decl
)
==
0
)
{
{
/* Stop pointing to the local nodes about to be freed. */
/* Stop pointing to the local nodes about to be freed. */
/* But DECL_INITIAL must remain nonzero so we know this was an actual
/* But DECL_INITIAL must remain nonzero so we know this was an actual
...
@@ -14648,6 +14664,9 @@ store_parm_decls (int is_main_program UNUSED)
...
@@ -14648,6 +14664,9 @@ store_parm_decls (int is_main_program UNUSED)
{
{
register
tree
fndecl
=
current_function_decl
;
register
tree
fndecl
=
current_function_decl
;
if
(
fndecl
==
error_mark_node
)
return
;
/* This is a chain of PARM_DECLs from old-style parm declarations. */
/* This is a chain of PARM_DECLs from old-style parm declarations. */
DECL_ARGUMENTS
(
fndecl
)
=
storedecls
(
nreverse
(
getdecls
()));
DECL_ARGUMENTS
(
fndecl
)
=
storedecls
(
nreverse
(
getdecls
()));
...
@@ -15193,7 +15212,8 @@ poplevel (keep, reverse, functionbody)
...
@@ -15193,7 +15212,8 @@ poplevel (keep, reverse, functionbody)
}
}
/* Dispose of the block that we just made inside some higher level. */
/* Dispose of the block that we just made inside some higher level. */
if
(
functionbody
)
if
(
functionbody
&&
current_function_decl
!=
error_mark_node
)
DECL_INITIAL
(
current_function_decl
)
=
block
;
DECL_INITIAL
(
current_function_decl
)
=
block
;
else
if
(
block
)
else
if
(
block
)
{
{
...
...
gcc/f/ste.c
View file @
702edf1d
...
@@ -317,6 +317,17 @@ ffeste_begin_iterdo_ (ffestw block, tree *xtvar, tree *xtincr,
...
@@ -317,6 +317,17 @@ ffeste_begin_iterdo_ (ffestw block, tree *xtvar, tree *xtincr,
tvar
=
ffecom_expr_rw
(
var
);
tvar
=
ffecom_expr_rw
(
var
);
tincr
=
ffecom_expr
(
incr
);
tincr
=
ffecom_expr
(
incr
);
if
(
TREE_CODE
(
tvar
)
==
ERROR_MARK
||
TREE_CODE
(
tincr
)
==
ERROR_MARK
)
{
if
(
block
)
ffestw_set_do_tvar
(
block
,
error_mark_node
);
else
*
xtvar
=
error_mark_node
;
pop_momentary
();
return
;
}
/* Check whether incr is known to be zero, complain and fix. */
/* Check whether incr is known to be zero, complain and fix. */
if
(
integer_zerop
(
tincr
)
||
real_zerop
(
tincr
))
if
(
integer_zerop
(
tincr
)
||
real_zerop
(
tincr
))
...
@@ -336,6 +347,18 @@ ffeste_begin_iterdo_ (ffestw block, tree *xtvar, tree *xtincr,
...
@@ -336,6 +347,18 @@ ffeste_begin_iterdo_ (ffestw block, tree *xtvar, tree *xtincr,
tstart
=
ffecom_expr
(
start
);
tstart
=
ffecom_expr
(
start
);
tend
=
ffecom_expr
(
end
);
tend
=
ffecom_expr
(
end
);
if
(
TREE_CODE
(
tstart
)
==
ERROR_MARK
||
TREE_CODE
(
tend
)
==
ERROR_MARK
)
{
if
(
block
)
ffestw_set_do_tvar
(
block
,
error_mark_node
);
else
*
xtvar
=
error_mark_node
;
pop_momentary
();
pop_momentary
();
return
;
}
{
/* For warnings only, nothing else
{
/* For warnings only, nothing else
happens here. */
happens here. */
tree
try
;
tree
try
;
...
@@ -492,6 +515,9 @@ ffeste_end_iterdo_ (tree tvar, tree tincr, tree itersvar)
...
@@ -492,6 +515,9 @@ ffeste_end_iterdo_ (tree tvar, tree tincr, tree itersvar)
tree
expr
;
tree
expr
;
tree
niters
=
itersvar
;
tree
niters
=
itersvar
;
if
(
tvar
==
error_mark_node
)
return
;
expand_loop_continue_here
();
expand_loop_continue_here
();
if
(
ffe_is_onetrip
())
if
(
ffe_is_onetrip
())
...
...
gcc/f/version.c
View file @
702edf1d
const
char
*
ffe_version_string
=
"0.5.24-1999040
3
"
;
const
char
*
ffe_version_string
=
"0.5.24-1999040
5
"
;
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