gcc.git
26 years agoconfig.if (cxx_interface, [...]): Do not try to set these if the appropriate director...
Jeff Law [Sun, 18 Oct 1998 17:37:10 +0000 (11:37 -0600)]
config.if (cxx_interface, [...]): Do not try to set these if the appropriate directories and files to not exist.

P
        * config.if (cxx_interface, libstdcxx_interface): Do not try to set
        these if the appropriate directories and files to not exist.

From-SVN: r23166

26 years agoconfig.if (cxx_interface, [...]): Do not try to set these if the appropriate director...
Jeff Law [Sun, 18 Oct 1998 17:37:09 +0000 (11:37 -0600)]
config.if (cxx_interface, [...]): Do not try to set these if the appropriate directories and files to not exist.


        * config.if (cxx_interface, libstdcxx_interface): Do not try to set
        these if the appropriate directories and files to not exist.

From-SVN: r23165

26 years agofunction.c (uninitialized_vars_warning): Do not warn for a VAR_DECL if it has a nonze...
Jeffrey A Law [Sun, 18 Oct 1998 16:34:41 +0000 (16:34 +0000)]
function.c (uninitialized_vars_warning): Do not warn for a VAR_DECL if it has a nonzero DECL_INITIAL.

        * function.c (uninitialized_vars_warning): Do not warn for a VAR_DECL
        if it has a nonzero DECL_INITIAL.

From-SVN: r23164

26 years agodecl2.c (validate_nonmember_using_decl): Fix using-directives of std if std is ignored.
Martin v. Löwis [Sun, 18 Oct 1998 09:21:17 +0000 (09:21 +0000)]
decl2.c (validate_nonmember_using_decl): Fix using-directives of std if std is ignored.

        * decl2.c (validate_nonmember_using_decl): Fix using-directives of
        std if std is ignored.

From-SVN: r23162

26 years ago* decl.c (grokvardecl): Fix thinko.
Jason Merrill [Sun, 18 Oct 1998 04:18:02 +0000 (04:18 +0000)]
* decl.c (grokvardecl): Fix thinko.

From-SVN: r23161

26 years agodecl.c (grokdeclarator): Embedded attrs bind to the right, not the left.
Jason Merrill [Sun, 18 Oct 1998 04:11:07 +0000 (04:11 +0000)]
decl.c (grokdeclarator): Embedded attrs bind to the right, not the left.

* decl.c (grokdeclarator): Embedded attrs bind to the right,
not the left.

From-SVN: r23160

26 years agoparse.y (fn.def2): Fix 'attrs' format.
Jason Merrill [Sun, 18 Oct 1998 03:10:53 +0000 (23:10 -0400)]
parse.y (fn.def2): Fix 'attrs' format.

* parse.y (fn.def2): Fix 'attrs' format.
* Makefile.in (CONFLICTS): Update.
* parse.y (expr_or_declarator_intern): New rule.
(expr_or_declarator, direct_notype_declarator, primary,
functional_cast): Use it.
(notype_declarator_intern): New rule.
(notype_declarator, complex_notype_declarator): Use it.

From-SVN: r23159

26 years agoDaily bump.
Jeff Law [Sun, 18 Oct 1998 00:45:02 +0000 (18:45 -0600)]
Daily bump.

From-SVN: r23158

26 years agodecl.c (grokfndecl): Set DECL_CONTEXT to namespace if appropriate.
Jason Merrill [Sat, 17 Oct 1998 23:01:39 +0000 (23:01 +0000)]
decl.c (grokfndecl): Set DECL_CONTEXT to namespace if appropriate.

* decl.c (grokfndecl): Set DECL_CONTEXT to namespace if appropriate.
(grokvardecl): Likewise.

From-SVN: r23157

26 years agoWarning fixes:
Kaveh R. Ghazi [Sat, 17 Oct 1998 20:33:45 +0000 (20:33 +0000)]
Warning fixes:

        * class.c (make_method_vec): Cast 1st argument of `bzero' to (PTR).
        (add_method): Likewise for arguments 1 & 2 of `bcopy'.
        * decl.c (signal_catch): Mark with ATTRIBUTE_NORETURN.
        * pt.c (process_partial_specialization): Cast 1st argument of
        `bzero' to (PTR).
        * tree.c (build_base_fields): Cast `base_align' to (int) when
        comparing against one.

From-SVN: r23156

26 years agoWarning fixes:
Kaveh R. Ghazi [Sat, 17 Oct 1998 20:26:29 +0000 (20:26 +0000)]
Warning fixes:

        * Makefile.in (flow.o): Depend on recog.h.
        * cpplib.h (directive_table): Add missing initializiers.
        (finclude): Change type of variable `bsize' to size_t.
        * cse.c (rtx_cost): Mark parameter `outer_code' with ATTRIBUTE_UNUSED.
        * dwarfout.h (dwarfout_label): Wrap prototype in macro RTX_CODE.
        * fix-header.c (lookup_std_proto): Cast the result of `strlen' to
        `int' when comparing against one.
        (cpp_file_line_for_message): Mark parameter `pfile' with
        ATTRIBUTE_UNUSED.
        (cpp_fatal): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
        * flow.c: Include recog.h.
        (sbitmap_copy): Cast arguments 1 & 2 of `bcopy' to (PTR).
        * function.c (thread_prologue_and_epilogue_insns): Mark parameter
        `f' with ATTRIBUTE_UNUSED.
        (reposition_prologue_and_epilogue_notes): Likewise.
        * genopinit.c (gen_insn): Cast argument of ctype functions to
        `unsigned char'.
        * haifa-sched.c: Include recog.h.
        (blockage_range): Cast result of UNIT_BLOCKED macro to (int) when
        comparing against one.
        * libgcc2.a (__throw): Revert ATTRIBUTE_UNUSED change for now.
        * mips-tfile.c (parse_end): Cast the argument of ctype function to
        `unsigned char'.
        (parse_ent): Likewise.
        (parse_input): Likewise.
        * optabs.c (init_libfuncs): Likewise.
        * protoize.c (find_rightmost_formals_list): Likewise.
        * recog.h (const_double_operand): Fix typo in prototype.
        * tlink.c (scan_linker_output): Cast the argument of ctype
        function to `unsigned char'.
        * toplev.c (check_lang_option): Cast the result of `strlen' to
        `int' when comparing against one.

From-SVN: r23155

26 years ago* gcse.c (dump_cuid_table): Correct typo.
Graham Stott [Sat, 17 Oct 1998 12:11:06 +0000 (06:11 -0600)]
* gcse.c (dump_cuid_table): Correct typo.

From-SVN: r23154

26 years agoMakefile.in: Link with libiberty.a instead of memmove.o.
Per Bothner [Sat, 17 Oct 1998 11:27:41 +0000 (04:27 -0700)]
Makefile.in: Link with libiberty.a instead of memmove.o.


* Makefile.in:  Link with libiberty.a instead of memmove.o.

From-SVN: r23153

26 years ago*** empty log message ***
Per Bothner [Sat, 17 Oct 1998 11:27:40 +0000 (04:27 -0700)]
*** empty log message ***

From-SVN: r23152

26 years agoPrepend '-m' to --hrlp output of target specific options.
Nick Clifton [Sat, 17 Oct 1998 11:04:29 +0000 (11:04 +0000)]
Prepend '-m' to --hrlp output of target specific options.

Ignore text after end of first word of a language specific option.

From-SVN: r23151

26 years agoComment tweak.
Jeff Law [Sat, 17 Oct 1998 01:45:13 +0000 (19:45 -0600)]
Comment tweak.

From-SVN: r23150

26 years agoreload1.c (reg_used_by_pseudo): New static variable.
Bernd Schmidt [Sat, 17 Oct 1998 01:44:01 +0000 (01:44 +0000)]
reload1.c (reg_used_by_pseudo): New static variable.

* reload1.c (reg_used_by_pseudo): New static variable.
(choose_reload_regs): Initialize it.
Use it instead of testing spill_reg_order to determine whether a
pseudo is live in a hard register across the current insn.
Fix a typo in a reference to reload_reg_rtx.

From-SVN: r23149

26 years agoflow.c (propagate_block): Replace code that computes and uses regs_sometimes_live...
Bernd Schmidt [Sat, 17 Oct 1998 01:38:15 +0000 (01:38 +0000)]
flow.c (propagate_block): Replace code that computes and uses regs_sometimes_live with simpler code that...

        * flow.c (propagate_block): Replace code that computes and uses
        regs_sometimes_live with simpler code that just walks the set of
        currently live registers.

From-SVN: r23148

26 years agoMakefile.in (insn-extract.o): Fix dependencies.
Bernd Schmidt [Sat, 17 Oct 1998 01:28:57 +0000 (01:28 +0000)]
Makefile.in (insn-extract.o): Fix dependencies.

