aboutsummaryrefslogtreecommitdiff
path: root/gcc/ch/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ch/parse.c')
-rw-r--r--gcc/ch/parse.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/gcc/ch/parse.c b/gcc/ch/parse.c
index fea4581044b..96026a105ba 100644
--- a/gcc/ch/parse.c
+++ b/gcc/ch/parse.c
@@ -1,5 +1,5 @@
/* Parser for GNU CHILL (CCITT High-Level Language) -*- C -*-
- Copyright (C) 1992, 1993 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1993, 1998, 1999 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -15,7 +15,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
/*
* This is a two-pass parser. In pass 1, we collect declarations,
@@ -73,6 +74,11 @@ extern struct rtx_def* gen_label_rtx PROTO((void));
extern void emit_jump PROTO((struct rtx_def *));
extern struct rtx_def* emit_label PROTO((struct rtx_def *));
+/* This is a hell of a lot easier than getting expr.h included in
+ by parse.c. */
+extern struct rtx_def *expand_expr PROTO((tree, struct rtx_def *,
+ enum machine_mode, int));
+
static int parse_action PROTO((void));
extern int lineno;
@@ -544,8 +550,9 @@ static void
parse_spec_module (label)
tree label;
{
- tree module_name = push_module (set_module_name (label), 1);
int save_ignoring = ignoring;
+
+ push_module (set_module_name (label), 1);
ignoring = pass == 2;
FORWARD_TOKEN(); /* SKIP SPEC */
expect (MODULE, "expected 'MODULE' here");
@@ -1669,7 +1676,7 @@ static void
parse_multi_dimension_case_action (selector)
tree selector;
{
- struct rtx_def *begin_test_label = 0, *end_case_label, *new_label;
+ struct rtx_def *begin_test_label = 0, *end_case_label = 0, *new_label;
tree action_labels = NULL_TREE;
tree tests = NULL_TREE;
int save_lineno = lineno;
@@ -2205,7 +2212,7 @@ parse_delay_case_action (label)
}
expect (ESAC, "missing 'ESAC' in DELAY CASE'");
if (! ignoring)
- build_delay_case_end (label_cnt, combined_event_list);
+ build_delay_case_end (combined_event_list);
possibly_define_exit_label (label);
poplevel (0, 0, 0);
}
@@ -2436,8 +2443,7 @@ parse_receive_case_action (label)
expect (ESAC, "missing 'ESAC' matching 'RECEIVE CASE'");
if (! ignoring)
{
- build_receive_case_end (instance_location, nreverse (alt_list),
- have_else_actions);
+ build_receive_case_end (nreverse (alt_list), have_else_actions);
}
possibly_define_exit_label (label);
poplevel (0, 0, 0);
@@ -3145,7 +3151,7 @@ parse_operand6 ()
{
if (check_token (RECEIVE))
{
- tree location = parse_primval ();
+ tree location ATTRIBUTE_UNUSED = parse_primval ();
sorry ("RECEIVE expression");
return integer_one_node;
}