PR target/11087
* loop.c (basic_induction_var): Check if convert_modes emitted any
instructions. Remove them and return 0 if so.
* gcc.c-torture/execute/20030717-1.c: New test.
From-SVN: r69552
* config/abi/sparc-linux-gnu/baseline_symbols.txt: New file.
* config/abi/mips-linux-gnu/baseline_symbols.txt: New file.
* config/abi/hppa-linux-gnu/baseline_symbols.txt: New file.
* config/abi/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
[[Split portion of a mixed commit.]]
From-SVN: r69550.2
* toplev.c (rest_of_handle_addresof): Rename into
rest_of_handle_addressof. Delete unreachable blocks
if dead edges were purged after the addressof pass.
From-SVN: r69545
* c-decl.c (pushdecl_function_level): Make static, return nothing.
(kept_level_p): Fold into poplevel.
(undeclared_variable): Moved here from c-typeck.c. Export.
* c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
(undeclared_variable): Prototype here. Don't prototype
kept_level_p nor pushdecl_function_level.
* c-parse.in: Change first argument to poplevel from
"kept_level_p()" to "KEEP_MAYBE".
* c-typeck.c (undeclared_variable): Moved to c-decl.c.
From-SVN: r69540
PR optimization/11557
* calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
unless we know which function is being called.
PR optimization/11557
* gcc.dg/20030717-1.c: New test.
From-SVN: r69538
* fold-const.c (const_binop): Avoid performing the FP operation at
compile-time, if either operand is NaN and we honor signaling NaNs,
or if we're dividing by zero and either flag_trapping_math is set
or the desired mode doesn't support infinities.
(fold_initializer): New function to fold an expression ignoring any
potential run-time exceptions or traps.
* tree.h (fold_initializer): Prototype here.
* c-typeck.c (build_binary_op): Move to the end of the file so
that intializer_stack is in scope. If constructing an initializer,
i.e. when initializer_stack is not NULL, use fold_initializer to
fold expressions.
* simplify-rtx.c (simplify_binary_operation): Likewise, avoid
performing FP operations at compile-time, if they would raise an
exception at run-time.
From-SVN: r69533
* c-opts.c (this_input_filename): New.
(finish_options): Take new parameter, name of file being compiled.
Update callers. Set this_input_filename.
(push_command_line_include): Use this_input_filename not
main_input_filename.
From-SVN: r69526
* c-decl.c: Fix typos in several comments. Remove all
#if 0 blocks; reindent as needed. Remove unused argument
to declare_parm_level; all callers changed.
* c-parse.in: Update calls to declare_parm_level. Avoid
issuing a double warning in some circumstances.
* c-typeck.c: Update calls to declare_parm_level.
* c-tree.h: Update prototype of declare_parm_level.
* c-pragma.c (apply_pragma_weak): Don't complain about a
redundant #pragma weak.
* objc/objc-act.c (forward_declare_categories,
build_selector_reference_decl, build_class_reference_decl,
build_objc_string_decl, synth_forward_declarations,
build_protocol_reference): Set TREE_PUBLIC on synthetic
forward decl to 0, consistent with eventual definition.
Correct comments to match.
cp:
* pt.c (get_bindings): Make definition consistent with
forward declaration.
From-SVN: r69519
* fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
in regexp that don't form a range expression.
* fixinc/fixincl.def: Regenerate.
From-SVN: r69517
PR target/10907
* config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
even with !TARGET_CONST_GP.
(ia64_function_ok_for_sibcall): Reject non-local functions.
From-SVN: r69515
PR other/11466
* doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
and its restrictions for the SPARC64 port.
Move the entry of "-mimpure-text" before that of "-mv8".
From-SVN: r69497
* doc/install.texi (*-*-solaris2*): Document the step-by-step
procedure to bootstrap and install.
Document the preference for the legacy Sun tools in /usr/bin
over the POSIX tools in /usr/xpg4/bin for the build process.
Co-Authored-By: Phil Edwards <phil@jaj.com>
From-SVN: r69495
* loop.c (check_ext_dependent_givs): Pass const struct loop *
instead of struct loop_info * as argument. Accept BIVs with
increment +/- 1 provided there is a friendly exit test against
a loop-invariant value.
(strength_reduce): Adapt call to check_ext_dependent_givs.
From-SVN: r69489
2003-07-16 J"orn Rennecke <joern.rennecke@superh.com>
Con Bradley <con.bradley@superh.com>
* sh-protos.h (sh_get_pr_initial_val): Declare.
* sh.c (regno_reg_class): Make its elements type enum reg_class.
(output_stack_adjust): Remove emit_fn argument. Add epilogue_p
and live_regs_mask arguments. Changed all callers.
(save_schedule_s): New structure.
(save_schedule): New typedef.
(scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
(calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
In interrupts handlers, also save registers that are usually
partially saved, and make sure there is at least one general purpose
register saved if a target register needs saving.
Add casts in comparisons to avoid warnings.
(sh_media_register_for_return): return -1 for interrupt handlers.
(MAX_SAVED_REGS, MAX_TEMPS): New defines.
(sh_expand_prologue): Use sh5_schedule_saves. Check that any temp
registers used are available.
Set RTX_FRAME_RELATED_P where appropriate.
Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
(sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
(initial_elimination_offset): Likewise.
* sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
(LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
(FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
(XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
(HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
and for target registers.
(RETURN_IN_MEMORY): Add parentheses to avoid warnings.
(regno_reg_class): Make its elements type enum reg_class.
(CONSTRAINT_LEN): Don't use isdigit.
(FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
(FUNCTION_ARG): Add parentheses to avoid warnings.
(RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
(RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
(SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
(EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
* sh.md (xordi3+1): Remove unused variable regno.
(return_media): Check that tr0 is available before using it.
Co-Authored-By: Con Bradley <con.bradley@superh.com>
From-SVN: r69480
2003-07-17 Andrew Pinski <pinskia@physics.uc.edu>
Partial Fix PR/10129
* config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
(machopic_output_function_base_name): New; print the true pic label.
(machopic_classify_ident): Pic Base is always a defined data.
* config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
* config/darwin-proto.h (machopic_output_function_base_name): Prototype.
From-SVN: r69472
2003-05-02 Andrew Pinski <pinskia@physics.uc.edu>
* gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
if they are not floating point registers.
From-SVN: r69471
2003-07-16 Andrew Pinski <pinskia@physics.uc.edu>
ChangeLog:
PR c/10962
* ggc.h: Add header guards.
* c-decl.c (finish_struct): Sort fields if
number greater than 15 and there are no
anonymous structs/unions.
* c-common.h: Include ggc.h.
(sorted_fields_type): New struct.
(field_decl_cmp): New prototype.
(resort_sorted_fields): New prototype.
(DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
* c-tree.h: (lang_type): Use pointer to sorted_fields_type
as s, removing other fields.
* c-typeck.c (lookup_field): Use s in lang_type.
These were mostly moved from cp/class.c:
* c-common.c (field_decl_cmp): New static function.
(field_decl_cmp): New function.
(resort_sorted_fields): New function.
cp/ChangeLog:
* class.c (field_decl_cmp): Remove.
(resort_field_decl_cmp): Remove.
(resort_sorted_fields): Remove.
(add_fields_to_vec): Rename to ...
(add_fields_to_record_type): this.
(finish_struct_1): Change to be using
sorted_fields_type's fields.
* cp-tree.h (lang_decl): In lang_decl_u3
change sorted_fields to be a pointer to
sorted_fields_type.
(resort_sorted_fields): Remove prototype.
* search.c (lookup_field_1): Change to be using
sorted_fields_type's fields.
From-SVN: r69470