* gcc.c: #include "gansidecl.h".
(PROTO,VPROTO,PVPROTO,VPROTO,VA_START,NULL): Delete.
(GENERIC_PTR,NULL_PTR,P_tmpdir): Delete.
(choose_temp_base): Declare as extern, delete internal copy.
(concat): Rewrite to take a variable number of arguments.
(choose_temp_base_try,concat[346]): Delete.
(translate_options,set_spec,process_command,do_spec_1,
is_directory,main): Always use concat, not concat[346]. Pass
NULL_PTR as trailing arg to concat.
From-SVN: r11794
(expand_field_assignment): Take SUBREG_WORD into account when have
STRICT_LOW_PART.
(make_extraction): Make a STRICT_LOW_PART at any low-order word.
From-SVN: r11775
* flags.h (flag_function_sections): Declare.
* toplev.c (flag_function_sections): Define.
(compile_file): Add warnings when -ffunction-sections is
used with -g, or profiling. Disable -ffunction-sections
when profiling is used. Add warning when -ffunction-sections
is used on a target that doesn't support it.
* varasm.c (named_section): Make a copy of the section name
in case the original is in temporary storage.
(function_section): Set DECL_SECTION_NAME for each function
if flag_function_sections is on and the target supports it.
* dbxout.c (dbxout_function_end): New function.
(dbxout_function): Call dbxout_function_end if using extensions
and flag_function_sections is on.
* sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Prefix a function
section's name with ".text%" when -ffunction-sections.
From-SVN: r11774
(combine_instructions): In initial scan of insns, handle a REG_INC
note's affect on sign bit copies and nonzero bits.
(set_nonzero_bits_and_sign_copies): Treat a zero SET arg as a CLOBBER.
From-SVN: r11762
* arm/arm.c (use_return_insn): Don't use return for naked functions.
(arm_valid_machine_decl_attribute): New function.
(arm_naked_function_p): New function.
(output_func_prologue): Naked functions don't have prologues.
(arm_expand_prologue): Likewise.
(output_func_epilogue): Likewise with epilogues.
From-SVN: r11755
* h8300/h8300.c (adds_subs_operand): Fix thinko in last change.
* h8300/h8300.md (subhi3): Turn into a define_expand.
(subhi3 using adds_subs): New pattern.
(H8300 subhi): Derived from old subhi pattern. Simplified.
(H8300H subhi): Likewise.
(subsi using adds_subs): New pattern. Only used on H8300H.
(subsi_h8300): Allow "a" registers as destination.
(subsi_h8300h): Allow "a" registers as destination. Simplify.
* h8300/h8300.md (bcs_qiqi, bcs_hihi, bs_hiqi): Fix thinkos
in last change.
From-SVN: r11754
* h8300.md: Add more comments about things which seem
wrong, stupid, or just don't make any sense yet.
* h8300.c (adds_subs_operand): New function.
(output_adds_subs): New function.
* h8300.md (addhi3): Turn into a define_expand.
(addhi3 using adds_subs): New pattern.
(H8300 addhi): Derived from old addhi pattern. Simplified.
(H8300H addhi): Likewise.
(addsi using adds_subs): New pattern. Only used on H8300H.
(addsi_h8300): Allow "a" registers as destination.
(addsi_h8300h): Simplify. Allow "a" registers as destination.
* h8300.md (bcs): New attribute type.
(default_length): Compute correct length for bcs insns.
(bcs_qiqi, bcs_hihi, bs_hiqi): Use new type and update
to account for correct length computation.
* h8300.md (movhi_internal): Demand at least one operand to
be a register.
(movsi_h8300): Optimize loading certain constants.
(movsi_h8300h): Likewise.
* h8300.h (NO_FUNCTION_CSE): Comment out.
(FUNCTION_ARG_REGNO_P): Properly define for TARGET_QUICKCALL.
(RETURN_IN_MEMORY): Don't return small structs in regs.
From-SVN: r11751