Commit Graph

530 Commits

Author SHA1 Message Date
Ken Raeburn
7d384cc0b3 Fine-grained control of -fcheck-memory-usage with new no_check_memory_usage attribute.
Fine-grained control of -fcheck-memory-usage with new no_check_memory_usage
attribute.  Misc minor bugfixes and tests for it too.

From-SVN: r22983
1998-10-11 02:21:54 +00:00
Jim Wilson
10a9f2beac Fix for irix6 -O0 bug, see testcase gcc.c-torture/compile/981007-1.c.
* expr.c (emit_group_store): Handle a PARALLEL destination.

From-SVN: r22893
1998-10-07 05:12:21 -07:00
Alexandre Petit-Bianco
70e6ca43a3 tree.def (GOTO_EXPR): Modified documentation.
8
	* tree.def (GOTO_EXPR): Modified documentation.
	* expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed
 	goto.

From-SVN: r22859
1998-10-05 15:36:16 -07:00
Gavin Romig-Koch
c36fce9a42 calls.c (expand_call): Encapsulate code into copy_blkmode_from_reg.
* calls.c (expand_call) : Encapsulate code into
	copy_blkmode_from_reg.
	* expr.c (copy_blkmode_from_reg): New function.
	* expr.h (copy_blkmode_from_reg): New function.
	* integrate.c (function_cannot_inline_p): We can inline
	these now.
	(expand_inline_function): Use copy_blkmode_from_reg
	if needed.  Avoid creating BLKmode REGs.
	(copy_rtx_and_substitute): Don't try to SUBREG a BLKmode
	object.

From-SVN: r22714
1998-10-01 13:00:21 +00:00
Jeffrey A Law
ee06cc21bf expr.c (expand_expr): Handle COMPONENT_REF...
* expr.c (expand_expr): Handle COMPONENT_REF, BIT_FIELD_REF ARRAY_REF
        and INDIRECT_REF in code to check MAX_INTEGER_COMPUTATION_MODE.

From-SVN: r22666
1998-09-30 02:59:18 -06:00
Mark Mitchell
ece320145f c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs and ARRAY_TYPEs.
* c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs
	and ARRAY_TYPEs.  Tidy up.  Improve support for type-punning.
	* expr.c (store_field): Add alias_set parameter.  Set the
	MEM_ALIAS_SET accordingly, if the target is a MEM.
	(expand_assignment): Use it.
	(store_constructor_field): Pass 0.
	(expand_expr): Likewise.

From-SVN: r22620
1998-09-28 07:44:12 +00:00
J"orn Rennecke
34c7390981 expr.c (store_constructor): When initializing a field that is smaller than a word...
* expr.c (store_constructor): When initializing a field that is smaller
	than a word, at the start of a word, try to widen it to a full word.
	* cse.c (cse_insn): When we are about to change a register,
	remove any invalid references to it.
	(remove_invalid_subreg_refs): New function.
	(mention_regs): Special treatment for SUBREGs.
	(insert_regs): Don't strip SUBREG for call to mention_regs.
	Check if reg_tick needs to be bumped up before that call.
	(lookup_as_function): Try to match known word_mode constants when
	looking for a norrower constant.
	(canon_hash): Special treatment for SUBREGs.

From-SVN: r22567
1998-09-24 10:59:41 +01:00
Richard Henderson
710384268d tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused.
* tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused.  Kill.
	(BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
	(BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
	(BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
	* c-decl.c (init_decl_processing): Update accordingly.
	* expr.c (expand_builtin): Likewise.
	* cp/decl.c (init_decl_processing): Likewise.
	* rtl.h (global_rtl): Add cfa entry.
	(virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
	(LAST_VIRTUAL_REGISTER): Update.
	* emit-rtl.c (global_rtl): Add cfa entry.
	(init_emit): Initialize it.
	* function.c (cfa_offset): New.
	(instantiate_virtual_regs): Initialize it.
	(instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
	(expand_function_end): Call expand_eh_return.
	* tm.texi (ARG_POINTER_CFA_OFFSET): New.
	* except.c (current_function_eh_stub_label): Kill.
	(current_function_eh_old_stub_label): Likwise; update all references.
	(expand_builtin_set_return_addr_reg): Kill.
	(expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
	(expand_builtin_set_eh_regs): Kill.
	(eh_regs): Produce a third reg for the actual handler address.
	(eh_return_context, eh_return_stack_adjust): New.
	(eh_return_handler, eh_return_stub_label): New.
	(init_eh_for_function): Initialize them.
	(expand_builtin_eh_return, expand_eh_return): New.
	* except.h: Update prototypes.
	* flow.c (find_basic_blocks_1): Update references to the stub label.
	* function.h (struct function): Kill stub label elements.
	* libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
	register number is one that would be in the previous window.
	Provide a dummy definition for non-windowed targets.
	(get_reg_addr): New function.
	(get_reg, put_reg, copy_reg): Use it.
	(__throw): Rely on in_reg_window, not INCOMING_REGNO.  Kill stub
	generating code and use __builtin_eh_return.  Use __builtin_dwarf_cfa.
	* alpha.c (alpha_eh_epilogue_sp_ofs): New.
	(alpha_init_expanders): Initialize it.
	(alpha_expand_epilogue): Use it.
	* alpha.h: Declare it.
	* alpha.md (eh_epilogue): New.
	* m68h.h (ARG_POINTER_CFA_OFFSET): New.
	* sparc.h (ARG_POINTER_CFA_OFFSET): New.

From-SVN: r22436
1998-09-15 12:19:12 -07:00
Hans-Peter Nilsson
7e24ffc924 expr.c: Corrected comment about what MOVE_RATIO does.
* expr.c: Corrected comment about what MOVE_RATIO does.
        * config/alpha/alpha.h: Ditto.
        * config/1750a/1750a.h: Ditto.
        * config/clipper/clipper.h: Ditto.
        * config/i386/i386.h: Ditto.

From-SVN: r22339
1998-09-08 16:48:00 -06:00
Hans-Peter Nilsson
9862dea924 expr.c (expand_expr): Change ">" to ">=" making MOVE_RATIO use consistent.
* expr.c (expand_expr): Change ">" to ">=" making MOVE_RATIO use
        consistent.
        * tm.texi (Costs): Say MOVE_RATIO is number of mem-mem move
        *sequences* *below* which scalar moves will be used.

From-SVN: r22107
1998-08-30 13:21:22 -06:00
Alexandre Petit-Bianco
f42e28dd5f tree.def (LABELED_BLOCK_EXPR, [...]): New tree nodes.
�
	* tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes.
  	* tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
 	EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New
 	macros.
	* expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and
 	EXIT_BLOCK_EXPR.

From-SVN: r21897
1998-08-21 12:32:19 -07:00
Jeffrey A Law
52cf711504 expr.c (emit_block_move): Do not call memcpy as a libcall instead build up a CALL_EXPR and call it like...
* expr.c (emit_block_move): Do not call memcpy as a libcall
        instead build up a CALL_EXPR and call it like any other
        function.
        (clear_storage): Similarly for memset.

From-SVN: r21831
1998-08-18 11:49:28 -06:00
Jeffrey A Law
2e245dac40 expr.c (move_by_pieces): No longer static.
* expr.c (move_by_pieces): No longer static.  Remove prototype.
        * rtl.h (move_by_pieces): Add extern prototype.
        * mips.c (expand_block_move): Handle aligned straight line copy by
        calling move_by_pieces.

From-SVN: r21794
1998-08-17 10:37:49 -06:00
Jeff Law
ce3c0b5314 expr.c (expand_expr): Allow assignments from TImode PARM_DECLs and VAR_DECLs.
8
        * expr.c (expand_expr): Allow assignments from TImode PARM_DECLs
        and VAR_DECLs.

From-SVN: r21784
1998-08-17 04:50:00 -06:00
J"orn Rennecke
6036acbbf2 expr.c (store_expr): Don't optimize away load-store pair when either source or destination have a...
* expr.c (store_expr): Don't optimize away load-store pair
	when either source or destination have a side effect.

From-SVN: r21732
1998-08-14 14:58:02 +01:00
Jason Merrill
ff59bfe6b2 expr.c (safe_from_p): Change code to ERROR_MARK only when not accessing nodes.
* expr.c (safe_from_p): Change code to ERROR_MARK only when not
	accessing nodes.
	* toplev.c (display_help): Add braces to shut up warnings.
	* fold-const.c (non_lvalue): Don't deal with null pointer
	constants here.
	(fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.

From-SVN: r21698
1998-08-13 12:12:55 -04:00
Dave Brolley
74a4fbfcc8 stor-layout.c (layout_type): Handle arrays of bits, for Chill.
Mon Jul 27 17:18:52 1998  Dave Brolley  <brolley@cygnus.com>
	* stor-layout.c (layout_type): Handle arrays of bits, for Chill.
	* expr.c (get_inner_reference): Handle zero-based, unsigned, array
	index conversion.

From-SVN: r21416
1998-07-27 10:37:00 -04:00
Jeffrey A Law
71bca5068d expr.c (check_max_integer_computation_mode): Allow conversions of constant integers to MAX_INTEGER_COMPUTATION_MODE.
* expr.c (check_max_integer_computation_mode): Allow conversions
        of constant integers to MAX_INTEGER_COMPUTATION_MODE.
        (expand_expr): Likewise.

From-SVN: r21349
1998-07-23 06:51:00 -06:00
Alexandre Petit-Bianco
6e7f84a732 expr.c (expand_expr): Expand RETURN_EXPR.
8
	* expr.c (expand_expr): Expand RETURN_EXPR.

From-SVN: r21347
1998-07-23 05:09:39 -07:00
Jeffrey A Law
b5f881570b expr.c (expand_expr): Only set MEM_IN_STRUCT_P if the memory address is not varying for...
* expr.c (expand_expr): Only set MEM_IN_STRUCT_P if the memory address
        is not varying for REFERENCE_TYPE or when we think we might have found
        an optimized access to the first element in an array.

From-SVN: r21099
1998-07-13 03:26:59 -06:00
J"orn Rennecke
41b083c42e expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN to the first insn of the sequence.
* expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN
	to the first insn of the sequence.

From-SVN: r20997
1998-07-07 14:26:49 +01:00
Richard Henderson
aac5cc1620 expr.c (emit_group_load, [...]): Rewrite considering the size and alignment of the structure being manipulated.
* expr.c (emit_group_load, emit_group_store): Rewrite considering
        the size and alignment of the structure being manipulated.
        * expr.c, calls.c, function.c: Update all callers.
        * expr.h: Update prototypes.
        * cse.c (invalidate): Cope with parallels.

From-SVN: r20867
1998-06-30 22:10:51 -07:00
Richard Henderson
822a3443ec expr.c (expand_assignment, [...]): Use convert_memory_address instead of convert_to_mode when possible.
* expr.c (expand_assignment, store_constructor, expand_expr): Use
        convert_memory_address instead of convert_to_mode when possible.

From-SVN: r20865
1998-06-30 21:13:55 -07:00
Richard Henderson
cff48d8f76 rtl.def (CONSTANT_P_RTX): New.
* rtl.def (CONSTANT_P_RTX): New.
        * rtl.h (CONSTANT_P): Recognize it.
        * cse.c (fold_rtx): Eliminate it.
        * expr.c (can_handle_constant_p): New variable.
        (init_expr_once): Initialize it.
        (expand_builtin): Generate CONSTANT_P_RTX if the expression is not
        immediately recognizable as a constant.

From-SVN: r20846
1998-06-30 09:19:11 -07:00
Jeff Law
9ec36da574 * Merge from gcc2 June 9, 1998 snapshot. See ChangeLog.13 for
details.

From-SVN: r20808
1998-06-29 15:40:49 -06:00
Kaveh R. Ghazi
4f70758f37 Warning fixes:
* Makefile.in (fix-header): Don't needlessly depend on cpperror.o.
        * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to
        void since it is evaluated in a comma list.
        * mips.h (ASM_GENERATE_INTERNAL_LABEL): Always sprintf `NUM'
        argument as a long and cast `NUM' to long to ensure it is of the
        proper width.  Wrap macro arguments in parens when they appear in
        the expansion.
        * sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
        * sparc.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
        (ASM_DECLARE_RESULT): Fix fprintf format specifier to match
        function argument return type.
        (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P,
        REGNO_OK_FOR_CCFP_P): Use `(unsigned)' not `U'.
        * cpplib.c (cpp_message_from_errno): Remove unneeded argument to
        cpp_message.
        * dbxout.c: Fix the comments after an #endif to reflect the actual
        condition tested in the preceding #if.
        * except.c (find_all_handler_type_matches): Switch to old-style
        function definition.
        * expr.c (expand_builtin): Remove unused variable `type' twice.
        * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it
        to an unsigned long.
        * haifa-sched.c (print_insn_chain): Remove unused function.
        * objc/objc-act.c (build_msg_pool_reference): Hide prototype and
        definition.
        * toplev.c: When testing whether to include dbxout.h, also include
        it when XCOFF_DEBUGGING_INFO is defined.
        * unroll.c (unroll_loop): Add parentheses around assignment used
        as truth value.

From-SVN: r20801
1998-06-29 17:36:07 +00:00
Mark Mitchell
41472af877 invoke.texi (-fstrict-aliasing): Document.
* invoke.texi (-fstrict-aliasing): Document.
	* rtl.texi (MEM_ALIAS_SET): Document.
	* flags.h (flag_strict_aliasing): Declare.
	* toplev.c (flag_strict_aliasing): Define.
	(f_options): Add -strict-aliasing.
	(main): Set flag_strict_aliasing if -O2 or higher.
	* tree.h (tree_type): Add alias_set field.
	(TYPE_ALIAS_SET): New macro.
	(TYPE_ALIAS_SET_KNOWN_P): Likewise.
	(get_alias_set): Declare.
	* tree.c (lang_get_alias_set): Define.
	(make_node): Initialize TYPE_ALIAS_SET.
	(get_alias_set): New function.
	* print-tree.c (print_node): Dump the alias set for a type.
	* c-tree.h (c_get_alias_set): Declare.
	* c-common.c (c_get_alias_set): New function.
	* c-decl.c (init_decl_processing): Set lang_get_alias_set.
	* expr.c (protect_from_queue): Propogage alias sets.
	(expand_assignment): Calculate alias set for new MEMs.
	(expand_expr): Likewise.
	* function.c (put_var_into_stack): Likewise.
	(put_reg_into_stack): Likewise.
	(gen_mem_addressof): Likewise.
	(assign_parms): Likewise.
	* stmt.c (expand_decl): Likewise.
	* varasm.c (make_decl_rtl): Eliminate redundant clearing of
	DECL_RTL.  Calculate alias set for new MEMs.
	* rtl.def (REG): Add dummy operand.
	(MEM): Add extra operand to store the MEM_ALIAS_SET.
	* rtl.h (MEM_ALIAS_SET): New macro.
	(gen_rtx_MEM): Declare.
	* emit-rtl.c (gen_rtx_MEM): New function.
	* gengenrtl.c (sepcial_rtx): Make MEMs special.
	* alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
	(DIFFERENT_ALIAS_SETS_P): Likewise.
	(canon_rtx): Propogate the alias set to the new MEM.
	(true_dependence): Check the alias sets.
	(anti_dependence): Likewise.
	(output_dependence): Likewise.
	* explow.c (stabilize): Progoate alias sets.
	* integrate.c (copy_rtx_and_substitute): Likewise.
	* final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
	in an unpredictable state.  Propogate alias sets.
	* reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
	we have no alias information.

From-SVN: r20719
1998-06-25 15:14:41 +00:00
Herman A.J. ten Brugge
8975220280 expr.c (expand_assignment): Rework address calculation for structure field members to expose more invariant...
* expr.c (expand_assignment): Rework address calculation for structure
        field members to expose more invariant computations to the loop
        optimizer.
        (expand_expr): Likewise.

From-SVN: r20705
1998-06-24 16:40:29 -06:00
John Carr
9e6a570365 optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
* optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
	* expr.c: Likewise.
	* explow.c: Likewise.
	* combine.c: Likewise.
	* reload1.c: Likewise.
	* gcse.c: Likewise.

From-SVN: r20701
1998-06-24 14:49:51 +00:00
John Carr
55a6ba9ff3 expr.c (get_memory_rtx): New function.
* expr.c (get_memory_rtx): New function.
	(expand_builtin): Call get_memory_rtx for MEM arguments to builtin
	string functions.
	* expmed.c (init_expmed): Initialize all elements of *_cost arrays.

From-SVN: r20700
1998-06-24 13:32:56 +00:00
H.J. Lu
0d091530be expr.c (do_jump_by_parts_greater_rtx): Removed.
* expr.c (do_jump_by_parts_greater_rtx): Removed.
	(truthvalue_conversion): Likewise.

From-SVN: r20611
1998-06-19 16:06:11 -06:00
John Carr
e0cd077072 haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
* haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
	(sched_analyze_2): Allow scheduling TRAP_IF.
	* reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
	* rtl.h (TRAP_CODE): New macro.
	* rtl.def (TRAP_IF): Change second operand type to rtx.
	* optabs.c (gen_cond_trap): New function.
	(init_traps): New function.
	(init_optabs): Call init_traps.
	* expr.h: Declare gen_cond_trap.
	* jump.c (jump_optimize): Optimize jumps to and around traps.
	* sparc.md: Define trap instructions.
	* rs6000.md: Define trap instructions.
	* rs6000.c (print_operand): New code 'V' for trap condition.
	(trap_comparison_operator): New function.
	* m88k.md: Update use of TRAP_IF.
	* tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
	* c-decl.c (init_decl_processing): New builtin __builtin_trap.
	* expr.c (expand_builtin): Handle BUILT_IN_TRAP.
	* expr.c (expand_builtin): Error if __builtin_longjmp second argument
	is not 1.

From-SVN: r20543
1998-06-17 16:14:09 +00:00
Jeffrey A Law
dbecbbe48a expr.c (check_max_integer_computation_mode): New function.
* expr.c (check_max_integer_computation_mode): New function.
        (expand_expr): Avoid integer computations in modes wider than
        MAX_INTEGER_COMPUTATION_MODE.
        * fold-const.c (fold): Likewise.
        * tree.h (check_max_integer_computation_mode): Declare.
        * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.

From-SVN: r20538
1998-06-17 05:44:02 -06:00
Andreas Schwab
8d62b411cf expr.c (do_jump, [...]): When comparing complex prevent operands from being evaluated twice.
* expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
	prevent operands from being evaluated twice.

From-SVN: r20440
1998-06-12 01:26:05 +00:00
Jim Wilson
3e2b9a3d25 Fix build failure when pointers smaller than integers.
* expr.c (expand_builtin_setjmp): Store const1_rtx in target.
	(expand_builtin_longjmp): Abort if value isn't const1_rtx.
	Delete code storing value in static_chain_rtx.
	(expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
	to second expand_expr call.

From-SVN: r20418
1998-06-10 07:55:48 -07:00
Andrew MacLeod
a1622f838f [multiple changes]
Thu Jun  8 14:16:15 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
	* eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
	flag_new_exceptions runtime flag.
	(struct old_exception_table): New struct which represents what
	the exception table looks like without the new model.
	(NEW_EH_RUNTIME): New value used as a tag in the exception table to
	flag that this is a new style table.
	* except.h: Remove compile time flag NEW_EH_MODEL.
	(expand_builtin_eh_stub_old): New prototype.
	* tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
	* expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
	* c-decl.c (init_decl_processing): Add new builtin function
	__builtin_eh_stub_old.
	* final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
	* flags.h (flag_new_exceptions): New runtime flag.
	* toplev.c (flag_new_exceptions): Initialize default to 0,
	-fnew-exceptions sets to 1.
	* except.c (output_exception_table_entry): Output New style exception
	identifier into table, and replace compile time flag NEW_EH_MODEL
	with runtime flag flag_new_exceptions.
	(output_exception_table): Replace compile time flag NEW_EH_MODEL.
	(expand_builtin_eh_stub_old): Duplicates original functionality of
	expand_builtin_eh_stub.
	(expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
	* libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
	(old_find_exception_handler): New func, same as find_exception_handler
	except it works on the old style exception table.
	(__throw): Replace NEW_EH_MODEL. Detect new model based on presence
	of identifier in the exception table, and call appropriate routines.
1998-06-08  Andrew MacLeod  <amacleod@cygnus.com>
	* except.c (init_exception_processing): Remove NEW_EH_MODEL compile
	time flag.  Call __cp_eh_info instead of __cp_exception_info.
	* exception.cc (struct cp_eh_info): Remove NEW_EH_MODEL flag.
	(__cp_exception_info): Return offset into cp_eh_info structure to
	match what use to be the start of this structure.
	(__cp_eh_info): New function to return a pointer to cp_eh_info struct.
	(__cplus_type_matcher, __cp_push_exception): Remove NEW_EH_MODEL
	compile time flag.
	(__uncatch_exception, __check_eh_spec, std::uncaught_exception): Call
	__cp_eh_info instead of __cp_exception_info.

From-SVN: r20336
1998-06-08 12:43:28 +00:00
Richard Henderson
8b015896c2 expr.c (force_operand): Detect PIC address loads before splitting arithmetic.
* expr.c (force_operand): Detect PIC address loads before
splitting arithmetic.

From-SVN: r20331
1998-06-08 03:44:01 -07:00
David Edelsohn
a260abc996 tree.c (get_inner_array_type): New function.
Thu Jun  4 14:35:27 1998  David Edelsohn  <edelsohn@mhpcc.edu>
	* tree.c (get_inner_array_type): New function.
	* tree.h (get_inner_array_type): Prototype.
	* expr.h (STACK_SAVEAREA_MODE): New macro.
	* expr.c (expand_builtin_setjmp): Initialize sa_mode using
	STACK_SAVEAREA_MODE.
	(expand_builtin_longjmp): Likewise.
	* explow.c (emit_stack_save): Likewise.
	(allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
	* rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
	(CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
	* rs6000/aix43.h: New file.
	* rs6000/t-aix43: New file.
	* rs6000/x-aix41: New file.
	* rs6000/x-aix43: New file.
	* configure.in (rs6000-ibm-aix*): Use them.
	* rs6000/powerpc.h: Delete.
	* rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
	* rs6000/netware.h: and here.
	* rs6000/win-nt.h: and here.
	* rs6000/rs6000.c (processor_target_table, 620): Do not affect
	MASK_POWERPC64.
	(rs6000_override_options): Ignore flag_pic for AIX.
	(rs6000_immed_double_const): Delete.
	(u_short_cint_operand): Don't assume 32-bit CONST_INT.
	(reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
	(num_insns_constant): mask64_operand() is 2 insns.
	(logical_operand): Don't assume 32-bit CONST_INT.
	(non_logical_cint_operand): Don't assume 32-bit CONST_INT.
	(easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
	(mask_constant): HOST_WIDE_INT parameter.
	(non_and_cint_operand): Delete.
	(mask64_operand): New function.
	(and64_operand): New function.
	(function_arg_advance): DImode arguments do not need special
	alignment when 64-bit.
	(function_arg): Likewise.
	(setup_incoming_varargs): Reverse reg_size assignment.
	(print_operand): HOST_WIDE_INT second parameter.
	(print_operand, 'B'): New case.
	(print_operand, 'M'): Fix typo in lossage string.
	(print_operandm 'S'): New case.
	(rs6000_stack_info): Reverse reg_size assignment.  Use total_raw_size
	to compute AIX push_p.  Use reg_size to compute {cr,lr}_save_offset.
	(rs6000_output_load_toc_table): Reverse init_ptr assignment.  Use
	TARGET_64BIT not TARGET_POWERPC64.  Convert fprintf to fputs.
	Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
	(rs6000_allocate_stack_space): Use {cal|la}.
	(output_epilog): Use {cal|la}
	(output_function_profiler): Add call glue to mcount call.
	Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
	* rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
	(STACK_BOUNDARY): Depend on TARGET_32BIT.
	(ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
	(CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
	(EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'.  Replace 'S' with
	64-bit mask operand.
	(RS6000_SAVE_TOC): Depend on TARGET_32BIT.
	(STACK_SAVEAREA_MODE): New macro.
	(LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
	(LEGITIMIZE_RELOAD_ADDRESS): New macro.
	(RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
	(ASM_FILE_START): Emit 64-bit ABI directive.
	(ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
	(ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
	(PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
	Delete "non_and_cint_operand".  "input_operand" includes CONST_DOUBLE.
	* rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
	Restore define_splits.
	(floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
	(floatsidf2_internal, floatunssidf2_internal2): Likewise.
	Do not specify base register operand mode.
	(floatsidf2_loadaddr): Do not specify base register operand mode.
	(floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
	register; do not specify mode.  Remove !TARGET_POWERPC64 final
	constraint.
	(floatsidf2_load): Do not specify base register operand mode.  Remove
	!TARGET_POWERPC64 final constraint.
	(fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
	base register operand mode.
	(adddi3): Split large constants early.
	(absdi3): Shift by 63, not 31.
	(*mulsidi3_ppc64): New pattern.
	(rotldi3): Add masking combiner patterns.
	(anddi3): Add rldic{r,l} masking.  Remove split of large constants
	because PPC insns zero-extend.
	(iordi3, xordi3): Split large constants early.
	(movsi matcher): Remove S and T constraints.
	(movsf const_double): create SImode constant from TARGET_DOUBLE.
	(movdf_hardfloat32): Add default abort() case.
	(movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
	(movdi): Remove 64-bit constant generator.  Try to convert
	CONST_DOUBLE to CONST_INT.  Handle TOC memory constants.
	(movdi_32): Add default abort() case.
	(movdi_64): Add numerous ways to split 64-bit constants.
	Make catch-all define_split more optimal and never FAIL.
	(movti_ppc64): Add default abort() case.
	(allocate_stack): Remove operand modes.  Use Pmode.
	(restore_stack_block): Remove operand modes.  Generate Pmode
	temporary.
	(save_stack_nonlocal, restore_stack_nonlocal):  Generate Pmode
	temporary.  Save area is double Pmode.
	(call_indirect_aix64, call_value_indirect_aix64): New patterns.
	(call, call_value): Do not specify address operand mode.  Choose
	appropriate AIX ABI.
	(*call_local64, *ret_call_local64): New patterns.
	(*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
	(*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
	(compare): Materialize DImode truthvalues.

From-SVN: r20229
1998-06-04 07:47:15 -04:00
Craig Burley
ff439b5fee expr.c (safe_from_p): Avoid combinatorial explosion over duplicate SAVE_EXPRs by ensuring we never...
* expr.c (safe_from_p): Avoid combinatorial explosion
        over duplicate SAVE_EXPRs by ensuring we never recurse
        on one that has already been visited.

From-SVN: r20214
1998-06-03 18:30:40 -06:00
Richard Henderson
f0348c2524 expr.c (store_expr): Revert stray patch associated with 1998-05-23 commit.
* expr.c (store_expr): Revert stray patch associated with
	1998-05-23 commit.

From-SVN: r20201
1998-06-02 15:48:51 -07:00
Bernd Schmidt
2638126a5d expr.c (emit_move_insn_1): When moving complex values in several steps...
* expr.c (emit_move_insn_1): When moving complex values in several
        steps, emit a CLOBBER to show the destination dies.
Re-add patch.

From-SVN: r20195
1998-06-02 15:30:26 -06:00
Jeffrey A Law
6c8538ccb1 expr.c (expand_expr, [...]): Handle taking the address of an ADDRESSOF rtx.
* expr.c (expand_expr, case ADDR_EXPR): Handle taking the
        address of an ADDRESSOF rtx.

From-SVN: r20193
1998-06-02 15:16:10 -06:00
Mike Stump
0bc02db4e6 expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
* expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
        * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
        * i960.md (ret, flush_register_windows): Define.
        (nonlocal_goto): Likewise.  Nested function nonlocal gotos don't
        work yet.
        * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.

From-SVN: r20192
1998-06-02 14:11:21 -06:00
Richard Henderson
bd070e1aa9 expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF...
* expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
offset's mode is not ptr_mode, convert it.

From-SVN: r19965
1998-05-22 16:03:25 -07:00
Kaveh R. Ghazi
487a6e06ce Warning Fixes:
* Makefile.in (print-rtl.o): Depend on bitmap.h.
        (dbxout.o): Depend on toplev.h.
        ($(SCHED_PREFIX)sched.o): Likewise.
        ($(out_object_file)): Likewise for system.h and toplev.h.
        (cppmain.o): Depend on gansidecl.h.
        (cpplib.o): Likewise.
        (cpperror.o): Likewise.
        (cppexp.o): Likewise.
        (cpphash.o): Likewise.
        (cppalloc.o): Likewise.
        (fix-header.o): Depend on cpplib.h and cpphash.h.
        (scan-decls.o): Depend on gansidecl.h.
        * basic-block.h (free_regset_vector): Add prototype.
        * cccp.c (check_precompiled): Mark parameter `fname' with
        ATTRIBUTE_UNUSED.
        (do_assert): Likewise for `op' and `keyword'.
        (do_unassert): Likewise.
        (do_line): Likewise for `keyword'.
        (do_error): Likewise for `op' and `keyword'.
        (do_warning): Likewise.
        (do_ident): Likewise for `keyword'.
        (do_pragma): Likewise for `limit', `op' and `keyword'.
        (do_sccs): Likewise.
        (do_if): Likewise for `keyword'.
        (do_elif): Likewise.
        (do_else): Likewise.
        (do_endif): Likewise.
        * collect2.c (getenv): Remove redundant prototype.
        (collect_exit, collect_execute, dump_file): Likewise.
        (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
        (dump_prefix_list): Hide prototype and definition.
        * sparc.c: Include toplev.h.
        (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
        (symbolic_memory_operand): Likewise.
        (sp64_medium_pic_operand): Likewise.
        (data_segment_operand): Likewise.
        (text_segment_operand): Likewise.
        (splittable_symbolic_memory_operand): Likewise.
        (splittable_immediate_memory_operand): Likewise.
        (eq_or_neq): Likewise.
        (normal_comp_operator): Likewise.
        (noov_compare_op): Likewise.
        (v9_regcmp_op): Likewise.
        (v8plus_regcmp_op): Likewise.
        (extend_op): Likewise.
        (cc_arithop): Likewise.
        (cc_arithopn): Likewise.
        (small_int): Likewise.
        (uns_small_int): Likewise.
        (clobbered_register): Likewise.
        (legitimize_pic_address): Likewise.
        (delay_operand): Likewise.
        (sparc_builtin_saveregs): Remove unused variable `stdarg'.
        * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
        sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
        * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
        * cppalloc.c: Include gansidecl.h.
        * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
        (cpp_file_line_for_message): Mark parameter `pfile' with
        ATTRIBUTE_UNUSED.
        (v_cpp_message): New function.
        (cpp_message): Use it.  Also convert to variable arguments.
        (cpp_fatal): Likewise.
        (cpp_pfatal_with_name): Constify parameter `name'.
        * cppexp.c: Move gansidecl.h before cpplib.h.
        * cpphash.c: Likewise.
        * cpphash.h (hashf, delete_macro): Add prototypes.
        * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
        cpplib.h.  Don't include errno.h.
        (update_path): Add arguments to prototype.
        (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
        cpp_print_containing_files): Remove redundant prototypes.
        (cpp_hash_cleanup, add_import, append_include_chain,
        make_assertion, path_include, initialize_builtins,
        initialize_char_syntax, finclude, validate_else, comp_def_part,
        lookup_import, redundant_include_p, is_system_include,
        read_name_map, read_filename_string, open_include_file,
        check_macro_name, compare_defs, compare_token_lists,
        eval_if_expression, change_newlines): Add prototype arguments.
        (hashf): Remove redundant prototype.
        (read_token_list, free_token_list, safe_read, xcalloc, savestring,
        conditional_skip, skip_if_group): Add prototype arguments.
        (fdopen): Remove redundant prototype.
        (do_define, do_line, do_include, do_undef, do_error, do_pragma,
        do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
        do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
        (struct directive): Add prototype arguments to function pointer
        member `func'.
        (handle_directive): Add missing arguments to call to `do_line'.
        (do_include): Mark parameters `unused1' and `unused2' with
        ATTRIBUTE_UNUSED.
        (do_line): Likewise for `keyword' and new parameters `unused1' and
        `unused2'.
        (do_error): Likewise for `keyword'.
        (do_warning): Likewise.  Also add missing argument `pfile' in call
        to cpp_pedwarn.
        (do_once): Mark parameter `keyword', `unused1' and `unused2' with
        ATTRIBUTE_UNUSED.
        (do_ident): Likewise for `keyword', `buf' and `limit'.
        (do_pragma): Likewise.  Also add missing arguments in call to do_once.
        (do_sccs): Mark parameter `keyword', `buf' and `limit' with
        ATTRIBUTE_UNUSED.
        (do_if): Likewise for `keyword'.
        (do_elif): Likewise.
        (eval_if_expression): Likewise for `buf' and `length'.
        (do_xifdef): Likewise for `unused1' and `unused2'.
        (do_else): Likewise for `keyword', `buf' and `limit'.
        (do_endif): Likewise.
        (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
        (cpp_handle_options): Remove superfluous NULL argument in call to
        cpp_fatal.
        (cpp_handle_options): Likewise.
        (do_assert): Mark parameter `keyword', `buf' and `limit' with
        ATTRIBUTE_UNUSED.
        (do_unassert): Likewise.
        (cpp_print_file_and_line): Add missing argument `pfile' in call to
        cpp_file_line_for_message.
        (v_cpp_error): New function.
        (cpp_error): Use it. Also accept variable arguments.
        (v_cpp_warning): New function.
        (cpp_warning): Use it. Also accept variable arguments.
        (cpp_pedwarn): Accept variable arguments.
        (v_cpp_error_with_line): New function
        (cpp_error_with_line): Use it.  Accept variable arguments.
        (v_cpp_warning_with_line): New function.
        (cpp_warning_with_line): Use it.  Accept variable arguments.  Hide
        definition.
        (cpp_pedwarn_with_line): Accept variable arguments.
        (cpp_pedwarn_with_file_and_line): Likewise.
        (cpp_error_from_errno): Constify parameter `name'.  Add missing
        argument `pfile' in call to cpp_file_line_for_message.
        (cpp_perror_with_name): Constify parameter `name'.
        * cpplib.h: Define PARAMS() in terms of PROTO().
        (fatal): Remove redundant prototype.
        (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
        cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
        cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
        cpp_fatal, cpp_message, cpp_pfatal_with_name,
        cpp_file_line_for_message, cpp_print_containing_files): Add
        arguments to prototypes.
        (scan_decls, cpp_finish): Add prototypes.
        * cppmain.c: Include gansidecl.h.
        (main): Remove unused variable `i'.
        * dbxout.c: Include toplev.h.
        * demangle.h (do_tlink, collect_execute, collect_exit,
        collect_wait, dump_file, file_exists): Add prototype.
        * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
        prototype and definition.
        (gen_unspecified_parameters_die): Don't assign results of call to
        function new_die() to unused variable `parm_die'.
        (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
        (dwarf2out_define): Likewise for `lineno' and `buffer'.
        * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
        prototype and definition.
        (output_die): Add prototype arguments to function pointer arg.
        (output_unspecified_parameters_die): Mark parameter `arg' with
        ATTRIBUTE_UNUSED.
        * except.c (output_exception_table_entry): Remove unused variable
        `eh_entry'.
        * except.h (expand_fixup_region_start, expand_fixup_region_end):
        Add prototypes.
        * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
        * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
        * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
        before cpplib.h, include cpphash.h, remove redundant prototype of
        cpp_fatal, don't define `const', add a prototype for `fatal'.
        (cpp_file_line_for_message): Add missing arguments `pfile'.
        (v_cpp_message): New function.
        (cpp_message): Use it.
        (v_fatal): New function.
        (fatal, cpp_fatal): Use it.
        (cpp_pfatal_with_name): Constify parameter `name'.
        * flow.c (free_regset_vector): Remove redundant prototype.
        * function.c (round_down): Wrap prototype and definition with
        macro ARGS_GROW_DOWNWARD.
        (record_insns): Wrap prototype and definition with
        defined (HAVE_prologue) || defined (HAVE_epilogue).
        * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
        * gen-protos.c: Include gansidecl.h.
        (hashf): Don't make it static, constify parameter `name'.
        * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
        specifier %s in calls to function `fatal'.
        * haifa-sched.c: Include toplev.h.
        (find_rgns): Remove unused variable `j'.
        * integrate.c (note_modified_parmregs): Mark parameter `x' with
        ATTRIBUTE_UNUSED.
        (mark_stores): Likewise.
        * jump.c (mark_modified_reg): Likewise.
        * output.h (insn_current_reference_address): Add prototype.
        (eh_frame_section): Likewise.
        * print-rtl.c: Include bitmap.h.
        * reload1.c (reload): Wrap variables `note' and `next' in macro
        PRESERVE_DEATH_INFO_REGNO_P.
        (forget_old_reloads_1): Mark parameter `ignored' with
        ATTRIBUTE_UNUSED.
        (choose_reload_regs): Remove unused variable `in'.
        (reload_cse_invalidate_mem): Mark parameter `ignore' with
        ATTRIBUTE_UNUSED.
        (reload_cse_check_clobber): Likewise.
        * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
        (mark_elimination): Fix typo in prototype.
        * scan-decls.c: Include gansidecl.h.
        * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.

From-SVN: r19867
1998-05-19 08:42:48 +00:00
Richard Henderson
ead1705900 tree.h (TYPE_SIZE_UNIT): New.
* tree.h (TYPE_SIZE_UNIT): New.
(struct tree_type): Add size_unit member.
* stor-layout.c (layout_type): Initialize it.
* expr.c (get_inner_reference) [ARRAY_REF]: Use it.
* tree.c (size_in_bytes, int_size_in_bytes): Likewise.

From-SVN: r19853
1998-05-18 06:21:14 -07:00
Alexandre Petit-Bianco
b24f65cddd Patch from Alex Petit-Bianco.
* expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
	input_filename and lineno around expand_expr call.  Set them to values
	in WFL before expand_expr call.

From-SVN: r19778
1998-05-15 10:32:40 -07:00
Kaveh R. Ghazi
d6f4ec5199 Warning fixes:
* Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
	(c-lex.o): Depend on output.h.
	(c-common.o): Likewise.
	(stmt.o): Likewise.
	(calls.o): Likewise.
	(integrate.o): Depend on toplev.h.
	(regclass.o): Depend on output.h.
	(final.o): Depend on reload.h.
	* c-common.c: Include output.h.
	(check_format_info): Remove unused variable `integral_format'.
	* c-decl.c (print_lang_decl): Mark parameters `file', `node' and
	`indent' with ATTRIBUTE_UNUSED.
	(print_lang_type): Likewise.
	(maybe_build_cleanup): Likewise for parameter `decl'.
	(copy_lang_decl): Likewise for parameter `node'.
	* c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
	(lang_print_xnode): Mark parameters `file', `node' and `indent'
 	with ATTRIBUTE_UNUSED.
	(lookup_interface): Likewise for parameter `arg'.
	(is_class_name): Likewise.
	(maybe_objc_check_decl): Likewise for parameter `decl'.
	(maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
	`reflexive'.
	(maybe_objc_method_name): Likewise for parameter `decl'.
	(build_objc_string): Likewise for parameters `len' and `str'.
	* c-lex.c: Include output.h.
	* c-lex.h (position_after_white_space): Correct typo in prototype.
	* c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
 	c_expand_end_cond, init_iterators): Add prototypes.
	* caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
	with ATTRIBUTE_UNUSED.
	* calls.c: Include output.h.
	* cccp.c (pipe_closed): Mark parameter `signo' with
 	ATTRIBUTE_UNUSED.
	* combine.c: Move inclusion of expr.h to after insn-config.h.
	* iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
	as empty, rather define as ((void)0).
	* sparc.c (sparc_check_64): Add braces around ambiguous `else'.
	Add parentheses around assignment used as truth value.
	* cplus-dem.c (squangle_mop_up): Change return type to void.
	(internal_cplus_demangle): Remove unused parameter `options'.
	All callers changed.
	(cplus_demangle_opname): Remove function wide variable `int i' and
 	replace with `size_t i' at each location where it is used.
	(cplus_demangle_opname): change type of `i' from int to size_t.
	* cppexp.c (right_shift): Mark parameter `pfile' with
	ATTRIBUTE_UNUSED.
	* cpphash.c (cpp_lookup): Likewise.
	(cpp_hash_cleanup): Likewise.
	* cpplib.c (parse_name): Add a prototype and make it static.
	(null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
	(null_cleanup): Likewise for parameters `pbuf' and `pfile'.
	(macro_cleanup): Likewise for parameter `pfile'.
	(file_cleanup): Likewise.
	* cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
 	cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
	* crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
	__DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
	* cse.c (cse_check_loop_start): Mark parameter `set' with
 	ATTRIBUTE_UNUSED.
	* dbxout.c (flag_minimal_debug, have_used_extensions,
	source_label_number): Move inside macro wrapper check against
	defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
	* dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
	* except.h (doing_eh): Provide prototype.
	* expr.c: Move inclusion of expr.h to after insn-config.h.
	* final.c: Include reload.h.
	(shorten_branches): Cast the first argument of bzero to char *.
	* fix-header.c (cpp_print_containing_files): Mark parameter
 	`pfile' with ATTRIBUTE_UNUSED.
	(cpp_fatal): Likewise.
	* flow.c (find_basic_blocks_1): Cast the first argument of bzero
	to char *.
	* genattrtab.c (make_length_attrs): Change the type of variable
	`i' from int to size_t.
	(zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
	(one_fn): Likewise.
	* genextract.c (main): When generating insn-extract.c, mark
	variable `junk' with ATTRIBUTE_UNUSED.
	* gengenrtl.c (gencode): When generating genrtl.c, cast the first
	argument of bzero to char*.
	* integrate.c: Include toplev.h.
	* libgcc2.c: Wrap `struct exception_table' and
	`find_exception_handler' in macro DWARF2_UNWIND_INFO.
	* objc/Make-lang.in (objc-act.o): Depend on toplev.h.
	* objc/objc-act.c: Include toplev.h.
	(lang_print_xnode): Mark parameters `file', `node' and `indent'
	with ATTRIBUTE_UNUSED.
	(finish_protocol): Likewise for parameter `protocol'.
	* output.h (declare_weak): Add prototype.
	(decode_reg_name): Don't wrap with TREE_CODE macro.
	(assemble_alias): Add prototype.
	* regclass.c: Include output.h.
	* reload.h (reloads_conflict): Add prototype.
	* rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
	output_func_start_profiler): Add prototypes.
	* rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
 	ATTRIBUTE_UNUSED.
	* scan-decls.c: Include scan.h.
	* scan.h (recognized_function, recognized_extern): Add prototypes.
	* stmt.c: Include output.h.
	* toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
	(output_lang_identify): Hide prototype and definition.
	(float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
	(pipe_closed): Likewise.
	* toplev.h (count_error, strip_off_ending, error_for_asm,
 	warning_for_asm): Add prototypes.

From-SVN: r19712
1998-05-13 12:40:39 +00:00
Jeff Law
38e012594e typo typo fixes fixes
From-SVN: r19601
1998-05-06 15:09:07 -06:00
Jim Wilson
7e07331424 Fix irix6 linker warning, multiply defined target_temp_slot_level.
* expr.c (target_temp_slot_level): Delete duplicate definition.

From-SVN: r19584
1998-05-06 08:55:26 -07:00