* Makefile.in (insn-extract.o): Fix dependencies.
* genextract.c (main): Generate includes for insn-config.h and
recog.h.
Delete generation of declarations which are now in recog.h.
* genrecog.c (main): Delete generation of definitions which are
now in recog.c.
* local-alloc.c (block_alloc): Use extract_insn and the variables
it sets up instead of looking up values by insn_code.
* recog.c (recog_operand, recog_operand_loc, recog_dup_loc,
recog_dup_num): Define here instead of generating the definition in
genrecog.c.
(recog_n_operands, recog_n_dups, recog_n_alternatives,
recog_operand_mode, recog_constraints, recog_operand_address_p):
New variables.
(extract_insn): New function.
* recog.h (extract_insn): Declare function.
(which_alternative, recog_n_operands, recog_n_dups,
recog_n_alternatives, recog_operand_mode, recog_constraints,
recog_operand_address_p): Declare variables.
* regclass.c (n_occurrences): New static function.
* reload.c (n_occurrences): Delete function.
(find_reloads): Use extract_insn.
* reload.h (n_occurrences): Delete declaration.

From-SVN: r23147

26 years agoDaily bump.
Jeff Law [Sat, 17 Oct 1998 00:45:02 +0000 (18:45 -0600)]
Daily bump.

From-SVN: r23146

26 years agoreload1.c (reload_as_needed): Fix test for when to call update_eliminable_offsets.
Jeffrey A Law [Sat, 17 Oct 1998 00:19:37 +0000 (00:19 +0000)]
reload1.c (reload_as_needed): Fix test for when to call update_eliminable_offsets.


        * reload1.c (reload_as_needed): Fix test for when to call
        update_eliminable_offsets.

From-SVN: r23145

26 years agoMinor changes in the documentation. Correctly define get_inner_array_type.
Ovidiu Predescu [Fri, 16 Oct 1998 22:19:22 +0000 (22:19 +0000)]
Minor changes in the documentation. Correctly define get_inner_array_type.

From-SVN: r23144

26 years agoFix consistency problems with reg_equiv_{mem,address};
J"orn Rennecke [Fri, 16 Oct 1998 19:54:38 +0000 (19:54 +0000)]
Fix consistency problems with reg_equiv_{mem,address};

        Improve reload inheritance;
        * reload.c (reload_out_reg): New variable.
        (loc_mentioned_in_p, remove_address_replacements): New functions.
        (remove_replacements): Deleted.
        (push_reload): Set reload_out_reg[i].
        When merging, also set reload_{in,out}_reg[i], and remove
        duplicate address reloads.
        (combine_reloads): Copy reload_out_reg[i].
        (find_reloads): Do make_memloc substitution also when
        reg_equiv_memory_loc[regno] and num_not_at_initial_offset
        are both nonzero.
        Include *recog_operand_loc in commutativity operand changes.
        Generate optional output reloads.
        Delete reference to n_memlocs.  Don't set *recog_operand_loc before
        processing operands.  Call make_memloc in reg_equiv_address code.
        Set *recog_operand_loc only after processing operands, and only
        if replace is true.  Return a value.
        When changing address reload types for operands that didn't get
        reloaded, use RELOAD_FOR_OPADDR_ADDRESS for
        RELOAD_FOR_INPADDR_ADDRESS / RELOAD_FOR_OUTADDR_ADDRESS reloads.
        Don't emit USEs for pseudo SUBREGs when not replacing.
        (find_reloads_address): Do make_memloc substitution also when
        reg_equiv_memory_loc[regno] and num_not_at_initial_offset
        are both nonzero.
        (find_reloads_toplev): Likewise.
        Call make_memloc in reg_equiv_address code.
        (debug_reload_to_stream): Add code to output reload_out_reg.
        (make_memloc): Delete local variable i, ifdefed out code, and
        references to memlocs and n_memlocs.
        (memlocs, n_memlocs): Delete.
        (push_secondary_reload): Clear reload_out_reg.
        (find_reloads_address_1): Provide memrefloc argument to all calls
        to find_reloads_address.
        In AUTO_INC code, handle non-directly addressable equivalences properly.
        * reload.h (reload_out_reg, num_not_at_initial_offset): Declare.
        (find_reloads): Add return type.
        (remove_address_replacements, deallocate_reload_reg): Declare.
        * reload1.c (num_not_at_initial_offset): No longer static.
        (delete_address_reloads, delete_address_reloads_1): Likewise.
        (deallocate_reload_reg): New function.
        (spill_reg_stored_to): New array.
        (eliminate_regs): Don't substitute from reg_equiv_memory_loc.
        (eliminate_regs_in_insn): Move assignments of previous_offset and
        max_offset fields, and recalculation of num_not_at_initial_offset
        into new static function:
        (update_eliminable_offsets) .
        (reload_as_needed): Call update_eliminable_offsetss after calling
        find_reloads.
        Call forget_old_reloads_1 with contents of reloaded auto_inc
        expressions if the actual addressing can't be changed to match the
        auto_inc.
        (choose_reload_regs): For inheritance, replace
        reload_reg_free_before_p test with reload_reg_ions.
        (emit_reload_insns): If reload_in is a MEM, set OLD to
        reload_in_reg[j].
        Don't reload directly from oldequiv; if it's a pseudo with a
        stack slot, use reload_in[j].
        Check that reload_in_reg[j] is a MEM before replacing reload_in
        from reg_reloaded_contents.
        Include non-spill registers in reload inheritance processing.
        Also try to use reload_out_reg to set spill_reg_store /
        reg_last_reload_reg.
        In code to set new_spill_reg_store, use single_set to find out if
        there is a single set.
        Add code that allows to delete optional output reloads.
        Add code to allow deletion of output reloads that use no spill reg.
        At the end, set reload_override_in to oldequiv.
        Also call delete_output_reload if reload_out_reg is equal to old
        in oldequiv code.
        Add code to call delete_output_reload for stores with no matching load.
        Set / use spill_reg_stored_to.
        Handle case where secondary output reload uses a temporary, but
        actual store isn't found.
        When looking for a store of a value not loaded in order to call
        delete_output_reload, count_occurences should return 0 for no
        loads; but discount inherited input reloadill_reg_stored_to.
        Do checks for extra uses of REG.  Changed all
        callers.
        Use delete_address_reloads.
        (reload): Take return value of find_reloads into account.
        If a no-op set needs more than one reload, delete it.
        (reload_reg_free_before_p): RELOAD_FOR_INPUT
        can ignore RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
        for the same operand.
        (clear_reload_reg_in_use): Check for other reloads that keep a
        register in use.
        (reload_reg_free_for_value_p): handle RELOAD_FOR_OPERAND_ADDRESS /
        RELOAD_FOR_OPADDR_ADDR.
        Take into account when an address address reload is only needed
        for the address reload we are considering.
        (count_occurrences): Use rtx_equal_p for MEMs.
        (inc_for_reload): Return instruction that stores into RELOADREG.
        New argument two, IN, and rtx.  Changed all callers.
        (calculate_needs_all_insns, reload_as_needed):
        Don't clear after_call for a CLOBBER.
        Keep track of how many hard registers need to be copied from
        after_call, and don't clear after_call before we have seen
        that much copies, or we see a different instruction.

From-SVN: r23143

26 years agolex.c (setjmp.h): No longer included.
Alexandre Petit-Bianco [Fri, 16 Oct 1998 19:36:39 +0000 (19:36 +0000)]
lex.c (setjmp.h): No longer included.

Fri Oct 16 10:59:01 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
* lex.c (setjmp.h): No longer included.
* lex.h (setjmp.h): Included.
* parse.h (SET_TYPE_FOR_RESOLUTION): New macro.
(duplicate_declaration_error_p): Renamed from
  duplicate_declaration_error.
(build_array_from_name): New function prototype.
* parse.y (setjmp.h): No longer included.
(variable_declarator_id): Define action.
(build_array_from_name): New function.
(duplicate_declaration_error_p): Renamed from
  duplicate_declaration_error.  Fixed leading comment.
(register_fields): Main `for' loop reorganized. Uses
  SET_TYPE_FOR_RESOLUTION and build_array_from_name.
(method_declarator): Uses SET_TYPE_FOR_RESOLUTION and call
  build_array_from_name.
(resolve_class): Set CLASS_LOADED_P on newly build array dimension
  types.
(read_import_dir): Don't try to skip `.' and `..'.
(declare_local_variables): Uses SET_TYPE_FOR_RESOLUTION and
  build_array_from_name. Main `for' loop reorganized.
(resolve_qualified_expression_name): When building access to a
  field, use the type where the field was found, not its own type.
(maybe_access_field): Use field DECL_CONTEXT if the type where the
  field was found is null.
(qualify_ambiguous_name): Sweep through all successive array
  dimensions.
Implements the alternate form `T a[]' of array declarations. Fixes a
bug when building access to certain fields. Fixed a compilation
warning when lex.h is included from somewhere else than parse.y

From-SVN: r23142

26 years agodecl.c (lookup_name_real): Handle template parameters for member temlates where said...
Mark Mitchell [Fri, 16 Oct 1998 18:40:36 +0000 (18:40 +0000)]
decl.c (lookup_name_real): Handle template parameters for member temlates where said parameters have the...

* decl.c (lookup_name_real): Handle template parameters for member
temlates where said parameters have the same name as the
surrounding class.

From-SVN: r23141

26 years agoflow.c (find_basic_blocks_1): Do not delete unreachable blocks after reload has compl...
Jeffrey A Law [Fri, 16 Oct 1998 17:44:05 +0000 (17:44 +0000)]
flow.c (find_basic_blocks_1): Do not delete unreachable blocks after reload has completed.

        * flow.c (find_basic_blocks_1): Do not delete unreachable blocks
        after reload has completed.

From-SVN: r23140

26 years agocpplib.c (cpp_get_token): Replace whitespace that occurs between a macro name and...
Dave Brolley [Fri, 16 Oct 1998 14:28:40 +0000 (14:28 +0000)]
cpplib.c (cpp_get_token): Replace whitespace that occurs between a macro name and the next token with a...

Fri Oct 16 17:26:10 1998  Dave Brolley  <brolley@cygnus.com>
        * cpplib.c (cpp_get_token): Replace whitespace that occurs between
        a macro name and the next token with a single blank if that whitespace
        is in a macro buffer and the next token is not '('.

From-SVN: r23139

26 years agodecl.c (expand_static_init): Build cleanups before entering the anonymous function...
Mark Mitchell [Fri, 16 Oct 1998 14:06:24 +0000 (14:06 +0000)]
decl.c (expand_static_init): Build cleanups before entering the anonymous function used to do them to avoid...

* decl.c (expand_static_init): Build cleanups before entering the
anonymous function used to do them to avoid access-checking
confusion.
* decl.c (grokfndecl): Add back call to cplus_decl_attributes
accidentally removed by previous change, and make DECL_RTL here.
* class.c (add_method): Don't make DECL_RTL here.

From-SVN: r23138

26 years agopt.c (for_each_template_parm): Don't examine uninstantiated default arguments.
Mark Mitchell [Fri, 16 Oct 1998 13:24:28 +0000 (13:24 +0000)]
pt.c (for_each_template_parm): Don't examine uninstantiated default arguments.

* pt.c (for_each_template_parm): Don't examine uninstantiated
default arguments.

From-SVN: r23137

26 years agoRemove old CYGNUS LOCAL comment.
Per Bothner [Fri, 16 Oct 1998 13:18:35 +0000 (06:18 -0700)]
Remove old CYGNUS LOCAL comment.

From-SVN: r23136

26 years agocccp.c (rescan): Handle multibyte chartacters ending in backslash.
Dave Brolley [Fri, 16 Oct 1998 12:45:58 +0000 (12:45 +0000)]
cccp.c (rescan): Handle multibyte chartacters ending in backslash.

Fri Oct 16 15:44:02 1998  Dave Brolley  <brolley@cygnus.com>
        * cccp.c (rescan): Handle multibyte chartacters ending in backslash.
        (rescan): Ditto.
        (skip_if_group): Ditto.
        (skip_to_end_of_comment): Ditto.
        (macarg1): Ditto.
        (discard_comments): Ditto.
        (change_newlines): Ditto.

From-SVN: r23135

26 years agolex.c (real_yylex): Fix unaligned access of wchar_t.
Dave Brolley [Fri, 16 Oct 1998 12:42:35 +0000 (12:42 +0000)]
lex.c (real_yylex): Fix unaligned access of wchar_t.

1998-10-16  Dave Brolley  <brolley@cygnus.com>
        * lex.c (real_yylex): Fix unaligned access of wchar_t.

From-SVN: r23134

26 years agoc-lex.c (yylex): Fix unaligned access of wchar_t.
Dave Brolley [Fri, 16 Oct 1998 12:40:02 +0000 (12:40 +0000)]
c-lex.c (yylex): Fix unaligned access of wchar_t.

Fri Oct 16 15:26:24 1998  Dave Brolley  <brolley@cygnus.com>
        * c-lex.c (yylex): Fix unaligned access of wchar_t.

From-SVN: r23133

26 years agoclass.c (add_method): Fix documentation to reflect previous changes.
Mark Mitchell [Fri, 16 Oct 1998 12:08:01 +0000 (12:08 +0000)]
class.c (add_method): Fix documentation to reflect previous changes.

* class.c (add_method): Fix documentation to reflect previous
changes.  Check for duplicate method declarations here.
* decl.c (decls_match): Handle FUNCTION_DECL vs TEMPLATE_DECL
correctly; such things never match.
(grokfndecl): Don't look for duplicate methods here.
* decl2.c (check_classfn): Don't assume names are mangled.
Don't add bogus member function declarations to a class before the
class type is complete.
(grokfield): Reformat error message.
* method.c (set_mangled_name_for_decl): Don't mangle names while
procesing_template_decl.

From-SVN: r23132

26 years agoup
Jason Merrill [Fri, 16 Oct 1998 11:38:35 +0000 (07:38 -0400)]
up

From-SVN: r23131

26 years agoAdd --help documentation for ARM specific command line switches
Nick Clifton [Fri, 16 Oct 1998 11:03:50 +0000 (11:03 +0000)]
Add --help documentation for ARM specific command line switches

From-SVN: r23130

26 years ago* rtl.h (sets_cc0_p): Revert Oct 14 ATTRIBUTE_NORETURN change.
Kaveh R. Ghazi [Fri, 16 Oct 1998 08:57:03 +0000 (08:57 +0000)]
* rtl.h (sets_cc0_p): Revert Oct 14 ATTRIBUTE_NORETURN change.

From-SVN: r23129

26 years agoNew files to touch
Bruce Korb [Fri, 16 Oct 1998 07:39:32 +0000 (07:39 +0000)]
New files to touch

From-SVN: r23128

26 years agoThe generated files
Bruce Korb [Fri, 16 Oct 1998 07:30:53 +0000 (07:30 +0000)]
The generated files

From-SVN: r23127

26 years agoNotification of move of fixinc/ from contrib to here.
Bruce Korb [Fri, 16 Oct 1998 07:11:44 +0000 (07:11 +0000)]
Notification of move of fixinc/ from contrib to here.

From-SVN: r23126

26 years agoThese files are being moved from the contrib/fixinc directory.
Bruce Korb [Fri, 16 Oct 1998 07:00:18 +0000 (07:00 +0000)]
These files are being moved from the contrib/fixinc directory.

They have been modified somewhat to work in the new environment.

From-SVN: r23125

26 years agotypeck.c (build_indirect_ref): Complain about a pointer to data member, too.
Jason Merrill [Fri, 16 Oct 1998 03:37:43 +0000 (03:37 +0000)]
typeck.c (build_indirect_ref): Complain about a pointer to data member, too.

* typeck.c (build_indirect_ref): Complain about a pointer to data
member, too.
* typeck2.c (build_m_component_ref): Don't indirect a pointer to
data member.
* init.c (resolve_offset_ref): Don't undo the above.
* cp-tree.h (DECL_C_BIT_FIELD, SET_DECL_C_BIT_FIELD): New macros.
(struct lang_decl_flags): Add `bitfield'.
* class.c (finish_struct_1): Use DECL_C_BIT_FIELD instead of
DECL_BIT_FIELD.
* decl2.c (grokbitfield, grok_alignof): Likewise.
* init.c (build_offset_ref): Likewise.
* typeck.c (build_component_addr, expr_sizeof): Likewise.
* cvt.c (build_up_reference): Don't crash if taking the address
returns error_mark_node.

From-SVN: r23124

26 years ago* decl.c (grokfndecl): Also check ctype when checking for ::main().
Jason Merrill [Fri, 16 Oct 1998 03:20:33 +0000 (03:20 +0000)]
* decl.c (grokfndecl): Also check ctype when checking for ::main().

From-SVN: r23123

26 years agocse.c (cse_basic_block): Fixup hash flushing loop so we do not accidently walk into...
David S. Miller [Fri, 16 Oct 1998 01:23:51 +0000 (01:23 +0000)]
cse.c (cse_basic_block): Fixup hash flushing loop so we do not accidently walk into the free list.

* cse.c (cse_basic_block): Fixup hash flushing loop so we do not
accidently walk into the free list.  Comment how that can happen.
(invalidate): Fix indentation.

From-SVN: r23122

26 years agoDaily bump.
Jeff Law [Fri, 16 Oct 1998 00:45:02 +0000 (18:45 -0600)]
Daily bump.

From-SVN: r23121

26 years agoflow.c (life_analysis_1): Do not clobber regs_ever_live after reload.
Bernd Schmidt [Fri, 16 Oct 1998 00:08:51 +0000 (00:08 +0000)]
flow.c (life_analysis_1): Do not clobber regs_ever_live after reload.

        * flow.c (life_analysis_1): Do not clobber regs_ever_live after
        reload.  Never perform rescans of the insn chain after reload.
        (propagate_block): Do not delete insn or create new autoinc addressing
        modes after reload.
        * jump.c (jump_optimize): Unconditionally use the code that was
        previously conditional on PRESERVE_DEATH_INFO_REGNO_P.
        * reload1.c (reload): When reloading is finished, delete all
        REG_DEAD and REG_UNUSED notes.
        (emit_reload_insns): Delete all code that was conditional on
        PRESERVE_DEATH_INFO_REGNO_P.
        (no_longer_dead_regs): Delete variable.
        (reload_cse_delete_death_notes): Delete function.
        (reload_cse_no_longer_dead): Delete function.
        (reload_cse_regs_1): Delete all code to handle deletion of death
        notes.
        (reload_cse_noop_set_p): Likewise.
        (reload_cse_simplify_set): Likewise.
        (reload_cse_simplify_operands): Likewise.
        (reload_cse_move2add): Likewise.
        * reorg.c (used_spill_regs): Delete declaration.
        (max_label_num_after_reload): Delete declaration.
        (find_dead_or_set_registers): Don't assume that spill regs are
        dead at a CODE_LABEL.
        * rtlanal.c (dead_or_set_regno_p): Death notes are always accurate,
        even after reload.
        * sched.c (sched_analyze_insn): Likewise.
        (update_flow_info): Likewise.
        * haifa-sched.c (sched_analyze_insn): Likewise.
        (update_flow_info): Likewise.
        * tm.texi (PRESERVE_DEATH_INFO_REGNO_P): Delete documentation.
        * toplev.c (max_label_num_after_reload): Delete variable.
        (rest_of_compilation): Don't set max_label_num_after_reload.
        Call life_analysis after reload_cse_regs if optimizing.
        * config/gmicro/gmicro.h: Delete comment referring to
        PRESERVE_DEATH_INFO_REGNO_P.
        * config/i386/i386.h: Likewise.
        * config/m88k/m88k.h: Likewise.
        * config/m32r/m32r.h (PRESERVE_DEATH_INFO_REGNO_P): Delete definition.
        * config/sh/sh.h: Likewise.
Accurate REG_DEAD notes after reload.

Co-Authored-By: Jeffrey A Law <law@cygnus.com>
From-SVN: r23120

26 years agoAdjust for new warning behavior
Mark Mitchell [Thu, 15 Oct 1998 22:41:46 +0000 (22:41 +0000)]
Adjust for new warning behavior

From-SVN: r23119

26 years agonew
Jason Merrill [Thu, 15 Oct 1998 19:44:51 +0000 (15:44 -0400)]
new

From-SVN: r23118

26 years agodecl.c (grokfndecl): ::main and __builtin_* get C linkage.
Jason Merrill [Thu, 15 Oct 1998 19:43:51 +0000 (19:43 +0000)]
decl.c (grokfndecl): ::main and __builtin_* get C linkage.

* decl.c (grokfndecl): ::main and __builtin_* get C linkage.
Do mangling here.
(grokdeclarator): Instead of here.
* friend.c (do_friend): Lose special handling of ::main and
__builtin_*.
* cp-tree.h (DECL_MAIN_P): Check for C linkage.
* spew.c (yylex): Clear looking_for_typename if we got
'enum { ... };'.

From-SVN: r23117

26 years ago- recommit bct_p ATTRIBUTE_UNUSED change which somehow failed.
David Edelsohn [Thu, 15 Oct 1998 17:37:58 +0000 (13:37 -0400)]
- recommit bct_p ATTRIBUTE_UNUSED change which somehow failed.

From-SVN: r23116

26 years agoloop.c (strength_reduce): Restore marking bct_p as ATTRIBUTE_UNUSED.
David Edelsohn [Thu, 15 Oct 1998 16:52:52 +0000 (16:52 +0000)]
loop.c (strength_reduce): Restore marking bct_p as ATTRIBUTE_UNUSED.

        * loop.c (strength_reduce): Restore marking bct_p as
        ATTRIBUTE_UNUSED.
        * rs6000.c (optimization_options): Change #ifdef HAIFA to
        HAVE_decrement_and_branch_on_count.
        (small_data_operand): Remove TARGET_ELF condition for marking
        parameters ATTRIBUTE_UNUSED.

From-SVN: r23115

26 years agoMakefile.in: rebuilt with --include-deps, --build-dir and --srcdir-name
Alexandre Oliva [Thu, 15 Oct 1998 15:56:34 +0000 (15:56 +0000)]
Makefile.in: rebuilt with --include-deps, --build-dir and --srcdir-name

* Makefile.in: rebuilt with --include-deps, --build-dir and
--srcdir-name
* doc/Makefile.in: ditto
* info/Makefile.in: ditto
* lib/Makefile.in: ditto
* makeinfo/Makefile.in: ditto
* util/Makefile.in: ditto

From-SVN: r23114

26 years agoWarning fixes:
Kaveh R. Ghazi [Thu, 15 Oct 1998 15:55:04 +0000 (15:55 +0000)]
Warning fixes:

        * choose-temp.c: Prototype mkstemps() when IN_GCC.
        * cplus-dem.c (consume_count): Cast argument of ctype macro to
        `unsigned char'.
        (cplus_demangle_opname): Cast the result of `strlen' to (int) when
        comparing against one.
        (cplus_mangle_opname): Likewise.
        (demangle_integral_value): Cast argument of ctype macro to
        `unsigned char'.
        (demangle_template_value_parm): Likewise.
        (demangle_template): Initialize variable `bindex'.  Cast the
        result of `strlen' to (int) when comparing against one.  Remove
        unused variable `start_of_value_parm'.
        (demangle_class_name): Cast the result of `strlen' to (int) when
        comparing against one.
        (demangle_prefix): Cast argument of ctype macro to `unsigned char'.
        (gnu_special): Likewise.  Cast the result of `strlen' to (int)
        when comparing against one.
        (demangle_qualified): Cast argument of ctype macro to `unsigned char'.
        (get_count): Likewise.
        (do_type): Likewise.  Cast the result of `strlen' to (int) when
        comparing against one.
        (demangle_fund_type): Cast argument of ctype macro to `unsigned char'.
        (demangle_function_name): Cast the result of `strlen' to (int)
        when comparing against one.
        * mkstemp.c (mkstemps): Cast variable `len' to (int) when
        comparing against one.

From-SVN: r23113

26 years agoclass.c (maybe_warn_about_overly_private_class): Improve error messages for class...
Mark Mitchell [Thu, 15 Oct 1998 11:36:46 +0000 (11:36 +0000)]
class.c (maybe_warn_about_overly_private_class): Improve error messages for class with only private constructors.

* class.c (maybe_warn_about_overly_private_class): Improve error
messages for class with only private constructors.

From-SVN: r23111

26 years agocp-tree.def (TYPENAME_TYPE): Add to documentation.
Mark Mitchell [Thu, 15 Oct 1998 11:27:43 +0000 (11:27 +0000)]
cp-tree.def (TYPENAME_TYPE): Add to documentation.

* cp-tree.def (TYPENAME_TYPE): Add to documentation.
* cp-tree.h (TYPENAME_TYPE_FULLNAME): Document.
(build_typename_type): New function.
* decl.c (build_typename_type): Broken out from ...
(make_typename_type): Use it.
* search.c (lookup_field): Likewise.

From-SVN: r23110

26 years agosco5.h (MAX_OFILE_ALIGNMENT): Define.
Robert Lipe [Thu, 15 Oct 1998 09:52:29 +0000 (09:52 +0000)]
sco5.h (MAX_OFILE_ALIGNMENT): Define.

       * config/i386/sco5.h (MAX_OFILE_ALIGNMENT):  Define.
       (SELECT_SECTION): Resync with svr4.h.

From-SVN: r23109

26 years ago+ * config/i386/sco5.h (MAX_OFILE_ALIGNMENT): Define.
Robert Lipe [Thu, 15 Oct 1998 09:51:20 +0000 (09:51 +0000)]
+ * config/i386/sco5.h (MAX_OFILE_ALIGNMENT): Define.

+       * config/i386/sco5.h (MAX_OFILE_ALIGNMENT):  Define.
+       (SELECT_SECTION): Resync with svr4.h.

From-SVN: r23108

26 years agoloop.c (strength_reduce): Undo Oct 14 change marking bct_p ATTRIBUTE_UNUSED.
David Edelsohn [Thu, 15 Oct 1998 09:46:38 +0000 (09:46 +0000)]
loop.c (strength_reduce): Undo Oct 14 change marking bct_p ATTRIBUTE_UNUSED.

        * loop.c (strength_reduce): Undo Oct 14 change marking bct_p
        ATTRIBUTE_UNUSED.

From-SVN: r23107

26 years agoWarning fixes:
Kaveh R. Ghazi [Thu, 15 Oct 1998 07:04:49 +0000 (07:04 +0000)]
Warning fixes:

        * expr.c (build_chill_card): Use &&, not &, when comparing truth
        values.
        * parse.c (parse_spec_module): Remove unused variable
        `module_name', but preserve function call from initialization.
        (parse_operand6): Mark variable `location' with ATTRIBUTE_UNUSED.
        * inout.c (init_text_location): Remove unused variable `textlength'.

From-SVN: r23106

26 years agoDaily bump.
Jeff Law [Thu, 15 Oct 1998 00:45:01 +0000 (18:45 -0600)]
Daily bump.

From-SVN: r23105

26 years agoc-pragma.c (handle_pragma_token): Test for null tree before dereferencing TREE_CODE.
Robert Lipe [Wed, 14 Oct 1998 23:39:38 +0000 (23:39 +0000)]
c-pragma.c (handle_pragma_token): Test for null tree before dereferencing TREE_CODE.

* c-pragma.c (handle_pragma_token): Test for null tree before
dereferencing TREE_CODE.

From-SVN: r23104

26 years agoc4x.c: Convert to use GEN_INT.
Michael Hayes [Wed, 14 Oct 1998 22:46:04 +0000 (22:46 +0000)]
c4x.c: Convert to use GEN_INT.

* config/c4x/c4x.c: Convert to use GEN_INT.
(c4x_parallel_process): Rework to handle new repeat loop structure.
* config/c4x/c4x.md: Convert to use GEN_INT.
(rptb_end): Convert to use GE test.  Replace uses with clobbers.
(decrement_and_branch_on_count): Likewise.
* config/c4x/c4x.h (REPEAT_BLOCK_PROCESS): Deleted hook now that
loop.c has the desired functionality.
(rc_reg_operand): New prototype.
* config/c4x/t-c4x: Can now build all front ends.

From-SVN: r23103

26 years agofixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.
Didier FORT [Wed, 14 Oct 1998 22:29:16 +0000 (16:29 -0600)]
fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.

        * fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.

From-SVN: r23100

26 years agofixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.
Didier FORT [Wed, 14 Oct 1998 22:29:13 +0000 (16:29 -0600)]
fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.

P
        * fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.

From-SVN: r23099

26 years agopt.c (convert_nontype_argument): Check against type_referred_to.
Benjamin Kosnik [Wed, 14 Oct 1998 21:16:37 +0000 (21:16 +0000)]
pt.c (convert_nontype_argument): Check against type_referred_to.

~
1998-10-14 Benjamin Kosnik  <bkoz@rhino.cygnus.com>
        * pt.c (convert_nontype_argument): Check against type_referred_to.
        * decl.c (grokvardecl): Check for declarator name before building
        DECL_ASSEMBLER_NAME.

From-SVN: r23097

26 years agoMakefile.in (stmp-fixinc): Do not install assert.h if not desired.
Joel Sherrill [Wed, 14 Oct 1998 21:15:42 +0000 (15:15 -0600)]
Makefile.in (stmp-fixinc): Do not install assert.h if not desired.

H
        * Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
        * config/t-rtems: Do not install assert.h -- use newlib's.

From-SVN: r23096

26 years agoMakefile.in (stmp-fixinc): Do not install assert.h if not desired.
Joel Sherrill [Wed, 14 Oct 1998 21:15:39 +0000 (15:15 -0600)]
Makefile.in (stmp-fixinc): Do not install assert.h if not desired.

P
        * Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
        * config/t-rtems: Do not install assert.h -- use newlib's.

From-SVN: r23095

26 years agocombine.c (combine_instructions): When finished, call init_recog.
J"orn Rennecke [Wed, 14 Oct 1998 20:50:40 +0000 (14:50 -0600)]
combine.c (combine_instructions): When finished, call init_recog.

8
* combine.c (combine_instructions): When finished, call init_recog.
* regmove.c (optimize_reg_copy_3): Reject volatile MEMs.

From-SVN: r23094

26 years agocombine.c (combine_instructions): When finished, call init_recog.
J"orn Rennecke [Wed, 14 Oct 1998 20:50:37 +0000 (14:50 -0600)]
combine.c (combine_instructions): When finished, call init_recog.


* combine.c (combine_instructions): When finished, call init_recog.
* regmove.c (optimize_reg_copy_3): Reject volatile MEMs.

From-SVN: r23093

26 years agopt.c (lookup_template_class): Add comment.
Mark Mitchell [Wed, 14 Oct 1998 20:23:45 +0000 (20:23 +0000)]
pt.c (lookup_template_class): Add comment.

* pt.c (lookup_template_class): Add comment.
(instantiate_class_template): Don't mark the _TYPE node for
member class templates as an instantiation.

From-SVN: r23092

26 years agotypeck.c (build_chill_cast): Fix typo in assignment statement.
Kaveh R. Ghazi [Wed, 14 Oct 1998 19:30:05 +0000 (19:30 +0000)]
typeck.c (build_chill_cast): Fix typo in assignment statement.

        * typeck.c (build_chill_cast): Fix typo in assignment statement.
        * tasking.c (build_signal_descriptor): Use IDENTIFIER_POINTER()
        when printing a `tree'.

From-SVN: r23091

26 years agojava-tree.h (pop_labeled_block, [...]): New function prototypes.
Alexandre Petit-Bianco [Wed, 14 Oct 1998 19:18:07 +0000 (19:18 +0000)]
java-tree.h (pop_labeled_block, [...]): New function prototypes.

Wed Oct 14 18:21:29 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
* java-tree.h (pop_labeled_block, lang_printable_name,
  maybe_add_interface, set_super_info, get_access_flags_from_decl,
  interface_of_p, inherits_from_p, fix_classpath,
  complete_start_java_method, emit_handlers, init_outgoing_cpool,
  make_class_data, register_class, alloc_name_constant): New
  function prototypes.
* lang.c (lang_decode_option): Set argc argument unused. Fixed
  indentation. Added cast to remove warning.
(lang_printable_name): Set v argument unused.
(lang_print_error): Added argument to lang_printable_name call.
(java_dummy_print, print_lang_decl, print_lang_type,
  print_lang_identifier, lang_print_xnode): All argument marked
  unused.
* lex.c (java_unget_unicode): Removed unnecessary argument.
(java_allocate_new_line): Unused local variable is gone.
(java_read_char): Added parenthesis in expressions to remove
  warnings.  Added final return statement.
(java_read_unicode): Added parenthesis in expression to remove
  warning.
(java_parse_end_comment): Fixed java_unget_unicode invocation.
(java_parse_escape_sequence): Likewise.
(java_lex): Unused local variables are gone. Fixed
  java_unget_unicode invocation.
* lex.h (set_float_handler): Prototype added when JC1_LITE not
  defined.
* parse.h (ERROR_CANT_CONVERT_TO_BOOLEAN): Fixed
  lang_printable_name invocation in macro.
(ERROR_CANT_CONVERT_TO_NUMERIC, ERROR_CAST_NEEDED_TO_INTEGRAL):
  Likewise.
(duplicate_declaration_error): Suppressed unused argument in
  prototype.
(identical_subpath_p): Function declaration is gone.
(patch_invoke): Suppressed unused argument in prototype.
(patch_cast, build_labeled_block, check_thrown_exceptions):
  Likewise.
* parse.y (setjmp.h): Included
(toplev.h): Likewise.
(field_declaration:): Suppressed unused local
(label_decl:): Fixed build_labeled_block invocation.
(java_pop_parser_context): Put extra parenthesis around assignment
  in if.
(yyerror): Suppressed unused local variables.
(variable_redefinition_error): Fixed lang_printable_name
  invocation.
(create_interface): Suppressed unused local variables.
(create_class): Likewise.
(duplicate_declaration_error): Suppressed unused argument. Fixed
  lang_printable_name invocation.
(register_fields): Suppressed unused local variable. Fixed
  duplicate_declaration_error invocation.
(method_header): Suppressed unused local variable.
(method_declarator, parser_check_super): Likewise.
(java_complete_class): Suppressed unused local variable. Fixed
  fatal error message.
(complete_class_report_errors): Added default: in switch.
(java_check_regular_methods): Fixed lang_printable_name
  invocations.
(check_throws_clauses): Likewise.
(java_check_abstract_methods): Suppressed unused local
  variable. Fixed lang_printable_name invocation.
(read_import_entry): Added supplemental return statement.
(read_import_dir): Suppressed unused local variables.
(check_pkg_class_access, declare_local_variables): Likewise.
(source_start_java_method): Suppressed unused extern variable
  declarations
(expand_start_java_method): Suppressed unused extern and local
  variable declarations.
(java_complete_expand_methods): Likewise.
(java_complete_expand_method): Suppressed unused local variables.
(make_qualified_name): Likewise.
(resolve_qualified_expression_name): Added default: in
  switch. Fixed lang_printable_name invocation.
(class_instance_creation_expression): Added parenthesis around
  expressions.
(patch_method_invocation_stmt): Fixed lang_printable_name and
  patch_invoke invocations.
(check_for_static_method_reference): Fixed lang_printable_name
  invocation.
(patch_invoke): Suppressed unused arguments and local variables.
(lookup_method_invoke): Suppressed unused local variables.
(qualify_ambiguous_name): Added default: in switch.
(identical_subpath_p): Function removed.
(patch_assignment): Suppressed unused local variables. Suppressed
  unnecessary if statement. Fixed lang_printable_name invocations.
(try_builtin_assignconv): Fixed lang_printable_name invocations.
(valid_ref_assignconv_cast_p): Parenthesis around
  expression. Suppressed unused local variables.
(build_binop): Suppressed unused local variables. fixed
  lang_printable_name invocations.
(string_constant_concatenation): Suppressed unused local
  variables.
(patch_unaryop): Fixed lang_printable_name invocation.
(patch_cast): Suppressed unnecessary argument. Fixed
  lang_printable_name invocation.
(patch_array_ref): Fixed lang_printable_name invocation.
(patch_newarray, patch_return, patch_if_else_statement): Likewise.
(build_labeled_block): Suppressed unused argument.
(generate_labeled_block): Fixed build_labeled_block invocation.
(build_loop_body): Suppressed unused local variables.
(patch_loop_statement): Likewise.
(patch_exit): Fixed lang_printable_name invocation.
(patch_switch_statement): Likewise.
(case_identity): First argument marked unused.
(patch_try_statement): Fixed lang_printable_name invocations.
(patch_synchronized_statement, patch_throw_statement): Likewise.
(check_thrown_exceptions): Fixed check_thrown_exceptions and
  lang_printable_name invocations.
(check_thrown_exceptions_do): Suppressed unused argument.
Suppresses warnings during the compilation of parse.y (including
lex.c) and lang.c

From-SVN: r23090

26 years agotoplev.c: If flag_syntax_only, don't open or write assembler file.
Per Bothner [Wed, 14 Oct 1998 16:15:11 +0000 (09:15 -0700)]
toplev.c: If flag_syntax_only, don't open or write assembler file.

* toplev.c:  If flag_syntax_only, don't open or write assembler file.

From-SVN: r23089

26 years agotoplev.c: If flag_syntax_only, don't open or write assembler file.
Per Bothner [Wed, 14 Oct 1998 16:15:09 +0000 (09:15 -0700)]
toplev.c: If flag_syntax_only, don't open or write assembler file.


* toplev.c:  If flag_syntax_only, don't open or write assembler file.

From-SVN: r23088

26 years agodecl.c (runtime_exception_type_node, [...]): New global variables.
Alexandre Petit-Bianco [Wed, 14 Oct 1998 15:11:04 +0000 (15:11 +0000)]
decl.c (runtime_exception_type_node, [...]): New global variables.

Tue Oct 13 03:50:28 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
* decl.c (runtime_exception_type_node, error_exception_type_node):
  New global variables.
(init_decl_processing): Initialized.
* expr.c (java_lang_expand_expr): Set caught exception type to
  null if catch handler argument doesn't exit.
* java-tree.def (SYNCHRONIZED_EXPR, THROW_EXPR): New Java specific
  tree codes.
* java-tree.h (runtime_exception_type_node,
  error_exception_type_node): Global variables declared.
(DECL_FUNCTION_THROWS): New macro.
(DECL_FUNCTION_BODY): Modified comment.
(DECL_SPECIFIC_COUNT): Likewise.
(struct lang_decl): New field throws_list.
(IS_UNCHECKED_EXPRESSION_P): New macro.
* lex.c (java_lex): Generate location information for THROW_TK.
* parse.h (PUSH_EXCEPTIONS, POP_EXCEPTIONS, IN_TRY_BLOCK_P,
  EXCEPTIONS_P): New macros.
(enum jdep_code): New value JDEP_EXCEPTION.
(BUILD_MONITOR_ENTER, BUILD_MONITOR_EXIT,
  BUILD_ASSIGN_EXCEPTION_INFO, BUILD_THROW, SET_WFL_OPERATOR,
  PATCH_METHOD_RETURN_ERROR): New macros.
(patch_method_invocation_stmt): Added new argument to prototype.
(patch_synchronized_statement, patch_throw_statement,
  check_thrown_exceptions, check_thrown_exceptions_do,
  purge_unchecked_exceptions, check_throws_clauses): New function
  prototypes.
* parse.y Fixed typo in keyword section.
(throw:): Rule tagged <node>.
(THROW_TK): Keyword tagged <operator>.
(method_header:): Last argument to call to method_header passed
  from throws: rule.
(throws:, class_type_list:, throw_statement:,
  synchronized_statement:, synchronized:): Defined actions.
(method_header): New local variable current. Register exceptions
  from throws clause.
(java_complete_tree): Complete and verify exceptions from throws
  clause.
(complete_class_report_errors): Error message on exceptions not
  found
(java_check_regular_methods): Fixed typo. Shortcut on private
  overriding methods. Changed error message on method
  redefinition. Check for throws clause compatibility.
(check_throws_clauses): New function.
(java_check_abstract_methods): Use DECL_NAME for wfl or current
  method. Changed error message on method redefinition.
(currently_caught_type_list): New static variable.
(java_complete_expand_methods): Purge unchecked exceptions from
  throws clause list. Call PUSH_EXCEPTIONS before walk and
  POP_EXCEPTIONS after.
(resolve_qualified_expression_name): Pass new argument as NULL to
  patch_method_invocation_stmt.
(patch_method_invocation_stmt): New argument ref_decl. Invoke
  PATCH_METHOD_RETURN_ERROR when returning with error. Reverse
  argument list when appropriate. Use new argument if non null to
  store selected method decl.
(patch_invoke): Convert if necessary args of builtin types before
  forming CALL_EXPR. Argument list no longer reversed here.
(invocation_mode): Treat final methods as static methods.
(java_complete_tree): New cases for THROW_EXPR: and
  SYNCHRONIZED_EXPR:. Check thrown exceptions when completing
  function call.
(complete_function_arguments): No more RECORD_TYPE
  conversion. Function parameter nodes no longer saved.
(valid_ref_assignconv_cast_p): Avoid handling null type.
(patch_binop): Fixed null constant reference handling.
(build_try_statement): Use BUILD_ASSIGN_EXCEPTION_INFO and
  BUILD_THROW macros.
(patch_try_statement): Fixed comments. Record caught types in
  list, push the list, expand try block and pop the list.
(patch_synchronized_statement, patch_throw_statement,
  check_thrown_exceptions, check_thrown_exceptions_do,
  purge_unchecked_exceptions): New functions.
* typeck.c (lookup_argument_method): Allow WFL in place of method
  DECL_NAME during method definition check
Implements the `synchronized' statement, the `throw' statements and
the `throws' clause. Fixes method invocation bugs.

From-SVN: r23087

26 years agoobjc-torture.exp: Add -I so we can find objc headers.
Robert Lipe [Wed, 14 Oct 1998 14:13:56 +0000 (14:13 +0000)]
objc-torture.exp: Add -I so we can find objc headers.

From-SVN: r23086

26 years agojcf-write.c (write_classfile): Add output class file as target.
Tom Tromey [Wed, 14 Oct 1998 12:54:59 +0000 (12:54 +0000)]
jcf-write.c (write_classfile): Add output class file as target.

* jcf-write.c (write_classfile): Add output class file as target.
* lang-options.h: Added -MD, -MMD, -M, and -MM.
* jcf.h: Added declarations for dependency-tracking functions.
* lang-specs.h: Handle -M, -MM, MD, and -MMD.
* lang.c (lang_decode_option): Recognize -MD and -MMD.
(finish_parse): Call jcf_dependency_write.
(dependency_tracking): New global.
(DEPEND_SET_FILE): New define.
(DEPEND_ENABLE): New define.
(init_parse): Enable dependency tracking if required.
Include "flags.h".
* Makefile.in (JAVA_OBJS): Added jcf-depend.o.
(../jcf-dump$(exeext)): Depend on and link with jcf-depend.o.
(../gcjh$(exeext)): Likewise.
(jcf-depend.o): New target.
* Make-lang.in (JAVA_SRCS): Added jcf-depend.c.
(GCJH_SOURCES): Likewise.
* jcf-io.c (open_class): Call jcf_dependency_add_file.  Added
dep_name argument.
(find_classfile): Added dep_name argument.
(find_class): Compute name of dependency.
(open_in_zip): Call jcf_dependency_add_file.
* gjavah.c (output_file): No longer global.
(usage): Don't mention "gjavah".
(help): Likewise.
(java_no_argument): Likewise.
(version): Likewise.
(main): Recognize and handle -M family of options.
(print_mangled_classname): Return is void.
(process_file): Handle case where output is suppressed.
(HANDLE_END_FIELD): Likewise.
(HANDLE_METHOD): Likewise.
* jcf-depend.c: New file.

From-SVN: r23085

26 years agoAdd ATTRIBUTE_NORETURN in a bunch of places:
Kaveh R. Ghazi [Wed, 14 Oct 1998 10:37:09 +0000 (10:37 +0000)]
Add ATTRIBUTE_NORETURN in a bunch of places:

* cppalloc.c (memory_full): Mark function prototype with
ATTRIBUTE_NORETURN.
* demangle.h (collect_exit): Likewise.
* fix-header.c (v_fatal, fatal): Likewise.
* gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort):
Likewise.
* gcov.c (print_usage): Likewise.
* genattr.c (fatal, fancy_abort): Likewise.
* genattrtab.c (fatal, fancy_abort): Likewise.
* gencodes.c (fatal, fancy_abort): Likewise.
* genconfig.c (fatal, fancy_abort): Likewise.
* genemit.c (fatal, fancy_abort): Likewise.
* genextract.c (fatal, fancy_abort): Likewise.
* genflags.c (fatal, fancy_abort): Likewise.
* genopinit.c (fatal, fancy_abort): Likewise.
* genoutput.c (fatal, fancy_abort): Likewise.
* genpeep.c (fatal, fancy_abort): Likewise.
* genrecog.c (fatal, fancy_abort): Likewise.
* libgcc2.c (__eprintf, __default_terminate, __sjthrow,
__sjpopnthrow, __throw): Likewise.
* objc/objc-act.c (objc_fatal): Likewise.
* protoize.c (usage, aux_info_corrupted,
declare_source_confusing): Likewise.
* rtl.c (dump_and_abort): Likewise.
* rtl.h (sets_cc0_p): Likewise.
* toplev.c (float_signal, pipe_closed): Likewise.

From-SVN: r23084

26 years agoForgot to commit.
Jeff Law [Wed, 14 Oct 1998 10:35:26 +0000 (04:35 -0600)]
Forgot to commit.

From-SVN: r23083

26 years agodwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges when generating the...
Andreas Schwab [Wed, 14 Oct 1998 09:43:37 +0000 (09:43 +0000)]
dwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges when generating the decision tree for the general case.

* dwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges
when generating the decision tree for the general case.
* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Don't accept modes
wider that 12 bytes in fpu regs or wider than 8 byte in fpa regs.

From-SVN: r23082

26 years ago981001-4.c: Remove use of GCC extension that triggers a compiler bug.
Andreas Schwab [Wed, 14 Oct 1998 09:34:15 +0000 (09:34 +0000)]
981001-4.c: Remove use of GCC extension that triggers a compiler bug.

        * compile/981001-4.c: Remove use of GCC extension that triggers a
        compiler bug.

From-SVN: r23081

26 years agoMakefile.in (DEVO_SUPPORT): Add config.if.
Jeffrey A Law [Wed, 14 Oct 1998 09:32:28 +0000 (09:32 +0000)]
Makefile.in (DEVO_SUPPORT): Add config.if.


        * Makefile.in (DEVO_SUPPORT): Add config.if.

From-SVN: r23080

26 years agoWarning fixes:
Kaveh R. Ghazi [Wed, 14 Oct 1998 09:02:55 +0000 (09:02 +0000)]
Warning fixes:

        * Makefile.in (sched.o): Depend on recog.h.
        * alias.c (REG_BASE_VALUE): Cast the result of REGNO() macro to
        (unsigned) when comparing against one.
        (find_base_value): Likewise.
        (record_base_value): Cast variable `regno' to (unsigned) when
        comparing against one.  Cast the result of REGNO() macro to
        (unsigned) when comparing against one.
        (memrefs_conflict_p): Change type of variables `r_x' and `r_y'  to
        unsigned.
        (init_alias_analysis): Add unsigned variable `ui'.  Use it as loop
        variable where an unsigned index is needed.
        * caller-save.c (init_caller_save): Cast `-1' to (enum insn_code)
        before comparing against one.
        * collect2.c: Add prototypes for functions `error', `fatal' and
        `fatal_perror'.  Make these functions take variable arguments
        instead of faking it with a fixed number of args.
        (write_c_file_stat): Cast the argument of ctype macro to (unsigned
        char).
        * combine.c (can_combine_p): Mark parameter `pred' with
        ATTRIBUTE_UNUSED.
        (find_split_point): Cast variable `src' to (unsigned
        HOST_WIDE_INT) when comparing against one.
        HOST_WIDE_INT) when comparing against one.
        (simplify_rtx): Cast 1 to (unsigned HOST_WIDE_INT) in shift.
        (simplify_logical): Likewise.
        (force_to_mode): Cast result of INTVAL() macro to (unsigned
        HOST_WIDE_INT) when comparing against one.  Cast 1 to (unsigned
        HOST_WIDE_INT) in shift.
        (simplify_and_const_int): Cast result of INTVAL() macro to
        `unsigned HOST_WIDE_INT' when comparing against one.
        (merge_outer_ops): Cast variable const0 to `unsigned
        HOST_WIDE_INT' when comparing against the result of
        GET_MODE_MASK() macro.
        (simplify_comparison): Likewise for variable `c0'.  Cast variable
        `const_op' to `unsigned HOST_WIDE_INT' when comparing against
        one.  Cast `1' to `unsigned HOST_WIDE_INT' in shift.  Cast the
        result of `GET_MODE_MASK()/2' to `HOST_WIDE_INT' when comparing
        against one.  Cast `1' to `unsigned HOST_WIDE_INT' in shift.  Cast
        result of INTVAL() macro to `unsigned HOST_WIDE_INT' when
        comparing against one.
        (distribute_notes): Wrap variable `cc0_setter' in macro `HAVE_cc0'.
        config/mips/mips.c (gen_int_relational): Cast result of INTVAL()
        macro to `unsigned HOST_WIDE_INT' when comparing against one.
        (output_block_move): Cast `sizeof' expression to (int) when
        comparing against one.
        (function_arg): Cast BITS_PER_WORD to `unsigned' when comparing
        against one.
        (save_restore_insns): Cast `base_offset' to `long' to match format
        specifier in fprintf.
        * config/mips/mips.h (Pmode): Cast the result of `Pmode' macro
        to `enum machine_mode'.
        * flow.c (life_analysis_1): Remove unused variable `insn'.
        * gcc.c (translate_options): Move variables `j' and `k' into the
        scope in which they are used.  Change their types to `size_t'.
        (set_spec): Cast the argument of ctype macro to `unsigned char'.
        (read_specs): Likewise.
        (process_command): Cast `sizeof' to (int) when comparing against one.
        (do_spec_1): Cast the argument of ctype macro to `unsigned char'.
        (handle_braces): Cast both sides of `==' expression to `long' to
        ensure sign matching.
        (main): Cast variable `i' to `int' when comparing against one.
        * gcov-io.h (__fetch_long): Change type of parameter `bytes' from
        int to size_t.  Cast variable `i' to size_t when comparing against
        one.
        * genattrtab.c (convert_set_attr_alternative): Remove unused
        parameter `insn_code'.  All callers changed.
        (convert_set_attr): Likewise.
        * genrecog.c (add_to_sequence): Cast result of XVECLEN() macro to
        size_t when comparing against one.  Likewise for variable `len'.
        * global.c (global_alloc): Cast variable `max_regno' to size_t
        when comparing against one.  Likewise for variable `max_allocno'.
        * jump.c (sets_cc0_p): Mark parameter `x' with ATTRIBUTE_UNUSED.
        * local-alloc.c (validate_equiv_mem_from_store): Mark parameter
        `set' with ATTRIBUTE_UNUSED.
        (find_free_reg): Cast `sizeof' expression to (int) when comparing
        against one.
        * loop.c (count_loop_regs_set): Remove unused variable `dest'.
        (strength_reduce): Mark parameter `bct_p' with ATTRIBUTE_UNUSED.
        (get_condition): Cast variable `const_val' to `unsigned
        HOST_WIDE_INT' when comparing against one.  Cast unsigned
        expression to HOST_WIDE_INT when comparing against one.
        (insert_loop_mem): Mark parameter `data' with ATTRIBUTE_UNUSED.
        (load_mems_and_recount_loop_regs_set): Cast variable `nregs' to
        `unsigned' when comparing against one.
        * protoize.c (is_id_char): Change type of parameter `ch' to
        unsigned char.
        (munge_compile_params): Cast argument of ctype macro to (const
        unsigned char).
        (process_aux_info_file): Cast variable `aux_info_size' to int when
        comparing against one.
        (forward_to_next_token_char): Cast argument of ctype macro to
        `const unsigned char'.
        (edit_formals_lists): Likewise.
        (find_rightmost_formals_list): Likewise.
        (add_local_decl): Likewise.
        (add_global_decls): Likewise.
        (edit_fn_definition): Likewise.
        (do_cleaning): Likewise.
        (scan_for_missed_items): Likewise.
        (edit_file): Cast variable `orig_size' to (int) when comparing
        against one.
        (main): Cast argument of ctype macro to `const unsigned char'.
        * recog.c (const_int_operand): Mark parameter `mode' with
        ATTRIBUTE_UNUSED.
        * regclass.c (record_reg_classes): Change type of variable `c' to
        `unsigned char'.  Cast `char' array index to `unsigned char'.
        * reload.c (push_secondary_reload): Cast argument to
        REG_CLASS_FROM_LETTER() macro to `unsigned char'.
        * reload1.c (calculate_needs): Cast `char' array index to
        `unsigned char'.
        (set_label_offsets): Change type of variable `i' to unsigned int.
        Cast result of XVECLEN() macro to unsigned when comparing against
        one.
        (mark_not_eliminable): Change type of variable `i' to unsigned.
        (order_regs_for_reload): Likewise.  Cast `max_regno' to unsigned
        when comparing against one.
        (reload_as_needed): Cast macro NUM_ELIMINABLE_REGS to (int) when
        comparing against one.
        (choose_reload_regs): Hide unused label `fail'.
        (reload_cse_simplify_operands): Cast `char' array index to
        `unsigned char'.
        (reload_combine_note_store): Mark parameter `set' with
        ATTRIBUTE_UNUSED.  Cast UNITS_PER_WORD to unsigned when comparing
        against one.
        (reload_cse_move2add): Remove unused variable `src2'.
        * sched.c: Include recog.h.
        (sched_note_set): Remove unused parameter `b'.  All callers
        changed.
        (split_hard_reg_notes): Likewise for parameter `orig_insn'.
        (blockage_range): Cast result of UNIT_BLOCKED() macro to (int)
        when comparing against one.
        * stupid.c (stupid_find_reg): Mark parameter `changes_size' with
        ATTRIBUTE_UNUSED.  Cast `sizeof' expression to (int) when
        comparing against one.
        * unroll.c (precondition_loop_p): Remove unused parameter
        `loop_end'.  All callers changed.

