Commit a5a88a76 by Bud Davis Committed by Toon Moene

ste.c (ffeste_R838): Handle ERROR_MARK.

2003-06-01  Bud Davis  <bdavis9659@comcast.net>

	* ste.c (ffeste_R838): Handle ERROR_MARK.
	(ffeste_R839): Ditto.

From-SVN: r67295
parent cef2bd3e
2003-06-01 Bud Davis <bdavis9659@comcast.net>
* ste.c (ffeste_R838): Handle ERROR_MARK.
(ffeste_R839): Ditto.
2003-06-01 Andreas Jaeger <aj@suse.de> 2003-06-01 Andreas Jaeger <aj@suse.de>
* lex.c (ffelex_file_fixed): Remove usage of * lex.c (ffelex_file_fixed): Remove usage of
......
...@@ -2950,6 +2950,8 @@ ffeste_R838 (ffelab label, ffebld target) ...@@ -2950,6 +2950,8 @@ ffeste_R838 (ffelab label, ffebld target)
TREE_CONSTANT (label_tree) = 1; TREE_CONSTANT (label_tree) = 1;
target_tree = ffecom_expr_assign_w (target); target_tree = ffecom_expr_assign_w (target);
if (TREE_CODE (target_tree) != ERROR_MARK)
{
if (GET_MODE_SIZE (TYPE_MODE (TREE_TYPE (target_tree))) if (GET_MODE_SIZE (TYPE_MODE (TREE_TYPE (target_tree)))
< GET_MODE_SIZE (TYPE_MODE (TREE_TYPE (label_tree)))) < GET_MODE_SIZE (TYPE_MODE (TREE_TYPE (label_tree))))
error ("ASSIGN to variable that is too small"); error ("ASSIGN to variable that is too small");
...@@ -2961,6 +2963,7 @@ ffeste_R838 (ffelab label, ffebld target) ...@@ -2961,6 +2963,7 @@ ffeste_R838 (ffelab label, ffebld target)
label_tree); label_tree);
expand_expr_stmt (expr_tree); expand_expr_stmt (expr_tree);
} }
}
} }
/* Assigned GOTO statement. */ /* Assigned GOTO statement. */
...@@ -2978,11 +2981,15 @@ ffeste_R839 (ffebld target) ...@@ -2978,11 +2981,15 @@ ffeste_R839 (ffebld target)
seen here should never require use of temporaries. */ seen here should never require use of temporaries. */
t = ffecom_expr_assign (target); t = ffecom_expr_assign (target);
if (TREE_CODE (t) != ERROR_MARK)
{
if (GET_MODE_SIZE (TYPE_MODE (TREE_TYPE (t))) if (GET_MODE_SIZE (TYPE_MODE (TREE_TYPE (t)))
< GET_MODE_SIZE (TYPE_MODE (TREE_TYPE (null_pointer_node)))) < GET_MODE_SIZE (TYPE_MODE (TREE_TYPE (null_pointer_node))))
error ("ASSIGNed GOTO target variable is too small"); error ("ASSIGNed GOTO target variable is too small");
expand_computed_goto (convert (TREE_TYPE (null_pointer_node), t)); expand_computed_goto (convert (TREE_TYPE (null_pointer_node), t));
}
} }
/* Arithmetic IF statement. */ /* Arithmetic IF statement. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment