Kaveh R. Ghazi [Mon, 19 Oct 1998 09:17:21 +0000 (09:17 +0000)]
Warning fixes:
* Makefile.in (lex.o): Depend on dwarfout.h.
* lang-specs.h: Add missing braces in initializer.
* lex.c: Include dwarfout.h, if DWARF_DEBUGGING_INFO is defined.
From-SVN: r23168
Jeff Law [Mon, 19 Oct 1998 00:45:01 +0000 (18:45 -0600)]
Daily bump.
From-SVN: r23167
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
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
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
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
Jason Merrill [Sun, 18 Oct 1998 04:18:02 +0000 (04:18 +0000)]
* decl.c (grokvardecl): Fix thinko.
From-SVN: r23161
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
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
Jeff Law [Sun, 18 Oct 1998 00:45:02 +0000 (18:45 -0600)]
Daily bump.
From-SVN: r23158
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
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
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
Graham Stott [Sat, 17 Oct 1998 12:11:06 +0000 (06:11 -0600)]
* gcse.c (dump_cuid_table): Correct typo.
From-SVN: r23154
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
Per Bothner [Sat, 17 Oct 1998 11:27:40 +0000 (04:27 -0700)]
*** empty log message ***
From-SVN: r23152
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
Jeff Law [Sat, 17 Oct 1998 01:45:13 +0000 (19:45 -0600)]
Comment tweak.
From-SVN: r23150
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
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
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
Jeff Law [Sat, 17 Oct 1998 00:45:02 +0000 (18:45 -0600)]
Daily bump.
From-SVN: r23146
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
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
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
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
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
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
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
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
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
Per Bothner [Fri, 16 Oct 1998 13:18:35 +0000 (06:18 -0700)]
Remove old CYGNUS LOCAL comment.
From-SVN: r23136
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
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
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
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
Jason Merrill [Fri, 16 Oct 1998 11:38:35 +0000 (07:38 -0400)]
up
From-SVN: r23131
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
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
Bruce Korb [Fri, 16 Oct 1998 07:39:32 +0000 (07:39 +0000)]
New files to touch
From-SVN: r23128
Bruce Korb [Fri, 16 Oct 1998 07:30:53 +0000 (07:30 +0000)]
The generated files
From-SVN: r23127
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
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
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
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
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
Jeff Law [Fri, 16 Oct 1998 00:45:02 +0000 (18:45 -0600)]
Daily bump.
From-SVN: r23121
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
Mark Mitchell [Thu, 15 Oct 1998 22:41:46 +0000 (22:41 +0000)]
Adjust for new warning behavior
From-SVN: r23119
Jason Merrill [Thu, 15 Oct 1998 19:44:51 +0000 (15:44 -0400)]
new
From-SVN: r23118
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
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
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
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
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
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
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
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
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
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
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
Jeff Law [Thu, 15 Oct 1998 00:45:01 +0000 (18:45 -0600)]
Daily bump.
From-SVN: r23105
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Jeff Law [Wed, 14 Oct 1998 10:35:26 +0000 (04:35 -0600)]
Forgot to commit.
From-SVN: r23083
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
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
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
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
Jason Merrill [Wed, 14 Oct 1998 02:59:09 +0000 (22:59 -0400)]
new
From-SVN: r23078
Jason Merrill [Wed, 14 Oct 1998 02:58:38 +0000 (02:58 +0000)]
* decl.c (grokfndecl): Fix my thinko.
From-SVN: r23077
Richard Henderson [Wed, 14 Oct 1998 02:03:03 +0000 (19:03 -0700)]
Document eh_epilogue.
From-SVN: r23076
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
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
Jeff Law [Wed, 14 Oct 1998 00:45:02 +0000 (18:45 -0600)]
Daily bump.
From-SVN: r23073
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
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
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
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
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
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
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
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
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