From-SVN: r23079

26 years agonew
Jason Merrill [Wed, 14 Oct 1998 02:59:09 +0000 (22:59 -0400)]
new

From-SVN: r23078

26 years ago* decl.c (grokfndecl): Fix my thinko.
Jason Merrill [Wed, 14 Oct 1998 02:58:38 +0000 (02:58 +0000)]
* decl.c (grokfndecl): Fix my thinko.

From-SVN: r23077

26 years agoDocument eh_epilogue.
Richard Henderson [Wed, 14 Oct 1998 02:03:03 +0000 (19:03 -0700)]
Document eh_epilogue.

From-SVN: r23076

26 years agoreload1.c (maybe_fix_stack_asms): New static function.
Bernd Schmidt [Wed, 14 Oct 1998 01:21:06 +0000 (01:21 +0000)]
reload1.c (maybe_fix_stack_asms): New static function.

* reload1.c (maybe_fix_stack_asms): New static function.
(reload): Call it.

From-SVN: r23075

26 years agoreload.h (compute_use_by_pseudos): Declare.
Bernd Schmidt [Wed, 14 Oct 1998 01:14:42 +0000 (01:14 +0000)]
reload.h (compute_use_by_pseudos): Declare.

* reload.h (compute_use_by_pseudos): Declare.
* reload1.c (spilled_pseudos, insns_need_reload): New variables.
(something_needs_reloads): Delete variable.
(finish_spills): New function.
(compute_use_by_pseudos): New function.
(delete_caller_save_insns): Lose argument FIRST.  All callers changed.
Use the reload_insn_chain instead of walking the rtl directly.
(reload): Allocate and free spilled_pseudos.
Ensure that all calls of spill_hard_reg are followed by a call to
finish_spills.
Use the insns_need_reload list instead of something_needs_reloads
to find out if reload_as_needed must be called.
Clear unused_insn_chains at the end.
(calculate_needs_all_insns): Lose FIRST parameter.  All callers
changed.
Delete code to keep track of current basic block.
Walk reload_insn_chain instead of the rtl structure.  Build the
insns_need_reload chain.
Remember which insns need reloading/elimination by setting the
appropriate fields in struct insn_chain, not by putting modes on the
insn.
(calculate_needs): Lose THIS_BLOCK arg.  Accept arg CHAIN instead of
arg INSN.  All callers changed.
Delete declaration of struct needs.
Don't set something_needs_reloads.
Record insn needs in the CHAIN argument.
(spill_hard_reg): Record the affected pseudos in spilled_pseudos.
(reload_as_needed): Lose FIRST arg.  All callers changed.
Walk the reload_insn_chain instead of the rtx structure.
Delete code to keep track of current basic block.
Rename one of the NEXT variables to OLD_NEXT.
(allocate_reload_reg): Accept arg CHAIN instead of arg INSN.  All
callers changed.
(choose_reload_regs): Likewise.
(emit_reload_insns): Replace INSN and BB args with arg CHAIN.  All
callers changed.
* caller-save.c (MOVE_MAX_WORDS): New macro.  Use it throughout
instead of (MOVE_MAX / UNITS_PER_WORD) computation.
(hard_regs_live, hard_regs_need_restore): Delete variables.
(n_regs_saved): Now static.
(referenced_regs, this_insn_sets): New variables.
(setup_save_areas): Restructure the code a bit.
(restore_referenced_regs): Delete function.
(mark_referenced_regs): New function, similar to the old
restore_referenced_regs, but mark registers in referenced_regs.
(clear_reg_live): Delete function.
(mark_set_regs): Renamed from set_reg_live.  All callers changed.
Only mark registers in this_insn_sets.
(save_call_clobbered_regs): Rework this function to walk the
reload_insn_chain instead of using the list of instructions directly.
Delete code to keep track of register lives, compute live regs on the
fly from information in the chain.
Instead of calling restore_referenced_regs, use mark_referenced_regs,
then walk the set it computes and call insert_restore as appropriate.
(insert_restore): Lose INSN and BLOCK args.  Add CHAIN arg.  All
callers changed.
Restructure the code a bit.  Test hard_regs_saved instead of
hard_regs_need_restore.
(insert_save): Lose INSN and BLOCK args.  Add CHAIN and TO_SAVE
args.  All callers changed.
Restructure the code a bit.  Use TO_SAVE to determine which regs to
save instead of more complicated test.
(insert_one_arg): Lose INSN and BLOCK args.  Add CHAIN arg.  All
callers changed.
Create a new insn_chain structure for the new insn and place it
into the chain.
* rtl.texi: Update documentation to reflect that reload no longer
puts modes on the insns.

