From: Kaveh R. Ghazi Date: Sun, 20 Sep 1998 06:43:23 +0000 (+0000) Subject: Warning fixes: X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7511142254795beb9417f1c226d3ba471a9272fc;p=gcc.git 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 --- diff --git a/gcc/ch/ChangeLog b/gcc/ch/ChangeLog index 9bb6faad3a7..b27ba2ee7a0 100644 --- a/gcc/ch/ChangeLog +++ b/gcc/ch/ChangeLog @@ -1,3 +1,150 @@ +Sun Sep 20 09:25:13 1998 Kaveh R. Ghazi + + * 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 * 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 7d2a73c37c3..712272b85e6 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 5937f85ec4a..11722197f8e 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 -#include #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 8a3da007974..cb3fd3d6593 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 - /* 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 d865336bf6f..48becd0f360 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 83e1a053a2a..da0822264a0 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 #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 d3b3c709247..db02a920c5c 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 a016bf9c975..3326eead38f 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 +#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 5dcf450f435..eb441d86cc1 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 -#include -#include #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 2d2293bbda1..2c5f6281a87 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 -#include -#include #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 b52bca657eb..86d649009c4 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 #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 17b926879e3..bb841d1e4f2 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 -#include +#include "config.h" +#include "system.h" #include -#include -#include #include -#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 #include #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 70d30fce4f2..88efaac5379 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 -#include #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 32f72e5d249..bf2bda05336 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 #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 a9f3c871fa7..04faa941f45 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 #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 95c81c6fd2e..5ae992f400c 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 -#include -#include #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 f96b7159f36..aa0c7a6e079 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 -#include -#include #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 b1d01687319..5b698874319 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 3a7b4642bd5..71d0361b9ec 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 +#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,