aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>1998-09-20 06:43:23 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>1998-09-20 06:43:23 +0000
commit7511142254795beb9417f1c226d3ba471a9272fc (patch)
treed27f7048847bc13ea36b08616d926a32a195fdac
parent9a8a3666686731ec5447bc93b6dc27a9b9d97ec0 (diff)
downloadgcc-7511142254795beb9417f1c226d3ba471a9272fc.zip
gcc-7511142254795beb9417f1c226d3ba471a9272fc.tar.gz
gcc-7511142254795beb9417f1c226d3ba471a9272fc.tar.bz2
Warning fixes:
* Makefile.in (actions.o, convert.o, decl.o, expr.o, lang.o, lex.o, loop.o, parse.o, satisfy.o, timing.o, tasking.o, tree.o, typeck.o): Depend on system.h and toplev.h. (except.o): Depend on toplev.h. (grant.o): Depend on system.h, toplev.h and output.h. * actions.c: Include system.h and toplev.h. Remove redundant prototypes. (build_cause_exception): Add default case in switch. (update_else_range_for_range): Add parentheses around && within ||. (chill_handle_multi_case_label_list): Remove unused variable `selector_value'. (print_missing_cases): Reconcile format specifiers vs arguments in calls to sprintf. * ch-tree.h: Don't include stdio.h. Wrap prototypes using FILE* with macro BUFSIZ. Add missing prototypes. * convert.c: Include system.h and toplev.h. Remove redundant prototypes. (convert): Remove unused variable `errstr'. * decl.c: Include system.h and toplev.h. Remove redundant prototypes. (builtin_scope): Add missing initializers. (clear_scope): Likewise. (allocate_lang_decl): Mark parameter `t' with ATTRIBUTE_UNUSED. (copy_lang_decl): Likewise for parameter `node'. (c_decode_option): Likewise for parameter `argc'. (push_extern_function): Likewise for parameter `granting'. (switch_to_pass_2): Hide declaration of errorcount/sorrycount. (pushdecl): Remove unused variable `t'. (lookup_name_current_level): Make static and hide. (lookup_name_for_seizing): Make static. (finish_decl): Remove unused variable `type'. (maybe_build_cleanup): Mark parameter `decl' with ATTRIBUTE_UNUSED. (complete_array_type): Mark parameters `type', `initial_value' and `do_default' with ATTRIBUTE_UNUSED. (start_struct): Mark parameter `name' with ATTRIBUTE_UNUSED. (start_enum): Likewise. (shadow_record_fields): Remove unused variables `type' and `parent'. * except.c: Include toplev.h. Remove redundant prototypes. * expr.c: Include system.h and toplev.h. Don't define NULL. Remove redundant prototypes. (internal_build_compound_expr): Mark parameter `first_p' with ATTRIBUTE_UNUSED. (build_allocate_getstack): Remove unused variable `init'. (build_chill_pred_or_succ): Likewise for variable `limit'. (varying_to_slice): Likewise for variable `doamin' [sic]. (finish_chill_binary_op): Likewise for variables `code0' and `code1'. Remove unused label `finish'. Add explicit braces to avoid ambiguous `else'. (build_chill_addr_expr): Remove extra parameter in call to `error'. (build_chill_unary_op): Remove unused variables `class' and `type0'. (powersetlen): Remove unused variables `domain' and `temp'. * grant.c: Include system.h, toplev.h and output.h. Don't handle strchr/strrchr. Remove redundant prototypes. (decode_constant_selective): Remove unused variables `op' and `wrk'. (push_granted): Mark parameters `name' and `decl' with ATTRIBUTE_UNUSED. * inout.c: Include system.h and toplev.h. Remove redundant prototypes. (textlocation_mode): Use &&, not &, when comparing two truth values. (scanformcont): Remove unused label `do_the_action'. * lang.c: Include system.h and toplev.h. Remove redundant prototypes. (lookup_interface): Mark parameter `arg' with ATTRIBUTE_UNUSED. (maybe_objc_comptypes): Likewise for parameters `lhs' and `rhs'. (lang_print_xnode): Likewise for parameters `file', `node' and `indent'. (lang_decode_option): Explicitly declare `explicit_ignore_case'. (incomplete_type_error): Mark parameters `value' and `type' with ATTRIBUTE_UNUSED. * lex.c: Include system.h and toplev.h. Remove redundant prototypes. Don't handle strchr/strrchr. Use CAPITALIZED versions of ctype macros from system.h. Cast ctype arguments to unsigned char when necessary. (last_token, RETURN_TOKEN): Hide definition. (push_back): Remove unused function. (readstring): Change variable `i' to unsigned. (yywrap): Remove unused variable `node'. * loop.c: Include system.h and toplev.h. Remove redundant prototypes. (chill_unsigned_type): Hide prototype and definition. (begin_loop_scope): Remove unused variable `firstp'. (nonvalue_begin_loop_scope): Likewise. * parse.c: Include system.h and toplev.h. Remove redundant prototypes. (quasi_signal): Hide. (PEEK_TOKEN): Change return type to `enum terminal'. (parse_mode_definition_statement): Remove unused variable `names'. (parse_formpar): Remove unused parameter `in_spec_module'. All callers changed. (parse_formparlist): Likewise. (parse_processpar): Remove unused variable `parms'. (parse_definition): Add explicit braces to avoid ambiguous `else'. (parse_multi_dimension_case_action): Initialize variable `begin_test_label'. Remove unused variable `new_test'. (parse_case_action): Remove unused variable `caseaction_flag'. (parse_asm_clobbers): Remove unused variable `expr'. (parse_delay_case_action): Initialize variable `label_cnt'. (parse_action): Make function static. (parse_tuple_element): Remove unused variable `list'. (parse_primval): Add default case in switch. (parse_variant_alternative): Remove unused variables `x' and `variant_fields'. * satisfy.c: Include system.h and toplev.h. Remove redundant prototypes. * tasking.c Include system.h and toplev.h. Remove redundant prototypes. (data_name): Hide. (get_struct_variable_name): Likewise. (validate_process_parameters): Mark parameter `parms' with ATTRIBUTE_UNUSED. (build_start_process): Initialize variable `tuple'. (build_receive_buffer_case_end): Remove unused variable `buffer_ptr'. * timing.c: Include system.h and toplev.h. (build_after_timeout_start): Remove unused variable `goto_where'. * tree.c: Include system.h and toplev.h. Remove redundant prototypes. * typeck.c: Include system.h and toplev.h. Remove redundant prototypes. (extract_constant_from_buffer): Make function static. Add explicit braces to avoid ambiguous `else'. (expand_constant_to_buffer): Likewise. (build_chill_slice): remove unused variable `is_static'. (chill_compatible): Add explicit braces to avoid ambiguous `else'. (apply_chill_array_layout): Remove unused variable `offset'. (smash_dummy_type): Remove unused variable `save_lang_specific'. (initializer_constant_valid_p): Add default case in switch. From-SVN: r22493
-rw-r--r--gcc/ch/ChangeLog147
-rw-r--r--gcc/ch/Makefile.in51
-rw-r--r--gcc/ch/actions.c39
-rw-r--r--gcc/ch/ch-tree.h30
-rw-r--r--gcc/ch/convert.c5
-rw-r--r--gcc/ch/decl.c76
-rw-r--r--gcc/ch/except.c8
-rw-r--r--gcc/ch/expr.c68
-rw-r--r--gcc/ch/grant.c28
-rw-r--r--gcc/ch/inout.c14
-rw-r--r--gcc/ch/lang.c27
-rw-r--r--gcc/ch/lex.c104
-rw-r--r--gcc/ch/loop.c21
-rw-r--r--gcc/ch/parse.c82
-rw-r--r--gcc/ch/satisfy.c8
-rw-r--r--gcc/ch/tasking.c22
-rw-r--r--gcc/ch/timing.c7
-rw-r--r--gcc/ch/tree.c5
-rw-r--r--gcc/ch/typeck.c67
19 files changed, 410 insertions, 399 deletions
diff --git a/gcc/ch/ChangeLog b/gcc/ch/ChangeLog
index 9bb6faa..b27ba2e 100644
--- a/gcc/ch/ChangeLog
+++ b/gcc/ch/ChangeLog
@@ -1,3 +1,150 @@
+Sun Sep 20 09:25:13 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (actions.o, convert.o, decl.o, expr.o, lang.o,
+ lex.o, loop.o, parse.o, satisfy.o, timing.o, tasking.o, tree.o,
+ typeck.o): Depend on system.h and toplev.h.
+ (except.o): Depend on toplev.h.
+ (grant.o): Depend on system.h, toplev.h and output.h.
+
+ * actions.c: Include system.h and toplev.h. Remove redundant
+ prototypes.
+ (build_cause_exception): Add default case in switch.
+ (update_else_range_for_range): Add parentheses around && within ||.
+ (chill_handle_multi_case_label_list): Remove unused variable
+ `selector_value'.
+ (print_missing_cases): Reconcile format specifiers vs arguments in
+ calls to sprintf.
+
+ * ch-tree.h: Don't include stdio.h. Wrap prototypes using FILE*
+ with macro BUFSIZ. Add missing prototypes.
+
+ * convert.c: Include system.h and toplev.h. Remove redundant
+ prototypes.
+ (convert): Remove unused variable `errstr'.
+
+ * decl.c: Include system.h and toplev.h. Remove redundant
+ prototypes.
+ (builtin_scope): Add missing initializers.
+ (clear_scope): Likewise.
+ (allocate_lang_decl): Mark parameter `t' with ATTRIBUTE_UNUSED.
+ (copy_lang_decl): Likewise for parameter `node'.
+ (c_decode_option): Likewise for parameter `argc'.
+ (push_extern_function): Likewise for parameter `granting'.
+ (switch_to_pass_2): Hide declaration of errorcount/sorrycount.
+ (pushdecl): Remove unused variable `t'.
+ (lookup_name_current_level): Make static and hide.
+ (lookup_name_for_seizing): Make static.
+ (finish_decl): Remove unused variable `type'.
+ (maybe_build_cleanup): Mark parameter `decl' with ATTRIBUTE_UNUSED.
+ (complete_array_type): Mark parameters `type', `initial_value' and
+ `do_default' with ATTRIBUTE_UNUSED.
+ (start_struct): Mark parameter `name' with ATTRIBUTE_UNUSED.
+ (start_enum): Likewise.
+ (shadow_record_fields): Remove unused variables `type' and `parent'.
+
+ * except.c: Include toplev.h. Remove redundant prototypes.
+
+ * expr.c: Include system.h and toplev.h. Don't define NULL.
+ Remove redundant prototypes.
+ (internal_build_compound_expr): Mark parameter `first_p' with
+ ATTRIBUTE_UNUSED.
+ (build_allocate_getstack): Remove unused variable `init'.
+ (build_chill_pred_or_succ): Likewise for variable `limit'.
+ (varying_to_slice): Likewise for variable `doamin' [sic].
+ (finish_chill_binary_op): Likewise for variables `code0' and
+ `code1'. Remove unused label `finish'. Add explicit braces to
+ avoid ambiguous `else'.
+ (build_chill_addr_expr): Remove extra parameter in call to `error'.
+ (build_chill_unary_op): Remove unused variables `class' and `type0'.
+ (powersetlen): Remove unused variables `domain' and `temp'.
+
+ * grant.c: Include system.h, toplev.h and output.h. Don't handle
+ strchr/strrchr. Remove redundant prototypes.
+ (decode_constant_selective): Remove unused variables `op' and `wrk'.
+ (push_granted): Mark parameters `name' and `decl' with
+ ATTRIBUTE_UNUSED.
+
+ * inout.c: Include system.h and toplev.h. Remove redundant
+ prototypes.
+ (textlocation_mode): Use &&, not &, when comparing two truth
+ values.
+ (scanformcont): Remove unused label `do_the_action'.
+
+ * lang.c: Include system.h and toplev.h. Remove redundant
+ prototypes.
+ (lookup_interface): Mark parameter `arg' with ATTRIBUTE_UNUSED.
+ (maybe_objc_comptypes): Likewise for parameters `lhs' and `rhs'.
+ (lang_print_xnode): Likewise for parameters `file', `node' and
+ `indent'.
+ (lang_decode_option): Explicitly declare `explicit_ignore_case'.
+ (incomplete_type_error): Mark parameters `value' and `type' with
+ ATTRIBUTE_UNUSED.
+
+ * lex.c: Include system.h and toplev.h. Remove redundant
+ prototypes. Don't handle strchr/strrchr. Use CAPITALIZED
+ versions of ctype macros from system.h. Cast ctype arguments to
+ unsigned char when necessary.
+ (last_token, RETURN_TOKEN): Hide definition.
+ (push_back): Remove unused function.
+ (readstring): Change variable `i' to unsigned.
+ (yywrap): Remove unused variable `node'.
+
+ * loop.c: Include system.h and toplev.h. Remove redundant
+ prototypes.
+ (chill_unsigned_type): Hide prototype and definition.
+ (begin_loop_scope): Remove unused variable `firstp'.
+ (nonvalue_begin_loop_scope): Likewise.
+
+ * parse.c: Include system.h and toplev.h. Remove redundant
+ prototypes.
+ (quasi_signal): Hide.
+ (PEEK_TOKEN): Change return type to `enum terminal'.
+ (parse_mode_definition_statement): Remove unused variable `names'.
+ (parse_formpar): Remove unused parameter `in_spec_module'. All
+ callers changed.
+ (parse_formparlist): Likewise.
+ (parse_processpar): Remove unused variable `parms'.
+ (parse_definition): Add explicit braces to avoid ambiguous `else'.
+ (parse_multi_dimension_case_action): Initialize variable
+ `begin_test_label'. Remove unused variable `new_test'.
+ (parse_case_action): Remove unused variable `caseaction_flag'.
+ (parse_asm_clobbers): Remove unused variable `expr'.
+ (parse_delay_case_action): Initialize variable `label_cnt'.
+ (parse_action): Make function static.
+ (parse_tuple_element): Remove unused variable `list'.
+ (parse_primval): Add default case in switch.
+ (parse_variant_alternative): Remove unused variables `x' and
+ `variant_fields'.
+
+ * satisfy.c: Include system.h and toplev.h. Remove redundant
+ prototypes.
+
+ * tasking.c Include system.h and toplev.h. Remove redundant
+ prototypes.
+ (data_name): Hide.
+ (get_struct_variable_name): Likewise.
+ (validate_process_parameters): Mark parameter `parms' with
+ ATTRIBUTE_UNUSED.
+ (build_start_process): Initialize variable `tuple'.
+ (build_receive_buffer_case_end): Remove unused variable `buffer_ptr'.
+
+ * timing.c: Include system.h and toplev.h.
+ (build_after_timeout_start): Remove unused variable `goto_where'.
+
+ * tree.c: Include system.h and toplev.h. Remove redundant
+ prototypes.
+
+ * typeck.c: Include system.h and toplev.h. Remove redundant
+ prototypes.
+ (extract_constant_from_buffer): Make function static. Add
+ explicit braces to avoid ambiguous `else'.
+ (expand_constant_to_buffer): Likewise.
+ (build_chill_slice): remove unused variable `is_static'.
+ (chill_compatible): Add explicit braces to avoid ambiguous `else'.
+ (apply_chill_array_layout): Remove unused variable `offset'.
+ (smash_dummy_type): Remove unused variable `save_lang_specific'.
+ (initializer_constant_valid_p): Add default case in switch.
+
Mon Sep 14 16:46:36 1998 Dave Brolley <brolley@cygnus.com>
* typeck.c (build_chill_slice): Always use TYPE_DOMAIN to get the
diff --git a/gcc/ch/Makefile.in b/gcc/ch/Makefile.in
index 7d2a73c..712272b 100644
--- a/gcc/ch/Makefile.in
+++ b/gcc/ch/Makefile.in
@@ -270,34 +270,49 @@ $(srcdir)/hash.h:
$(RM) gperf.tmp gperf.tmp2 sed.tmp
actions.o : actions.c $(CONFIG_H) $(CHILL_TREE_H) actions.h $(RTL_H) \
- lex.h $(srcdir)/../flags.h $(srcdir)/../../include/obstack.h $(srcdir)/../input.h $(srcdir)/../expr.h ../insn-codes.h
-convert.o : convert.c $(CONFIG_H) $(CHILL_TREE_H) $(srcdir)/../flags.h $(srcdir)/../tree.h
-decl.o : decl.c $(CONFIG_H) $(CHILL_TREE_H) $(srcdir)/../flags.h lex.h
-except.o : except.c $(CONFIG_H) $(srcdir)/../tree.h $(RTL_H) $(CHILL_TREE_H)
+ lex.h $(srcdir)/../flags.h $(srcdir)/../../include/obstack.h \
+ $(srcdir)/../input.h $(srcdir)/../expr.h ../insn-codes.h \
+ $(srcdir)/../system.h $(srcdir)/../toplev.h
+convert.o : convert.c $(CONFIG_H) $(CHILL_TREE_H) $(srcdir)/../flags.h \
+ $(srcdir)/../tree.h $(srcdir)/../system.h $(srcdir)/../toplev.h
+decl.o : decl.c $(CONFIG_H) $(CHILL_TREE_H) $(srcdir)/../flags.h lex.h \
+ $(srcdir)/../system.h $(srcdir)/../toplev.h
+except.o : except.c $(CONFIG_H) $(srcdir)/../tree.h $(RTL_H) $(CHILL_TREE_H) \
+ $(srcdir)/../toplev.h
expr.o : expr.c $(CONFIG_H) $(RTL_H) $(CHILL_TREE_H) $(srcdir)/../flags.h \
- $(srcdir)/../expr.h ../insn-codes.h $(srcdir)/../tree.h lex.h
-grant.o: grant.c $(CONFIG_H) $(CHILL_TREE_H) $(RTL_H) $(srcdir)/../flags.h $(srcdir)/../input.h \
- lex.h actions.h $(srcdir)/../input.h
-inout.o : inout.c $(CONFIG_H) $(CHILL_TREE_H) $(srcdir)/../flags.h $(srcdir)/../input.h
-lang.o : lang.c $(CONFIG_H) $(CHILL_TREE_H) $(srcdir)/../input.h lex.h
-lex.o : lex.c $(CONFIG_H) $(CHILL_TREE_H) $(RTL_H) $(srcdir)/../flags.h $(srcdir)/../input.h \
- $(srcdir)/parse.h $(srcdir)/../../include/obstack.h lex.h
+ $(srcdir)/../expr.h ../insn-codes.h $(srcdir)/../tree.h lex.h \
+ $(srcdir)/../system.h $(srcdir)/../toplev.h
+grant.o: grant.c $(CONFIG_H) $(CHILL_TREE_H) $(RTL_H) $(srcdir)/../flags.h \
+ $(srcdir)/../input.h lex.h actions.h $(srcdir)/../system.h \
+ $(srcdir)/../toplev.h $(srcdir)/../output.h
+inout.o : inout.c $(CONFIG_H) $(CHILL_TREE_H) $(srcdir)/../flags.h \
+ $(srcdir)/../input.h $(srcdir)/../system.h $(srcdir)/../toplev.h
+lang.o : lang.c $(CONFIG_H) $(CHILL_TREE_H) $(srcdir)/../input.h lex.h \
+ $(srcdir)/../system.h $(srcdir)/../toplev.h
+lex.o : lex.c $(CONFIG_H) $(CHILL_TREE_H) $(RTL_H) $(srcdir)/../flags.h \
+ $(srcdir)/../input.h $(srcdir)/parse.h $(srcdir)/../system.h \
+ $(srcdir)/../toplev.h $(srcdir)/../../include/obstack.h lex.h
lex.c: hash.h
loop.o : loop.c $(CONFIG_H) $(RTL_H) $(CHILL_TREE_H) lex.h \
$(srcdir)/../flags.h $(srcdir)/../input.h \
- $(srcdir)/../../include/obstack.h $(srcdir)/../tree.h
+ $(srcdir)/../../include/obstack.h $(srcdir)/../tree.h \
+ $(srcdir)/../system.h $(srcdir)/../toplev.h
parse.o : parse.c $(CONFIG_H) $(CHILL_TREE_H) parse.h \
- lex.h actions.h tasking.h
+ lex.h actions.h tasking.h $(srcdir)/../system.h $(srcdir)/../toplev.h
satisfy.o : satisfy.c $(CONFIG_H) $(CHILL_TREE_H) $(srcdir)/../tree.h \
- $(srcdir)/../flags.h lex.h
+ $(srcdir)/../flags.h lex.h $(srcdir)/../system.h $(srcdir)/../toplev.h
timing.o : timing.c $(CONFIG_H) $(CHILL_TREE_H) $(RTL_H) $(srcdir)/../flags.h \
- $(srcdir)/../input.h $(srcdir)/../../include/obstack.h lex.h
+ $(srcdir)/../input.h $(srcdir)/../../include/obstack.h lex.h \
+ $(srcdir)/../system.h $(srcdir)/../toplev.h
tasking.o : tasking.c $(CONFIG_H) $(CHILL_TREE_H) $(RTL_H) \
$(srcdir)/../flags.h $(srcdir)/../input.h \
- $(srcdir)/../../include/obstack.h lex.h
-tree.o : tree.c $(CONFIG_H) $(CHILL_TREE_H)
+ $(srcdir)/../../include/obstack.h lex.h $(srcdir)/../system.h \
+ $(srcdir)/../toplev.h
+tree.o : tree.c $(CONFIG_H) $(CHILL_TREE_H) $(srcdir)/../system.h \
+ $(srcdir)/../toplev.h
typeck.o : typeck.c $(CONFIG_H) $(CHILL_TREE_H) ../insn-codes.h \
- $(srcdir)/../expr.h $(srcdir)/../flags.h lex.h
+ $(srcdir)/../expr.h $(srcdir)/../flags.h lex.h $(srcdir)/../system.h \
+ $(srcdir)/../toplev.h
ch-version.o : ch-version.c
ch-version.c : Makefile
echo 'char *gnuchill_version = "$(GNUCHILL_VERSION)";' > $@
diff --git a/gcc/ch/actions.c b/gcc/ch/actions.c
index 5937f85..1172219 100644
--- a/gcc/ch/actions.c
+++ b/gcc/ch/actions.c
@@ -18,9 +18,8 @@ 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. */
-#include <stdio.h>
-#include <limits.h>
#include "config.h"
+#include "system.h"
#include "tree.h"
#include "rtl.h"
#include "expr.h"
@@ -30,6 +29,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "actions.h"
#include "obstack.h"
#include "assert.h"
+#include "toplev.h"
#define obstack_chunk_alloc xmalloc
#define obstack_chunk_free free
@@ -43,18 +43,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
extern int flag_short_enums;
extern int current_nesting_level;
-extern tree build_chill_compound_expr PROTO((tree));
-extern tree build_chill_exception_decl PROTO((char *));
-extern tree convert PROTO((tree, tree));
-extern rtx emit_line_note_force PROTO((char *, int));
-extern void error PROTO((char *, ...));
-extern void error_with_decl PROTO((tree, char *, ...));
-extern rtx gen_nop PROTO((void));
-extern tree get_identifier PROTO((char *));
-extern void pedwarn PROTO((char *, ...));
-extern void sorry PROTO((char *, ...));
-extern void warning PROTO((char *, ...));
-
extern struct obstack *expression_obstack, permanent_obstack;
extern struct obstack *current_obstack, *saveable_obstack;
@@ -337,6 +325,8 @@ build_cause_exception (exp_name, warn_if_unhandled)
if (lineno == NULL_TREE)
lineno = error_mark_node;
break;
+ default:
+ abort();
}
result =
build_chill_function_call (function,
@@ -849,8 +839,8 @@ update_else_range_for_range (else_range, low_target, high_target)
{
low_range_val = TREE_INT_CST_LOW (TREE_PURPOSE (this_range));
high_range_val = TREE_INT_CST_LOW (TREE_VALUE (this_range));
- if (low_target_val >= low_range_val && low_target_val <= high_range_val
- || high_target_val >= low_range_val && high_target_val <= high_range_val)
+ if ((low_target_val >= low_range_val && low_target_val <= high_range_val)
+ || (high_target_val >= low_range_val && high_target_val <= high_range_val))
break;
prev_range = this_range;
}
@@ -1305,7 +1295,7 @@ static tree
chill_handle_multi_case_label_list (selector, labels)
tree selector, labels;
{
- tree one_label, selector_value, larg, rarg;
+ tree one_label, larg, rarg;
one_label = TREE_VALUE (labels);
larg = chill_handle_multi_case_label (selector, TREE_VALUE (one_label));
@@ -1352,9 +1342,6 @@ build_multi_case_selector_expression (selector_list, label_spec)
((ARRAY)[(unsigned)(INDEX) / HOST_BITS_PER_CHAR]\
|= 1 << ((unsigned)(INDEX) % HOST_BITS_PER_CHAR))
-extern HOST_WIDE_INT all_cases_count PROTO((tree, int*));
-extern void mark_seen_cases PROTO((tree, unsigned char*, long, int));
-
/* CASES_SEEN is a set (bitarray) of length COUNT.
For each element that is zero, print an error message,
assume the element have the given TYPE. */
@@ -1388,9 +1375,9 @@ print_missing_cases (type, cases_seen, count)
break;
case CHAR_TYPE:
if ((x >= ' ' && x < 127) && x != '\'' && x != '^')
- sprintf (buf, "'%c'", x);
+ sprintf (buf, "'%c'", (char)x);
else
- sprintf (buf, "'^(%d)'", x);
+ sprintf (buf, "'^(%ld)'", x);
err_val_name = buf;
j = i;
while (j < count && !BITARRAY_TEST(cases_seen, j))
@@ -1400,9 +1387,9 @@ print_missing_cases (type, cases_seen, count)
long y = x+j-i-1;
err_val_name += strlen (err_val_name);
if ((y >= ' ' && y < 127) && y != '\'' && y != '^')
- sprintf (err_val_name, "%s:'%c'", buf, y);
+ sprintf (err_val_name, "%s:'%c'", buf, (char)y);
else
- sprintf (err_val_name, "%s:'^(%d)'", buf, y);
+ sprintf (err_val_name, "%s:'^(%ld)'", buf, y);
i = j - 1;
}
break;
@@ -1417,9 +1404,9 @@ print_missing_cases (type, cases_seen, count)
while (j < count && !BITARRAY_TEST(cases_seen, j))
j++;
if (j == i + 1)
- sprintf (buf, "%d", x);
+ sprintf (buf, "%ld", x);
else
- sprintf (buf, "%d:%d", x, x+j-i-1);
+ sprintf (buf, "%ld:%ld", x, x+j-i-1);
i = j - 1;
err_val_name = buf;
break;
diff --git a/gcc/ch/ch-tree.h b/gcc/ch/ch-tree.h
index 8a3da00..cb3fd3d 100644
--- a/gcc/ch/ch-tree.h
+++ b/gcc/ch/ch-tree.h
@@ -20,8 +20,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifndef _CH_TREE_H
#define _CH_TREE_H
-#include <stdio.h>
-
/* Usage of TREE_LANG_FLAG_?:
1: TUPLE_NAMED_FIELD
" TYPE_FIELDS_READONLY (in ARRAY_TYPE, RECORD_TYPE or UNION_TYPE)
@@ -643,7 +641,9 @@ extern tree combine_strings PROTO((tree));
extern void constant_expression_warning PROTO((tree));
extern void decl_attributes PROTO((tree, tree));
extern void declare_function_name PROTO((void));
+#ifdef BUFSIZ
extern char *get_directive_line PROTO((FILE *));
+#endif
extern tree shorten_compare PROTO((tree *, tree *, tree *, enum tree_code *));
/* in c-decl.c */
@@ -718,9 +718,11 @@ extern void parmlist_tags_warning PROTO((void));
extern void pending_xref_error PROTO((void));
extern void pop_chill_function_context PROTO((void));
extern tree poplevel PROTO((int, int, int));
+#ifdef BUFSIZ
extern void print_lang_decl PROTO((FILE *,tree, int));
extern void print_lang_identifier PROTO((FILE *,tree, int));
extern void print_lang_type PROTO((FILE *,tree, int));
+#endif
extern void push_chill_function_context PROTO((void));
extern void push_parm_decl PROTO((tree));
extern tree pushdecl PROTO((tree));
@@ -783,6 +785,7 @@ extern tree build_chill_binary_op PROTO((enum chill_tree_code, tre
extern tree build_chill_card PROTO((tree));
extern tree build_chill_case_expr PROTO((tree, tree, tree));
extern tree build_cause_exception PROTO((tree, int));
+extern tree build_chill_exception_decl PROTO((char *));
extern tree build_chill_function_call PROTO((tree, tree));
extern tree build_chill_length PROTO((tree));
extern tree build_chill_indirect_ref PROTO((tree, tree, int));
@@ -807,11 +810,13 @@ extern void chill_check_decl PROTO((tree));
extern tree chill_convert_for_assignment PROTO((tree, tree, char*));
extern void chill_expand_return PROTO((tree, int));
extern void chill_expand_result PROTO((tree, int));
+extern void chill_handle_case_default PROTO((void));
extern void chill_handle_case_label PROTO((tree, tree));
extern int chill_varying_string_type_p PROTO((tree));
extern int chill_varying_type_p PROTO((tree));
extern int ch_singleton_set PROTO((tree));
extern tree check_expression PROTO((tree, tree, tree));
+extern void check_missing_cases PROTO((tree));
extern tree check_non_null PROTO((tree));
extern tree check_range PROTO((tree, tree, tree,tree));
extern void cond_type_range_exception PROTO((tree));
@@ -841,37 +846,52 @@ extern void do_chill_outparms PROTO((void));
extern tree do_decl PROTO((tree, tree, int, int, tree, int));
extern void do_decls PROTO((tree, tree, int, int, tree, int));
extern void expand_chill_outparms PROTO((void));
+extern void find_granted_decls PROTO((void));
extern void finish_chill_function PROTO(());
extern tree finish_enum PROTO((tree, tree));
extern void fixup_chill_parms PROTO((tree));
extern void finish_outer_function PROTO((void));
+extern unsigned get_type_precision PROTO((tree, tree));
extern tree grok_chill_fixedfields PROTO((tree, tree, tree));
extern tree grok_chill_variantdefs PROTO((tree, tree, tree));
+extern void layout_enum PROTO((tree));
/* extern tree lookup_remembered_decl PROTO((HOST_WIDE_INT, tree)); */
+extern void lookup_and_expand_goto PROTO((tree));
extern tree lookup_tag_fields PROTO((tree, tree));
+extern void lookup_and_handle_exit PROTO((tree));
extern tree massage_param_node PROTO((tree, tree));
extern void pop_module PROTO((void));
extern void print_mode PROTO((tree));
extern tree push_extern_function PROTO((tree, tree, tree, tree, int));
extern void push_extern_process PROTO((tree, tree, tree, int));
extern void push_extern_signal PROTO((tree, tree, tree));
+extern void push_granted PROTO((tree, tree));
extern tree push_modedef PROTO((tree, tree, int));
extern tree push_module PROTO((tree, int));
extern void push_parms PROTO((tree, tree, tree));
extern void push_syndecl PROTO((tree, tree, tree));
extern int result_never_set;
+extern void save_expr_under_name PROTO((tree, tree));
+extern tree set_module_name PROTO((tree));
extern int start_chill_function PROTO((tree, tree, tree, tree, tree));
extern void start_outer_function PROTO((void));
extern void switch_to_pass_2 PROTO((void));
/* in ch/except.c */
extern void chill_check_no_handlers PROTO((void));
+extern void chill_finish_on PROTO((void));
+extern void chill_handle_on_labels PROTO((tree));
extern void chill_reraise_exceptions PROTO((tree));
+extern void chill_start_default_handler PROTO((void));
+extern void chill_start_on PROTO((void));
+extern void expand_goto_except_cleanup PROTO((int));
+extern int is_handled PROTO((tree));
/* in ch/expr.c */
extern tree build_chill_addr_expr PROTO((tree, char *));
extern tree build_chill_arrow_expr PROTO((tree, int));
extern tree build_component_ref PROTO((tree, tree));
+extern tree build_chill_compound_expr PROTO((tree));
extern tree build_chill_descr PROTO((tree));
extern void build_chill_descr_type PROTO((void));
extern void build_chill_inttime_type PROTO((void));
@@ -900,6 +920,7 @@ extern void start_outer_function PROTO((void));
extern void finish_chill_seize PROTO((tree));
extern void chill_grant PROTO((tree,tree, tree, tree));
extern void set_default_grant_file PROTO((void));
+extern void set_identifier_size PROTO((int));
extern void write_grant_file PROTO((void));
extern void write_spec_module PROTO((tree, tree));
@@ -982,6 +1003,7 @@ extern tree build_chill_variable PROTO((tree));
extern tree build_chill_writeable PROTO((tree));
extern tree build_chill_writerecord PROTO((tree, tree));
extern tree build_chill_writetext PROTO((tree, tree));
+extern void build_enum_tables PROTO((void));
extern tree build_text_mode PROTO((tree, tree, int));
extern tree check_text_length PROTO((tree, tree));
extern void init_access_location PROTO((tree, tree));
@@ -1048,6 +1070,9 @@ extern tree get_tasking_code_name PROTO((tree));
extern tree make_process_struct PROTO((tree, tree));
extern tree make_signal_struct PROTO((tree));
extern tree max_queue_size PROTO((tree));
+extern void tasking_init PROTO((void));
+extern void tasking_registry PROTO((void));
+extern void tasking_setup PROTO((void));
/* in ch/timing.c */
extern tree abs_timing_type_node;
@@ -1097,6 +1122,7 @@ extern ch_class chill_resulting_class PROTO((ch_class, ch_class));
extern tree chill_resulting_mode PROTO((tree, tree));
extern int chill_similar PROTO((tree, tree, struct mode_chain*));
extern int discrete_type_p PROTO((tree));
+extern tree initializer_constant_valid_p PROTO((tree, tree));
extern tree convert_to_discrete PROTO((tree));
extern tree smash_dummy_type PROTO((tree));
extern tree string_assignment_condition PROTO((tree, tree));
diff --git a/gcc/ch/convert.c b/gcc/ch/convert.c
index d865336..48becd0 100644
--- a/gcc/ch/convert.c
+++ b/gcc/ch/convert.c
@@ -24,14 +24,14 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
but what kind of conversions it does will depend on the language. */
#include "config.h"
+#include "system.h"
#include "tree.h"
#include "ch-tree.h"
#include "flags.h"
#include "convert.h"
#include "lex.h"
+#include "toplev.h"
-extern void error PROTO((char *, ...));
-extern tree initializer_constant_valid_p PROTO((tree, tree));
extern tree bit_one_node, bit_zero_node;
extern tree string_one_type_node;
extern tree bitstring_one_type_node;
@@ -932,7 +932,6 @@ convert (type, expr)
{
register tree e = expr;
register enum chill_tree_code code;
- char *errstr;
int type_varying;
if (e == NULL_TREE || TREE_CODE (e) == ERROR_MARK)
diff --git a/gcc/ch/decl.c b/gcc/ch/decl.c
index 83e1a05..da08222 100644
--- a/gcc/ch/decl.c
+++ b/gcc/ch/decl.c
@@ -179,8 +179,8 @@
/* ??? not all decl nodes are given the most useful possible
line numbers. For example, the CONST_DECLs for enum values. */
-#include <stdio.h>
#include "config.h"
+#include "system.h"
#include "tree.h"
#include "flags.h"
#include "ch-tree.h"
@@ -188,6 +188,7 @@
#include "obstack.h"
#include "input.h"
#include "rtl.h"
+#include "toplev.h"
#define IS_UNKNOWN_TYPE(type) (TYPE_SIZE(type)==0)
#define BUILTIN_NESTING_LEVEL (-1)
@@ -203,30 +204,12 @@ extern struct obstack *saveable_obstack;
extern tree signal_code;
extern int special_UC;
-extern void tasking_init PROTO((void));
-extern void error PROTO((char *, ...));
-extern void error_with_decl PROTO((tree, char *, ...));
-extern void expand_decl PROTO((tree));
static tree get_next_decl PROTO((void));
-extern tree get_parm_decls PROTO((void));
-extern void end_temporary_allocation PROTO((void));
-extern void indent_to PROTO((FILE *, int));
-#ifdef RTX_CODE
-extern rtx label_rtx PROTO((tree));
+static tree lookup_name_for_seizing PROTO((tree));
+#if 0
+static tree lookup_name_current_level PROTO((tree));
#endif
-extern tree lookup_name_for_seizing PROTO((tree));
-extern tree lookup_name_current_level PROTO((tree));
-extern int operand_equal_p PROTO((tree, tree, int));
-extern void pedwarn_with_decl PROTO((tree, char *, ...));
-extern void print_node PROTO((FILE *, char *, tree, int));
-extern void push_granted PROTO((tree, tree));
-extern void push_obstacks PROTO((struct obstack *, struct obstack *));
-extern void rest_of_decl_compilation PROTO((tree, char *, int, int));
-extern void sorry PROTO((char *, ...));
static void save_decl PROTO((tree));
-extern void start_identifier_warnings PROTO((void));
-extern void temporary_allocation PROTO((void));
-extern void warning PROTO((char *, ...));
extern struct obstack permanent_obstack;
extern int in_pseudo_module;
@@ -547,7 +530,9 @@ struct scope
/* The outermost binding level, for pre-defined (builtin) names. */
-static struct scope builtin_scope = { NULL, NULL, NULL_TREE};
+static struct scope builtin_scope = {
+ NULL, NULL, NULL_TREE, NULL_TREE, NULL_TREE, NULL_TREE, NULL_TREE,
+ NULL_TREE, NULL_TREE, NULL, 0, 0, NULL, NULL, NULL};
struct scope *global_scope;
@@ -560,21 +545,14 @@ struct scope *last_scope = &builtin_scope;
/* Binding level structures are initialized by copying this one. */
-static struct scope clear_scope
- = {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0};
+static struct scope clear_scope = {
+ NULL, NULL, NULL_TREE, NULL_TREE, NULL_TREE, NULL_TREE, NULL_TREE,
+ NULL_TREE, NULL_TREE, NULL, 0, 0, NULL, NULL, NULL};
/* Chain of decls accessible through IDENTIFIER_OUTER_VALUE.
Decls with the same DECL_NAME are adjacent in the chain. */
static tree outer_decls = NULL_TREE;
-
-/* Forward declarations. */
-
-tree pushdecl ();
-tree builtin_function ();
-
-tree lookup_name_current_level ();
-static void layout_array_type ();
/* C-specific option variables. */
@@ -730,14 +708,14 @@ tree ALL_POSTFIX;
void
allocate_lang_decl (t)
- tree t;
+ tree t ATTRIBUTE_UNUSED;
{
/* Nothing needed */
}
void
copy_lang_decl (node)
- tree node;
+ tree node ATTRIBUTE_UNUSED;
{
/* Nothing needed */
}
@@ -757,7 +735,7 @@ build_lang_decl (code, name, type)
int
c_decode_option (argc, argv)
- int argc;
+ int argc ATTRIBUTE_UNUSED;
char **argv;
{
char *p = argv[0];
@@ -1342,8 +1320,8 @@ build_chill_function_type (return_type, argtypes, exceptions, recurse_p)
*/
tree
push_extern_function (name, typespec, argtypes, exceptions, granting)
- tree name, typespec, argtypes, exceptions;
- int granting; /* If 0 do pushdecl(); if 1 do push_granted(). */
+ tree name, typespec, argtypes, exceptions;
+ int granting ATTRIBUTE_UNUSED;/*If 0 do pushdecl(); if 1 do push_granted()*/
{
tree ftype, fndecl;
@@ -2211,7 +2189,9 @@ get_next_decl ()
void
switch_to_pass_2 ()
{
+#if 0
extern int errorcount, sorrycount;
+#endif
if (current_scope != &builtin_scope)
abort ();
last_scope = &builtin_scope;
@@ -3163,7 +3143,6 @@ tree
pushdecl (x)
tree x;
{
- register tree t;
register tree name = DECL_NAME (x);
register struct scope *b = current_scope;
@@ -3336,9 +3315,10 @@ lookup_name (name)
return val;
}
+#if 0
/* Similar to `lookup_name' but look only at current binding level. */
-tree
+static tree
lookup_name_current_level (name)
tree name;
{
@@ -3347,8 +3327,9 @@ lookup_name_current_level (name)
return val;
return NULL_TREE;
}
+#endif
-tree
+static tree
lookup_name_for_seizing (seize_decl)
tree seize_decl;
{
@@ -4320,7 +4301,6 @@ void
finish_decl (decl)
tree decl;
{
- register tree type = TREE_TYPE (decl);
int was_incomplete = (DECL_SIZE (decl) == 0);
int temporary = allocation_temporary_p ();
@@ -4425,7 +4405,7 @@ finish_decl (decl)
tree
maybe_build_cleanup (decl)
- tree decl;
+ tree decl ATTRIBUTE_UNUSED;
{
/* There are no cleanups in C. */
return NULL_TREE;
@@ -4437,8 +4417,8 @@ maybe_build_cleanup (decl)
int
complete_array_type (type, initial_value, do_default)
- tree type, initial_value;
- int do_default;
+ tree type ATTRIBUTE_UNUSED, initial_value ATTRIBUTE_UNUSED;
+ int do_default ATTRIBUTE_UNUSED;
{
/* Only needed so we can link with ../c-typeck.c. */
abort ();
@@ -4454,7 +4434,7 @@ complete_array_type (type, initial_value, do_default)
tree
start_struct (code, name)
enum chill_tree_code code;
- tree name;
+ tree name ATTRIBUTE_UNUSED;
{
/* If there is already a tag defined at this binding level
(as a forward reference), just return it. */
@@ -4538,7 +4518,7 @@ layout_array_type (t)
tree
start_enum (name)
- tree name;
+ tree name ATTRIBUTE_UNUSED;
{
register tree enumtype;
@@ -5075,8 +5055,6 @@ void
shadow_record_fields (struct_val)
tree struct_val;
{
- tree type, parent;
-
if (pass == 1 || struct_val == NULL_TREE)
return;
diff --git a/gcc/ch/except.c b/gcc/ch/except.c
index d3b3c70..db02a92 100644
--- a/gcc/ch/except.c
+++ b/gcc/ch/except.c
@@ -22,6 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "tree.h"
#include "ch-tree.h"
#include "rtl.h"
+#include "toplev.h"
/* On Suns this can get you to the right definition if you
set the right value for TARGET. */
@@ -51,13 +52,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#endif
extern int expand_exit_needed;
-extern tree build_chill_exception_decl PROTO((char *));
-extern void chill_handle_case_default PROTO((void));
-extern void emit_jump PROTO((rtx));
-extern void expand_decl PROTO((tree));
-extern void fatal PROTO((char *, ...));
-extern void make_decl_rtl PROTO((tree, char *, int));
-extern void rest_of_decl_compilation PROTO((tree, char *, int, int));
static tree link_handler_decl;
static tree handler_link_pointer_type;
diff --git a/gcc/ch/expr.c b/gcc/ch/expr.c
index a016bf9..3326eea 100644
--- a/gcc/ch/expr.c
+++ b/gcc/ch/expr.c
@@ -20,7 +20,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "config.h"
-#include <stdio.h>
+#include "system.h"
#include "rtl.h"
#include "tree.h"
#include "flags.h"
@@ -29,10 +29,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "assert.h"
#include "lex.h"
#include "convert.h"
-
-#ifndef NULL
-#define NULL 0
-#endif
+#include "toplev.h"
extern char **boolean_code_name;
extern int flag_old_strings;
@@ -40,15 +37,6 @@ extern tree long_unsigned_type_node;
extern int ignore_case;
extern int special_UC;
-extern void check_for_full_enumeration_handling PROTO((tree));
-extern void chill_handle_case_default PROTO((void));
-extern void error PROTO((char *, ...));
-extern void error_with_decl PROTO((tree, char *, ...));
-extern void fatal PROTO((char *, ...));
-extern void sorry PROTO((char *, ...));
-extern tree stabilize_reference PROTO((tree));
-extern void warning PROTO((char *, ...));
-
/* definitions for duration built-ins */
#define MILLISECS_MULTIPLIER 1
#define SECS_MULTIPLIER MILLISECS_MULTIPLIER * 1000
@@ -557,7 +545,6 @@ chill_expand_expr (exp, target, tmode, modifier)
case SET_IN_EXPR:
{
- extern tree lookup_name PROTO((tree));
tree set = TREE_OPERAND (exp, 1);
tree pos = convert (long_unsigned_type_node, TREE_OPERAND (exp, 0));
tree set_type = TREE_TYPE (set);
@@ -602,7 +589,6 @@ chill_expand_expr (exp, target, tmode, modifier)
case PACKED_ARRAY_REF:
{
- extern tree lookup_name PROTO((tree));
tree array = TREE_OPERAND (exp, 0);
tree pos = save_expr (TREE_OPERAND (exp, 1));
tree array_type = TREE_TYPE (array);
@@ -679,7 +665,7 @@ check_arglist_length (args, min_length, max_length, name)
static tree
internal_build_compound_expr (list, first_p)
tree list;
- int first_p;
+ int first_p ATTRIBUTE_UNUSED;
{
register tree rest;
@@ -1564,7 +1550,7 @@ build_allocate_getstack (mode, value, chill_name, fnname, filename, linenumber)
{
tree type, result;
tree expr = NULL_TREE;
- tree args, tmpvar, fncall, ptr, init, outlist = NULL_TREE;
+ tree args, tmpvar, fncall, ptr, outlist = NULL_TREE;
if (mode == NULL_TREE || TREE_CODE (mode) == ERROR_MARK)
return error_mark_node;
@@ -2125,7 +2111,6 @@ build_chill_pred_or_succ (expr, op)
{
struct ch_class class;
tree etype, cond;
- tree limit;
if (pass == 1)
return NULL_TREE;
@@ -3241,7 +3226,7 @@ varying_to_slice (exp)
if (!chill_varying_type_p (TREE_TYPE (exp)))
return exp;
else
- { tree size, data, data_domain, doamin, min;
+ { tree size, data, data_domain, min;
tree novelty = CH_NOVELTY (TREE_TYPE (exp));
exp = save_if_needed (exp);
size = build_component_ref (exp, var_length_id);
@@ -3732,8 +3717,6 @@ finish_chill_binary_op (node)
tree op1 = check_have_mode (TREE_OPERAND (node, 1), "binary expression");
tree type0 = TREE_TYPE (op0);
tree type1 = TREE_TYPE (op1);
- enum tree_code code0;
- enum tree_code code1;
tree folded;
if (TREE_CODE (op0) == ERROR_MARK || TREE_CODE (op1) == ERROR_MARK)
@@ -3902,8 +3885,6 @@ finish_chill_binary_op (node)
return error_mark_node;
}
-
- finish:
if (TREE_TYPE (node) == NULL_TREE)
{
struct ch_class class;
@@ -3922,23 +3903,26 @@ finish_chill_binary_op (node)
TREE_CONSTANT (folded) = TREE_CONSTANT (op0) & TREE_CONSTANT (op1);
#endif
if (TREE_CODE (node) == TRUNC_DIV_EXPR)
- if (TREE_CONSTANT (op1))
- {
- if (tree_int_cst_equal (op1, integer_zero_node))
- {
- error ("division by zero");
- return integer_zero_node;
- }
- }
- else if (range_checking)
- {
+ {
+ if (TREE_CONSTANT (op1))
+ {
+ if (tree_int_cst_equal (op1, integer_zero_node))
+ {
+ error ("division by zero");
+ return integer_zero_node;
+ }
+ }
+ else if (range_checking)
+ {
#if 0
- tree test = build (EQ_EXPR, boolean_type_node, op1, integer_zero_node);
- /* Should this be overflow? */
- folded = check_expression (folded, test,
- ridpointers[(int) RID_RANGEFAIL]);
+ tree test =
+ build (EQ_EXPR, boolean_type_node, op1, integer_zero_node);
+ /* Should this be overflow? */
+ folded = check_expression (folded, test,
+ ridpointers[(int) RID_RANGEFAIL]);
#endif
- }
+ }
+ }
return folded;
}
@@ -4035,7 +4019,7 @@ build_chill_addr_expr (ref, errormsg)
if (! CH_LOCATION_P (ref)
&& TREE_CODE (TREE_TYPE (ref)) != FUNCTION_TYPE)
{
- error ("ADDR parameter must be a LOCATION", errormsg);
+ error ("ADDR parameter must be a LOCATION");
return error_mark_node;
}
ref = build_chill_arrow_expr (ref, 1);
@@ -4358,8 +4342,6 @@ build_chill_unary_op (code, op0)
tree op0;
{
register tree result = NULL_TREE;
- struct ch_class class;
- tree type0 = TREE_TYPE (op0);
if (op0 == NULL_TREE || TREE_CODE (op0) == ERROR_MARK)
return error_mark_node;
@@ -4482,8 +4464,6 @@ tree
powersetlen (powerset)
tree powerset;
{
- tree domain, temp;
-
if (powerset == NULL_TREE || TREE_CODE (powerset) == ERROR_MARK)
return error_mark_node;
diff --git a/gcc/ch/grant.c b/gcc/ch/grant.c
index 5dcf450..eb441d86 100644
--- a/gcc/ch/grant.c
+++ b/gcc/ch/grant.c
@@ -17,24 +17,18 @@ 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. */
-#include <stdio.h>
-#include <string.h>
-#include <limits.h>
#include "config.h"
+#include "system.h"
#include "tree.h"
#include "ch-tree.h"
#include "lex.h"
#include "flags.h"
#include "actions.h"
#include "input.h"
-#include "errno.h"
#include "rtl.h"
#include "tasking.h"
-
-/* Disable possible macro over-rides, so the externs parse
- portably. */
-#undef strchr
-#undef strrchr
+#include "toplev.h"
+#include "output.h"
#define APPEND(X,Y) X = append (X, Y)
#define PREPEND(X,Y) X = prepend (X, Y);
@@ -49,16 +43,7 @@ do \
APPEND (X, ";\n"); \
} while (0)
-extern void assemble_constructor PROTO((char *));
-extern void assemble_name PROTO((FILE *, char *));
-extern void error PROTO((char *, ...));
-extern tree tasking_list;
-extern void tasking_registry PROTO((void));
-extern void tasking_setup PROTO((void));
-extern void build_enum_tables PROTO((void));
extern tree process_type;
-extern void warning PROTO((char *, ...));
-extern tree get_file_function_name PROTO((int));
extern char *asm_file_name;
extern char *dump_base_name;
@@ -1988,8 +1973,6 @@ decode_constant_selective (init, all_decls)
MYSTRING *tmp_string;
tree type = TREE_TYPE (init);
tree val = init;
- char *op;
- char wrk[256];
MYSTRING *mode_string;
switch ((enum chill_tree_code)TREE_CODE (val))
@@ -2650,7 +2633,6 @@ write_grant_file ()
p = gstring->str;
while (*p)
{
- extern char* strchr ();
p1 = strchr (p, '\n');
c = *++p1;
*p1 = '\0';
@@ -2677,8 +2659,6 @@ write_grant_file ()
void
set_default_grant_file ()
{
-#undef strrchr
- extern char *strrchr ();
char *p, *tmp, *fname;
if (dump_base_name)
@@ -2721,7 +2701,7 @@ set_default_grant_file ()
void
push_granted (name, decl)
- tree name, decl;
+ tree name ATTRIBUTE_UNUSED, decl ATTRIBUTE_UNUSED;
{
#if 0
IDENTIFIER_GRANTED_VALUE (name) = decl;
diff --git a/gcc/ch/inout.c b/gcc/ch/inout.c
index 2d2293b..2c5f628 100644
--- a/gcc/ch/inout.c
+++ b/gcc/ch/inout.c
@@ -17,10 +17,8 @@
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
-#include <stdio.h>
-#include <string.h>
-#include <limits.h>
#include "config.h"
+#include "system.h"
#include "tree.h"
#include "ch-tree.h"
#include "rtl.h"
@@ -28,6 +26,7 @@
#include "flags.h"
#include "input.h"
#include "assert.h"
+#include "toplev.h"
/* set non-zero if input text is forced to lowercase */
extern int ignore_case;
@@ -35,12 +34,6 @@ extern int ignore_case;
/* set non-zero if special words are to be entered in uppercase */
extern int special_UC;
-extern void error PROTO((char *, ...));
-extern void sorry PROTO((char *, ...));
-extern void warning PROTO((char *, ...));
-
-extern tree build_chill_compound_expr PROTO((tree));
-
static int intsize_of_charsexpr PROTO((tree));
/* association mode */
@@ -1722,7 +1715,7 @@ textlocation_mode (text)
field = TYPE_FIELDS (text);
for ( ; field != NULL_TREE; field = TREE_CHAIN (field))
{
- if (TREE_CODE (field) == FIELD_DECL &
+ if (TREE_CODE (field) == FIELD_DECL &&
DECL_NAME (field) == get_identifier ("tloc"))
return TREE_TYPE (field);
}
@@ -4161,7 +4154,6 @@ scanformcont (fcs, len, fcsptr, lenptr, exprlist, exprptr,
break;
}
- do_the_action: ;
state = FormatText;
break;
diff --git a/gcc/ch/lang.c b/gcc/ch/lang.c
index b52bca6..86d6490 100644
--- a/gcc/ch/lang.c
+++ b/gcc/ch/lang.c
@@ -19,11 +19,12 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "config.h"
+#include "system.h"
#include "tree.h"
#include "ch-tree.h"
#include "lex.h"
-#include <stdio.h>
#include "input.h"
+#include "toplev.h"
/* Type node for boolean types. */
@@ -49,14 +50,6 @@ char* chill_real_input_filename;
extern FILE* finput;
extern int maximum_field_alignment;
-
-extern void error PROTO((char *, ...));
-extern void error_with_decl PROTO((tree, char *, ...));
-extern void fatal PROTO((char *, ...));
-extern int floor_log2_wide PROTO((unsigned HOST_WIDE_INT));
-extern void pedwarn_with_decl PROTO((tree, char *, ...));
-extern void sorry PROTO((char *, ...));
-extern int type_hash_list PROTO((tree));
/* return 1 if the expression tree given has all
constant nodes as its leaves; return 0 otherwise. */
@@ -111,14 +104,14 @@ const_expr (exp)
/* Used by c-lex.c, but only for objc. */
tree
lookup_interface (arg)
- tree arg;
+ tree arg ATTRIBUTE_UNUSED;
{
return 0;
}
int
maybe_objc_comptypes (lhs, rhs)
- tree lhs, rhs;
+ tree lhs ATTRIBUTE_UNUSED, rhs ATTRIBUTE_UNUSED;
{
return -1;
}
@@ -144,9 +137,9 @@ lang_init_options ()
void
lang_print_xnode (file, node, indent)
- FILE *file;
- tree node;
- int indent;
+ FILE *file ATTRIBUTE_UNUSED;
+ tree node ATTRIBUTE_UNUSED;
+ int indent ATTRIBUTE_UNUSED;
{
}
@@ -171,7 +164,7 @@ lang_decode_option (argc, argv)
char **argv;
{
char *p = argv[0];
- static explicit_ignore_case = 0;
+ static int explicit_ignore_case = 0;
if (!strcmp(p, "-lang-chill"))
; /* do nothing */
else if (!strcmp (p, "-fruntime-checking"))
@@ -280,8 +273,8 @@ chill_print_error_function (file)
void
incomplete_type_error (value, type)
- tree value;
- tree type;
+ tree value ATTRIBUTE_UNUSED;
+ tree type ATTRIBUTE_UNUSED;
{
error ("internal error - use of undefined type");
}
diff --git a/gcc/ch/lex.c b/gcc/ch/lex.c
index 17b9268..bb841d1 100644
--- a/gcc/ch/lex.c
+++ b/gcc/ch/lex.c
@@ -17,14 +17,11 @@ 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. */
-#include <stdio.h>
-#include <errno.h>
+#include "config.h"
+#include "system.h"
#include <setjmp.h>
-#include <ctype.h>
-#include <sys/types.h>
#include <sys/stat.h>
-#include "config.h"
#include "tree.h"
#include "input.h"
@@ -33,24 +30,24 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "flags.h"
#include "parse.h"
#include "obstack.h"
+#include "toplev.h"
#ifdef MULTIBYTE_CHARS
-#include <stdlib.h>
#include <locale.h>
#endif
/* include the keyword recognizers */
#include "hash.h"
-#undef strchr
-
FILE* finput;
+#if 0
static int last_token = 0;
/* Sun's C compiler warns about the safer sequence
do { .. } while 0
when there's a 'return' inside the braces, so don't use it */
#define RETURN_TOKEN(X) { last_token = X; return (X); }
+#endif
/* This is set non-zero to force incoming tokens to lowercase. */
extern int ignore_case;
@@ -64,23 +61,6 @@ extern int special_UC;
extern struct obstack permanent_obstack;
extern struct obstack temporary_obstack;
-#ifndef errno
-extern int errno;
-#endif
-
-extern tree build_string_type PROTO((tree, tree));
-extern void error PROTO((char *, ...));
-extern void error_with_file_and_line PROTO((char *, int, char *, ...));
-extern void grant_use_seizefile PROTO((char *));
-extern void pedwarn PROTO((char *, ...));
-extern void pfatal_with_name PROTO((char *));
-extern void push_obstacks PROTO((struct obstack *, struct obstack *));
-extern void set_identifier_size PROTO((int));
-extern void sorry PROTO((char *, ...));
-extern int target_isinf PROTO((REAL_VALUE_TYPE));
-extern int tolower PROTO((int));
-extern void warning PROTO((char *, ...));
-
/* forward declarations */
static void close_input_file PROTO((char *));
static tree convert_bitstring PROTO((char *));
@@ -90,7 +70,6 @@ static int maybe_number PROTO((char *));
static tree equal_number PROTO((void));
static void handle_use_seizefile_directive PROTO((int));
static int handle_name PROTO((tree));
-static void push_back PROTO((int));
static char *readstring PROTO((int, int *));
static void read_directive PROTO((void));
static tree read_identifier PROTO((int));
@@ -508,7 +487,7 @@ yylex ()
break;
if (ch == '_')
continue;
- if (!isxdigit (ch)) /* error on non-hex digit */
+ if (!ISXDIGIT (ch)) /* error on non-hex digit */
{
if (pass == 1)
error ("invalid C'xx' ");
@@ -544,7 +523,7 @@ yylex ()
for (;;)
{
ch = input ();
- if (isalnum (ch))
+ if (ISALNUM (ch))
obstack_1grow (&temporary_obstack, ch);
else if (ch != '_')
break;
@@ -594,7 +573,7 @@ yylex ()
case '.':
nextc = input ();
unput (nextc);
- if (isdigit (nextc)) /* || nextc == '_') we don't start numbers with '_' */
+ if (ISDIGIT (nextc)) /* || nextc == '_') we don't start numbers with '_' */
goto number;
return DOT;
case '0': case '1': case '2': case '3': case '4':
@@ -637,7 +616,7 @@ read_identifier (first)
first = input ();
if (first == EOF)
break;
- if (! isalnum (first) && first != '_')
+ if (! ISALNUM (first) && first != '_')
{
unput (first);
break;
@@ -661,7 +640,7 @@ handle_name (id)
struct resword *tp;
tp = in_word_set (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id));
if (tp != NULL
- && special_UC == isupper (tp->name[0])
+ && special_UC == ISUPPER ((unsigned char) tp->name[0])
&& (tp->flags == RESERVED || tp->flags == PREDEF))
{
if (tp->rid != NORID)
@@ -686,7 +665,7 @@ read_number (ch)
if (ch != '_')
obstack_1grow (&temporary_obstack, ch);
ch = input ();
- if (! isdigit (ch) && ch != '_')
+ if (! ISDIGIT (ch) && ch != '_')
break;
}
if (ch == '.')
@@ -696,7 +675,7 @@ read_number (ch)
if (ch != '_')
obstack_1grow (&temporary_obstack, ch);
ch = input ();
- } while (isdigit (ch) || ch == '_');
+ } while (ISDIGIT (ch) || ch == '_');
is_float++;
}
if (ch == 'd' || ch == 'D' || ch == 'e' || ch == 'E')
@@ -709,14 +688,14 @@ read_number (ch)
obstack_1grow (&temporary_obstack, ch);
ch = input ();
}
- if (isdigit (ch) || ch == '_')
+ if (ISDIGIT (ch) || ch == '_')
{
do
{
if (ch != '_')
obstack_1grow (&temporary_obstack, ch);
ch = input ();
- } while (isdigit (ch) || ch == '_');
+ } while (ISDIGIT (ch) || ch == '_');
}
else
{
@@ -779,7 +758,7 @@ read_directive ()
struct resword *tp;
tree id;
int ch = skip_whitespace();
- if (isalpha (ch) || ch == '_')
+ if (ISALPHA (ch) || ch == '_')
id = read_identifier (ch);
else if (ch == EOF)
{
@@ -794,7 +773,7 @@ read_directive ()
return;
}
tp = in_word_set (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id));
- if (tp == NULL || special_UC != isupper (tp->name[0]))
+ if (tp == NULL || special_UC != ISUPPER ((unsigned char) tp->name[0]))
{
if (pass == 1)
warning ("unrecognized compiler directive `%s'",
@@ -897,7 +876,7 @@ maybe_downcase (str)
return;
while (*str)
{
- if (isupper (*str))
+ if (ISUPPER ((unsigned char) *str))
*str = tolower (*str);
str++;
}
@@ -938,7 +917,7 @@ maybe_number (s)
break;
case 'h':
case 'H':
- if (!isxdigit (*s))
+ if (!ISXDIGIT ((unsigned char) *s))
return 0;
break;
case 'b':
@@ -958,15 +937,6 @@ maybe_number (s)
}
return 1;
}
-
-static void
-push_back (c)
-char c;
-{
- if (c == '\n')
- lineno--;
- unput (c);
-}
static char *
readstring (terminator, len)
@@ -976,7 +946,7 @@ readstring (terminator, len)
int c;
unsigned allocated = 1024;
char *tmp = xmalloc (allocated);
- int i = 0;
+ unsigned i = 0;
for (;;)
{
@@ -1110,14 +1080,14 @@ readstring (terminator, len)
}
else if (base == 10)
{
- if (! isdigit (cc))
+ if (! ISDIGIT (cc))
cc = -1;
else
cc -= '0';
}
else if (base == 16)
{
- if (!isxdigit (cc))
+ if (!ISXDIGIT (cc))
cc = -1;
else
{
@@ -1212,7 +1182,7 @@ convert_integer (intchars)
base = 2;
break;
default:
- if (!isdigit (*p)) /* this test is for equal_number () */
+ if (!ISDIGIT (*p)) /* this test is for equal_number () */
{
obstack_free (&temporary_obstack, intchars);
return 0;
@@ -1380,7 +1350,6 @@ same_file (filename1, filename2)
struct stat s[2];
char *fn_input[2];
int i, stat_status;
- extern char *strchr();
if (grant_only_flag)
/* do nothing in this case */
@@ -1490,7 +1459,7 @@ getlc (file)
register int c;
c = getc (file);
- if (isupper (c) && ignore_case)
+ if (ISUPPER (c) && ignore_case)
c = tolower (c);
return c;
}
@@ -1554,7 +1523,7 @@ check_newline ()
it and ignore it; otherwise, ignore the line, with an error
if the word isn't `pragma', `ident', `define', or `undef'. */
- if (isupper (c) && ignore_case)
+ if (ISUPPER (c) && ignore_case)
c = tolower (c);
if (c >= 'a' && c <= 'z')
@@ -1566,14 +1535,14 @@ check_newline ()
&& getlc (finput) == 'g'
&& getlc (finput) == 'm'
&& getlc (finput) == 'a'
- && (isspace (c = getlc (finput))))
+ && (c = getlc (finput), ISSPACE (c)))
{
#ifdef HANDLE_PRAGMA
static char buffer [128];
char * buff = buffer;
/* Read the pragma name into a buffer. */
- while (isspace (c = getlc (finput)))
+ while (c = getlc (finput), ISSPACE (c))
continue;
do
@@ -1581,7 +1550,7 @@ check_newline ()
* buff ++ = c;
c = getlc (finput);
}
- while (c != EOF && ! isspace (c) && c != '\n'
+ while (c != EOF && ! ISSPACE (c) && c != '\n'
&& buff < buffer + 128);
pragma_ungetc (c);
@@ -1601,7 +1570,7 @@ check_newline ()
&& getlc (finput) == 'i'
&& getlc (finput) == 'n'
&& getlc (finput) == 'e'
- && (isspace (c = getlc (finput))))
+ && (c = getlc (finput), ISSPACE (c)))
{
#if 0 /*def DWARF_DEBUGGING_INFO*/
if (c != '\n'
@@ -1618,7 +1587,7 @@ check_newline ()
&& getlc (finput) == 'd'
&& getlc (finput) == 'e'
&& getlc (finput) == 'f'
- && (isspace (c = getlc (finput))))
+ && (c = getlc (finput), ISSPACE (c)))
{
#if 0 /*def DWARF_DEBUGGING_INFO*/
if (c != '\n'
@@ -1699,7 +1668,7 @@ linenum:
/* Something follows the #; read a token. */
- if (isdigit(c))
+ if (ISDIGIT(c))
{
int old_lineno = lineno;
int used_up = 0;
@@ -1710,7 +1679,7 @@ linenum:
{
l = l * 10 + (c - '0'); /* FIXME Not portable */
c = getlc(finput);
- } while (isdigit(c));
+ } while (ISDIGIT(c));
/* subtract one, because it is the following line that
gets the specified number */
@@ -1777,7 +1746,7 @@ linenum:
/* `1' after file name means entering new file.
`2' after file name means just left a file. */
- if (isdigit (c))
+ if (ISDIGIT (c))
{
if (c == '1')
{
@@ -1976,7 +1945,7 @@ equal_number ()
/* collect token into tokenbuf for later analysis */
while (TRUE)
{
- if (isspace (c) || c == '<')
+ if (ISSPACE (c) || c == '<')
break;
obstack_1grow (&temporary_obstack, c);
c = input ();
@@ -2017,7 +1986,7 @@ equal_number ()
{
cursor = tokenbuf;
c = *cursor;
- if (!isalpha (c) && c != '_')
+ if (!ISALPHA (c) && c != '_')
{
if (pass == 1)
error ("invalid value follows `=' in compiler directive");
@@ -2025,7 +1994,8 @@ equal_number ()
}
for (cursor = &tokenbuf[1]; *cursor != '\0'; cursor++)
- if (isalpha (*cursor) || *cursor == '_' || isdigit (*cursor))
+ if (ISALPHA ((unsigned char) *cursor) || *cursor == '_' ||
+ ISDIGIT (*cursor))
continue;
else
{
@@ -2117,9 +2087,7 @@ mark_use_seizefile_written (name)
static int
yywrap ()
{
- extern char *strchr ();
extern char *chill_real_input_filename;
- tree node;
close_input_file (input_filename);
diff --git a/gcc/ch/loop.c b/gcc/ch/loop.c
index 70d30fc..88efaac 100644
--- a/gcc/ch/loop.c
+++ b/gcc/ch/loop.c
@@ -17,9 +17,8 @@ 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. */
-#include <stdio.h>
-#include <limits.h>
#include "config.h"
+#include "system.h"
#include "tree.h"
#include "ch-tree.h"
#include "lex.h"
@@ -29,19 +28,12 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "obstack.h"
#include "assert.h"
#include "rtl.h"
+#include "toplev.h"
/* if the user codes '-flocal-loop-counter' on the command line,
ch-actions.c (lang_decode_option) will set this flag. */
int flag_local_loop_counter = 1;
-extern rtx emit_line_note PROTO((char *, int));
-extern void error PROTO((char *, ...));
-extern rtx expand_assignment PROTO((tree, tree, int, int));
-extern void save_expr_under_name PROTO((tree, tree));
-extern void stamp_nesting_label PROTO((tree));
-extern int int_fits_type_p PROTO((tree, tree));
-extern void warning PROTO((char *, ...));
-
/* forward declarations */
static int declare_temps PROTO((void));
static int initialize_iter_var PROTO((void));
@@ -50,7 +42,9 @@ static int bottom_loop_end_check PROTO((void));
static int increment_temps PROTO((void));
static tree build_temporary_variable PROTO((char *, tree));
static tree maybe_make_for_temp PROTO((tree, char *, tree));
+#if 0
static tree chill_unsigned_type PROTO((tree));
+#endif
/* In terms of the parameters passed to build_loop_iterator,
* there are several types of loops. They are encoded by
@@ -377,8 +371,6 @@ pop_loop_block ()
void
begin_loop_scope ()
{
- ITERATOR *firstp = loopstack->iter_list;
-
pushlevel (1);
if (pass >= 2)
@@ -417,8 +409,6 @@ end_loop_scope (opt_label)
void
nonvalue_begin_loop_scope ()
{
- ITERATOR *firstp = loopstack->iter_list;
-
pushlevel (0); /* this happens only in pass 2 */
declare_temps ();
@@ -1221,7 +1211,7 @@ maybe_make_for_temp (exp, temp_name, exp_type)
return result;
}
-
+#if 0
/*
* Adapt the C unsigned_type function to CHILL - we need to
* account for any CHILL-specific integer types here. So far,
@@ -1239,3 +1229,4 @@ chill_unsigned_type (type)
else
return unsigned_type (type);
}
+#endif
diff --git a/gcc/ch/parse.c b/gcc/ch/parse.c
index 32f72e5..bf2bda0 100644
--- a/gcc/ch/parse.c
+++ b/gcc/ch/parse.c
@@ -40,14 +40,15 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
* Then code is generated.
*/
-#include <stdio.h>
#include "config.h"
+#include "system.h"
#include "tree.h"
#include "ch-tree.h"
#include "lex.h"
#include "actions.h"
#include "tasking.h"
#include "parse.h"
+#include "toplev.h"
/* Since parsers are distinct for each language, put the
language string definition here. (fnf) */
@@ -68,26 +69,11 @@ char *language_string = "GNU CHILL";
/* Cause the `yydebug' variable to be defined. */
#define YYDEBUG 1
-extern void assemble_external PROTO((tree));
-extern void chill_check_no_handlers PROTO((void));
-extern void chill_finish_on PROTO((void));
-extern void chill_handle_case_default PROTO((void));
-extern void chill_handle_on_labels PROTO((tree));
-extern tree chill_initializer_constant_valid_p PROTO((tree, tree));
-extern void chill_start_default_handler PROTO((void));
-extern void chill_start_on PROTO((void));
-extern struct rtx_def* emit_line_note PROTO((char *, int));
extern struct rtx_def* gen_label_rtx PROTO((void));
extern void emit_jump PROTO((struct rtx_def *));
extern void emit_label PROTO((struct rtx_def *));
-extern void error PROTO((char *, ...));
-extern int expand_exit_labelled PROTO((tree));
-extern void lookup_and_expand_goto PROTO((tree));
-extern void lookup_and_handle_exit PROTO((tree));
-extern void push_granted PROTO((tree, tree));
-extern void sorry PROTO((char *, ...));
-extern void warning PROTO((char *, ...));
+static int parse_action PROTO((void));
extern int lineno;
extern char *input_filename;
@@ -96,7 +82,9 @@ extern tree signal_code;
extern int all_static_flag;
extern int ignore_case;
+#if 0
static int quasi_signal = 0; /* 1 if processing a quasi signal decl */
+#endif
int parsing_newmode; /* 0 while parsing SYNMODE;
1 while parsing NEWMODE. */
@@ -261,7 +249,7 @@ static YYSTYPE val_buffer[MAX_LOOK_AHEAD+1];
#ifdef __GNUC__
__inline__
#endif
-static int
+static enum terminal
PEEK_TOKEN()
{
if (terminal_buffer[0] == TOKEN_NOT_READ)
@@ -533,8 +521,6 @@ parse_opt_end_label_semi_colon (start_label)
parse_semi_colon ();
}
-extern tree set_module_name ();
-
static void
parse_modulion (label)
tree label;
@@ -633,7 +619,6 @@ void
parse_mode_definition_statement (is_newmode)
int is_newmode;
{
- tree names;
FORWARD_TOKEN (); /* skip SYNMODE or NEWMODE */
parse_mode_definition (is_newmode);
while (PEEK_TOKEN () == COMMA)
@@ -1077,8 +1062,7 @@ parse_param_attr ()
/* In pass 1, returns list of types; in pass 2: chain of PARM_DECLs. */
static tree
-parse_formpar (in_spec_module)
- int in_spec_module;
+parse_formpar ()
{
tree names = parse_param_name_list ();
tree mode = parse_mode ();
@@ -1093,15 +1077,14 @@ parse_formpar (in_spec_module)
* also need change. Push_extern_process is affected as well.
*/
static tree
-parse_formparlist (in_spec_module)
- int in_spec_module;
+parse_formparlist ()
{
tree list = NULL_TREE;
if (PEEK_TOKEN() == RPRN)
return NULL_TREE;
for (;;)
{
- list = chainon (list, parse_formpar (in_spec_module));
+ list = chainon (list, parse_formpar ());
if (! check_token (COMMA))
break;
}
@@ -1233,7 +1216,7 @@ parse_procedure_definition (in_spec_module)
ignoring = pass == 2;
require (COLON); require (PROC);
expect (LPRN, "missing '(' after PROC");
- params = parse_formparlist (in_spec_module);
+ params = parse_formparlist ();
expect (RPRN, "missing ')' in PROC");
result = parse_opt_result_spec ();
exceptlist = parse_opt_except ();
@@ -1259,7 +1242,7 @@ parse_processpar ()
tree names = parse_defining_occurrence_list ();
tree mode = parse_mode ();
tree paramattr = parse_param_attr ();
- tree parms = NULL_TREE;
+
if (names && TREE_CODE (names) == IDENTIFIER_NODE)
names = build_tree_list (NULL_TREE, names);
return tree_cons (tree_cons (paramattr, mode, NULL_TREE), names, NULL_TREE);
@@ -1395,16 +1378,18 @@ parse_definition (in_spec_module)
{
case NAME:
if (PEEK_TOKEN1() == COLON)
- if (PEEK_TOKEN2() == PROC)
- {
- parse_procedure_definition (in_spec_module);
- return 1;
- }
- else if (PEEK_TOKEN2() == PROCESS)
- {
- parse_process_definition (in_spec_module);
- return 1;
- }
+ {
+ if (PEEK_TOKEN2() == PROC)
+ {
+ parse_procedure_definition (in_spec_module);
+ return 1;
+ }
+ else if (PEEK_TOKEN2() == PROCESS)
+ {
+ parse_process_definition (in_spec_module);
+ return 1;
+ }
+ }
return 0;
case DCL:
parse_declaration_statement(in_spec_module);
@@ -1684,10 +1669,9 @@ static void
parse_multi_dimension_case_action (selector)
tree selector;
{
- struct rtx_def *begin_test_label, *end_case_label, *new_label;
+ struct rtx_def *begin_test_label = 0, *end_case_label, *new_label;
tree action_labels = NULL_TREE;
tree tests = NULL_TREE;
- tree new_test;
int save_lineno = lineno;
char *save_filename = input_filename;
@@ -1816,10 +1800,6 @@ parse_case_action (label)
tree selector;
int multi_dimension_case = 0;
-/* The case label/action toggle. It is 0 initially, and when an action
- was last seen. It is 1 integer_zero_node when a label was last seen. */
- int caseaction_flag = 0;
-
require (CASE);
selector = parse_expr_list ();
selector = nreverse (selector);
@@ -1897,7 +1877,7 @@ parse_asm_clobbers ()
tree list = NULL_TREE;
for (;;)
{
- tree string, expr;
+ tree string;
if (PEEK_TOKEN () != STRING)
{
error ("bad ASM operand");
@@ -2176,7 +2156,7 @@ static void
parse_delay_case_action (label)
tree label;
{
- tree label_cnt, set_location, priority;
+ tree label_cnt = NULL_TREE, set_location, priority;
tree combined_event_list = NULL_TREE;
require (DELAY);
require (CASE);
@@ -2577,7 +2557,7 @@ parse_opt_actions ()
while (parse_action ()) ;
}
-int
+static int
parse_action ()
{
tree label = NULL_TREE;
@@ -2962,7 +2942,7 @@ parse_tuple_element ()
{
/* The tupleelement chain is built in reverse order,
and put in forward order when the list is used. */
- tree value, list, label;
+ tree value, label;
if (PEEK_TOKEN () == DOT)
{
/* Parse a labelled structure tuple. */
@@ -3152,6 +3132,8 @@ parse_primval ()
args = parse_primval ();
val = ignoring ? val : build_generalized_call (val, args);
continue;
+ default:
+ break;
}
break;
}
@@ -3755,8 +3737,8 @@ parse_variant_field_list ()
static tree
parse_variant_alternative ()
{
- tree labels, x;
- tree variant_fields = NULL_TREE;
+ tree labels;
+
if (PEEK_TOKEN () == LPRN)
labels = parse_case_label_specification (NULL_TREE);
else
diff --git a/gcc/ch/satisfy.c b/gcc/ch/satisfy.c
index a9f3c87..04faa94 100644
--- a/gcc/ch/satisfy.c
+++ b/gcc/ch/satisfy.c
@@ -17,20 +17,16 @@ 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. */
-#include <stdio.h>
#include "config.h"
+#include "system.h"
#include "tree.h"
#include "flags.h"
#include "ch-tree.h"
#include "lex.h"
+#include "toplev.h"
#define SATISFY(ARG) ((ARG) = satisfy(ARG, chain))
-extern void error PROTO((char *, ...));
-extern void error_with_decl PROTO((tree, char *, ...));
-extern void expand_decl PROTO((tree));
-extern void layout_enum PROTO((tree));
-
struct decl_chain
{
struct decl_chain *prev;
diff --git a/gcc/ch/tasking.c b/gcc/ch/tasking.c
index 95c81c6..5ae992f 100644
--- a/gcc/ch/tasking.c
+++ b/gcc/ch/tasking.c
@@ -17,10 +17,8 @@ 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. */
-#include <stdio.h>
-#include <limits.h>
-#include <string.h>
#include "config.h"
+#include "system.h"
#include "tree.h"
#include "rtl.h"
#include "ch-tree.h"
@@ -30,13 +28,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "assert.h"
#include "tasking.h"
#include "lex.h"
-
-/* external functions */
-extern void emit_jump PROTO((rtx));
-extern void error PROTO((char *, ...));
-extern void error_with_decl PVPROTO ((tree, char *, ...));
-extern void push_obstacks PROTO((struct obstack *, struct obstack *));
-extern void warning PROTO((char *, ...));
+#include "toplev.h"
/* from ch-lex.l, from compiler directives */
extern tree process_type;
@@ -70,8 +62,10 @@ static char * struct_name = "__tmp_%s_arg_type";
/* name template for process arguments for debugging type */
static char * struct_debug_name = "__tmp_%s_debug_type";
+#if 0
/* name template for process argument variable */
static char * data_name = "__tmp_%s_arg_variable";
+#endif
/* name template for process wrapper */
static char * wrapper_name = "__tmp_%s_wrapper";
@@ -117,7 +111,7 @@ get_tasking_code_name (name)
return get_identifier (tmpname);
}
-
+#if 0
static tree
get_struct_variable_name (name)
tree name;
@@ -128,6 +122,7 @@ get_struct_variable_name (name)
sprintf (tmpname, data_name, idp);
return get_identifier (tmpname);
}
+#endif
static tree
get_process_wrapper_name (name)
@@ -498,7 +493,7 @@ build_process_wrapper (plabel, processdata)
void
validate_process_parameters (parms)
- tree parms;
+ tree parms ATTRIBUTE_UNUSED;
{
}
@@ -522,7 +517,7 @@ build_start_process (process_name, copynum,
tree process_decl, struct_type_node;
tree result;
tree valtail, typetail;
- tree tuple, actuallist = NULL_TREE;
+ tree tuple = NULL_TREE, actuallist = NULL_TREE;
tree typelist;
int parmno = 2;
tree args;
@@ -2111,7 +2106,6 @@ build_receive_buffer_case_end (label_cnt, buf_list, else_clause)
tree buffer_descr;
tree buffer_descr_init;
tree buffer_length;
- tree buffer_ptr;
tree field;
char fldname[20];
diff --git a/gcc/ch/timing.c b/gcc/ch/timing.c
index f96b715..aa0c7a6 100644
--- a/gcc/ch/timing.c
+++ b/gcc/ch/timing.c
@@ -17,10 +17,8 @@ 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. */
-#include <stdio.h>
-#include <limits.h>
-#include <string.h>
#include "config.h"
+#include "system.h"
#include "tree.h"
#include "rtl.h"
#include "ch-tree.h"
@@ -28,6 +26,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "input.h"
#include "obstack.h"
#include "lex.h"
+#include "toplev.h"
#ifndef LONG_TYPE_SIZE
#define LONG_TYPE_SIZE BITS_PER_WORD
@@ -394,7 +393,7 @@ build_after_start (duration, delay_flag)
void
build_after_timeout_start ()
{
- tree label_name, goto_where;
+ tree label_name;
if (! ignoring)
{
diff --git a/gcc/ch/tree.c b/gcc/ch/tree.c
index b1d0168..5b69887 100644
--- a/gcc/ch/tree.c
+++ b/gcc/ch/tree.c
@@ -18,17 +18,16 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "config.h"
+#include "system.h"
#include "obstack.h"
#include "tree.h"
#include "ch-tree.h"
+#include "toplev.h"
/* Here is how primitive or already-canonicalized types'
hash codes are made. */
#define TYPE_HASH(TYPE) ((HOST_WIDE_INT) (TYPE) & 0777777)
-extern void error PROTO((char *, ...));
-extern int get_type_precision PROTO((tree, tree));
-
extern struct obstack permanent_obstack;
/* This is special sentinel used to communicate from build_string_type
to layout_chill_range_type for the index range of a string. */
diff --git a/gcc/ch/typeck.c b/gcc/ch/typeck.c
index 3a7b464..71d0361 100644
--- a/gcc/ch/typeck.c
+++ b/gcc/ch/typeck.c
@@ -28,27 +28,14 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
like a strange sort of assignment). */
#include "config.h"
-#include <stdio.h>
+#include "system.h"
#include "tree.h"
#include "ch-tree.h"
#include "flags.h"
#include "rtl.h"
#include "expr.h"
#include "lex.h"
-
-extern tree build_chill_compound_expr PROTO((tree));
-extern tree build_component_ref PROTO((tree, tree));
-extern void c_expand_return PROTO((tree));
-extern int ch_singleton_set PROTO((tree));
-extern void error PROTO((char *, ...));
-extern void error_with_decl PROTO((tree, char *, ...));
-extern int mark_addressable PROTO((tree));
-extern void pedwarn PROTO((char *, ...));
-extern void pedwarn_with_decl PROTO((tree, char *, ...));
-extern tree require_complete_type PROTO((tree));
-extern void sorry PROTO((char *, ...));
-extern void warning PROTO((char *, ...));
-extern int get_type_precision PROTO((tree, tree));
+#include "toplev.h"
extern tree intQI_type_node;
extern tree intHI_type_node;
@@ -63,9 +50,9 @@ extern tree unsigned_intDI_type_node;
extern tree unsigned_intTI_type_node;
/* forward declarations */
-tree chill_expand_tuple PROTO((tree, tree));
static int chill_l_equivalent PROTO((tree, tree, struct mode_chain*));
-extern tree extract_constant_from_buffer();
+static tree extract_constant_from_buffer PROTO((tree, unsigned char *, int));
+static int expand_constant_to_buffer PROTO((tree, unsigned char *, int));
/*
* This function checks an array access.
@@ -249,7 +236,6 @@ build_chill_slice (array, min_value, length)
tree element_type = TREE_TYPE (array_type);
tree slice_type = build_simple_array_type (element_type, index_type, NULL_TREE);
tree slice_pointer_type;
- int is_static;
tree max_size;
if (CH_CHARS_TYPE_P (array_type))
@@ -729,7 +715,7 @@ convert_to_discrete (exp)
Returns 1 on success, or 0 on failure. (Either the VALUE was
not constant, or we don't know how to do the conversion.) */
-int
+static int
expand_constant_to_buffer (value, buffer, buf_size)
tree value;
unsigned char *buffer;
@@ -782,10 +768,12 @@ expand_constant_to_buffer (value, buffer, buf_size)
{
tree min_val = TYPE_MIN_VALUE (TYPE_DOMAIN (type));
if (min_val)
- if (TREE_CODE (min_val) != INTEGER_CST)
- return 0;
- else
- min_index = TREE_INT_CST_LOW (min_val);
+ {
+ if (TREE_CODE (min_val) != INTEGER_CST)
+ return 0;
+ else
+ min_index = TREE_INT_CST_LOW (min_val);
+ }
}
next_index = min_index;
@@ -858,7 +846,7 @@ expand_constant_to_buffer (value, buffer, buf_size)
Returns NULL_TREE on failure. (E.g. the TYPE might be variable size,
or perhaps we don't know how to do the conversion.) */
-tree
+static tree
extract_constant_from_buffer (type, buffer, buf_size)
tree type;
unsigned char *buffer;
@@ -912,10 +900,12 @@ extract_constant_from_buffer (type, buffer, buf_size)
return 0;
value = TYPE_MIN_VALUE (TYPE_DOMAIN (type));
if (value)
- if (TREE_CODE (value) != INTEGER_CST)
- return 0;
- else
- min_index = TREE_INT_CST_LOW (value);
+ {
+ if (TREE_CODE (value) != INTEGER_CST)
+ return 0;
+ else
+ min_index = TREE_INT_CST_LOW (value);
+ }
value = TYPE_MAX_VALUE (TYPE_DOMAIN (type));
if (value == NULL_TREE || TREE_CODE (value) != INTEGER_CST)
return 0;
@@ -1845,12 +1835,14 @@ chill_compatible (expr, mode)
mode = TREE_TYPE (mode);
if (TREE_TYPE (expr) == NULL_TREE)
- if (TREE_CODE (expr) == CONSTRUCTOR)
- return TREE_CODE (mode) == RECORD_TYPE
- || ((TREE_CODE (mode) == SET_TYPE || TREE_CODE (mode) == ARRAY_TYPE)
- && ! TYPE_STRING_FLAG (mode));
- else
- return TREE_CODE (expr) == CASE_EXPR || TREE_CODE (expr) == COND_EXPR;
+ {
+ if (TREE_CODE (expr) == CONSTRUCTOR)
+ return TREE_CODE (mode) == RECORD_TYPE
+ || ((TREE_CODE (mode) == SET_TYPE || TREE_CODE (mode) == ARRAY_TYPE)
+ && ! TYPE_STRING_FLAG (mode));
+ else
+ return TREE_CODE (expr) == CASE_EXPR || TREE_CODE (expr) == COND_EXPR;
+ }
class = chill_expr_class (expr);
switch (class.kind)
@@ -2733,7 +2725,7 @@ apply_chill_array_layout (array_type)
tree array_type;
{
tree layout, temp, what, element_type;
- int stepsize, word, start_bit, offset, length, natural_length;
+ int stepsize, word, start_bit, length, natural_length;
int stepsize_specified;
int start_bit_error = 0;
int length_error = 0;
@@ -3351,7 +3343,6 @@ smash_dummy_type (type)
int save_readonly = TYPE_READONLY (type);
tree save_novelty = CH_NOVELTY (type);
tree save_domain = TYPE_DOMAIN (type);
- struct lang_type *save_lang_specific = TYPE_LANG_SPECIFIC (type);
if (origin == NULL_TREE)
abort ();
@@ -3795,9 +3786,9 @@ initializer_constant_valid_p (value, endtype)
return null_pointer_node;
return 0;
}
+ default:
+ return 0;
}
-
- return 0;
}
/* Return an integer type with BITS bits of precision,