From-SVN: r23074

26 years agoDaily bump.
Jeff Law [Wed, 14 Oct 1998 00:45:02 +0000 (18:45 -0600)]
Daily bump.

From-SVN: r23073

26 years agoreal.c (emdnorm and etoasc): Disable round to even for c4x target to be compatible...
Herman A.J. ten Brugge [Wed, 14 Oct 1998 00:07:47 +0000 (02:07 +0200)]
real.c (emdnorm and etoasc): Disable round to even for c4x target to be compatible with TI compiler.

        * real.c (emdnorm and etoasc): Disable round to even for c4x target
        to be compatible with TI compiler.

From-SVN: r23072

26 years agofunction.c (purge_addressof_1): Force the first argument of a CALL insn to memory.
Andreas Schwab [Tue, 13 Oct 1998 23:58:34 +0000 (17:58 -0600)]
function.c (purge_addressof_1): Force the first argument of a CALL insn to memory.


        * function.c (purge_addressof_1): Force the first argument of a
        CALL insn to memory.

From-SVN: r23071

26 years agofunction.c (purge_addressof_1): Force the first argument of a CALL insn to memory.
Andreas Schwab [Tue, 13 Oct 1998 23:58:33 +0000 (17:58 -0600)]
function.c (purge_addressof_1): Force the first argument of a CALL insn to memory.

P
        * function.c (purge_addressof_1): Force the first argument of a
        CALL insn to memory.

From-SVN: r23070

26 years agortl.h: Delete duplicate prototypes.
Jeffrey A Law [Tue, 13 Oct 1998 23:41:11 +0000 (23:41 +0000)]
rtl.h: Delete duplicate prototypes.

        * rtl.h: Delete duplicate prototypes.  Add some missing
        prototypes.
        * rtlanal.c: (for_each_rtx): Formatting tweak.

From-SVN: r23069

26 years ago* Makefile.in (USER_H): Add va-c4x.h to definition.
Herman A.J. ten Brugge [Tue, 13 Oct 1998 23:35:08 +0000 (01:35 +0200)]
* Makefile.in (USER_H): Add va-c4x.h to definition.

From-SVN: r23068

26 years agomkstemp.c: Check HAVE_SYS_TIME_H before including sys/time.h
Jeffrey A Law [Tue, 13 Oct 1998 23:08:18 +0000 (23:08 +0000)]
mkstemp.c: Check HAVE_SYS_TIME_H before including sys/time.h

        * mkstemp.c: Check HAVE_SYS_TIME_H before including sys/time.h
        * configure.in (AC_CHECK_HEADERS): Check for sys/time.h too.
        * config.in, configure: Rebuilt.

From-SVN: r23067

26 years agofunction.c (purge_addressof_1): Fix typo in inequality: do bitfield optimization...
Richard Henderson [Tue, 13 Oct 1998 23:06:47 +0000 (16:06 -0700)]
function.c (purge_addressof_1): Fix typo in inequality: do bitfield optimization for equal mode sizes.

        * function.c (purge_addressof_1): Fix typo in inequality: do
        bitfield optimization for equal mode sizes.
        * expmed.c (store_bit_field): Don't take subregs of subregs in
        the movstrict case.  Tidy a potential problem in the multi-word case.
        (extract_bit_field): Likewise.

From-SVN: r23066

26 years agogetopt.c: Check HAVE_STRINGS_H before including strings.h.
Jeffrey A Law [Tue, 13 Oct 1998 22:59:40 +0000 (22:59 +0000)]
getopt.c: Check HAVE_STRINGS_H before including strings.h.

        * getopt.c: Check HAVE_STRINGS_H before including strings.h.
        * configure.in (AC_CHECK_HEADERS): Check for strings.h too.
        * config.in, configure: Rebuilt.

From-SVN: r23065

26 years agojava-tree.def: Add missing newline at EOF.
Jeff Law [Tue, 13 Oct 1998 22:35:34 +0000 (16:35 -0600)]
java-tree.def: Add missing newline at EOF.

8
        * java-tree.def: Add missing newline at EOF.

From-SVN: r23064

26 years agojava-tree.def: Add missing newline at EOF.
Jeff Law [Tue, 13 Oct 1998 22:35:33 +0000 (16:35 -0600)]
java-tree.def: Add missing newline at EOF.

0
        * java-tree.def: Add missing newline at EOF.

From-SVN: r23063

26 years agoegcs_update: Remove gcc/java/parse.c from list of files to touch.
Jeffrey A Law [Tue, 13 Oct 1998 22:29:48 +0000 (22:29 +0000)]
egcs_update: Remove gcc/java/parse.c from list of files to touch.

        * egcs_update: Remove gcc/java/parse.c from list of files to
        touch.

From-SVN: r23062