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.
Jeff Law [Tue, 30 Jun 1998 22:21:11 +0000 (16:21 -0600)]
jump.c (jump_optimize): Show that the jump chain is not valid when not optimizing.
* jump.c (jump_optimize): Show that the jump chain is not
valid when not optimizing.
Opps. Helps to actually commit the file you really wanted to change :-)
* 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.
Kaveh R. Ghazi [Tue, 30 Jun 1998 11:10:55 +0000 (11:10 +0000)]
Add the ability to GCC_NEED_DECLARATION{S} for looking in arbitrary header...
Add the ability to GCC_NEED_DECLARATION{S} for looking in arbitrary
header files when searching for function declarations. Use this
functionality to check for getrlimit/setrlimit.
* aclocal.m4 (GCC_NEED_DECLARATION): Accept an optional second
argument, which is typically preprocessor code used to draw in
additional header files when looking for a function declaration.
(GCC_NEED_DECLARATIONS): Likewise.
* configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit
and setrlimit, search for them in sys/resource.h.
* acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and
NEED_DECLARATION_SETRLIMIT.
* system.h: Prototype getrlimit/setrlimit if necessary.
David Edelsohn [Tue, 30 Jun 1998 10:20:04 +0000 (06:20 -0400)]
[multiple changes]
Tue Jun 30 13:11:42 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* rs6000/sysv4.h (asm output): add tabs for asm directives.
Tue Jun 30 13:11:42 1998 David Edelsohn <edelsohn@mhpcc.edu>
* Makefile.in (FLAGS_TO_PASS): Set AR_FLAGS to AR_FOR_TARGET_FLAGS.
Craig Burley [Tue, 30 Jun 1998 07:59:40 +0000 (03:59 -0400)]
Fix 980628-*.f:
Mon Jun 29 09:47:33 1998 Craig Burley <burley@gnu.org>
Fix 980628-*.f:
* bld.h: New `pad' field and accessor macros for
ACCTER, ARRTER, and CONTER ops.
* bld.c (ffebld_new_accter, ffebld_new_arrter,
ffebld_new_conter_with_orig): Initialize `pad' field
to zero.
* com.c (ffecom_transform_common_): Include initial
padding (aka modulo aka offset) in size calculation.
Copy initial padding value into FFE initialization expression
so the GBE transformation of that expression includes it.
Make array low bound 0 instead of 1, for consistency.
(ffecom_transform_equiv_): Include initial
padding (aka modulo aka offset) in size calculation.
Copy initial padding value into FFE initialization expression
so the GBE transformation of that expression includes it.
Make array low bound 0 instead of 1, for consistency.
(ffecom_expr_, case FFEBLD_opACCTER): Delete unused `size'
variable.
Track destination offset separately, allowing for
initial padding.
Don't bother setting initial PURPOSE offset if zero.
Include initial padding in size calculation.
(ffecom_expr_, case FFEBLD_opARRTER): Allow for
initial padding.
Include initial padding in size calculation.
Make array low bound 0 instead of 1, for consistency.
(ffecom_finish_global_): Make array low bound 0 instead
of 1, for consistency.
(ffecom_notify_init_storage): Copy `pad' field from old
ACCTER to new ARRTER.
(ffecom_notify_init_symbol): Ditto.
* data.c (ffedata_gather_): Initialize `pad' field in new
ARRTER to 0.
(ffedata_value_): Ditto.
* equiv.c (ffeequiv_layout_local_): When lowering start
of equiv area, extend lowering to maintain needed alignment.
* target.c (ffetarget_align): Handle negative offset correctly.
* global.c (ffeglobal_pad_common): Warn about non-zero
padding only the first time its seen.
If new padding larger than old, update old.
(ffeglobal_save_common): Use correct type for size throughout.
* global.h: Use correct type for size throughout.
(ffeglobal_common_pad): New macro.
(ffeglobal_pad): Delete this unused and broken macro.
Dave Love [Tue, 30 Jun 1998 06:14:57 +0000 (06:14 +0000)]
980628-7.f, [...]: New tests from Craig.
1998-06-29 Dave Love <d.love@dl.ac.uk>
* g77.f-torture/execute/980628-7.f,
g77.f-torture/execute/980628-8.f,
g77.f-torture/execute/980628-9.f,
g77.f-torture/execute/980628-10.f: New tests from Craig.
Kaveh R. Ghazi [Tue, 30 Jun 1998 06:11:43 +0000 (06:11 +0000)]
Remove autoconf things and OS header stuff (namely NULL) from gansidecl.h:
* gansidecl.h (ATTRIBUTE_UNUSED): Use __unused__ not `unused'.
Don't define NULL here. Also, remove all vestiges of autoconf
based checks for bcmp/bcopy/bzero/index/rindex.
* system.h: Immediately after including stdio.h, check for and if
necessary provide a default definition of NULL.
Jeffrey A Law [Tue, 30 Jun 1998 01:41:45 +0000 (01:41 +0000)]
choose-temp.c (make_temp_file): Accept new argument for the file suffix to use.
* choose-temp.c (make_temp_file): Accept new argument for the
file suffix to use. Allocate space for it and add it to the
template.
* mkstemp.c (mkstemps): Renamed from mkstemp. Accept new argument
for the length of the suffix. Update template struture checks
to handle optinal suffix.
* collect2.c (make_temp_file): Update prototype.
(main): Put proper suffixes on temporary files.
* gcc.c (make_temp_file): Update prototype.
(do_spec_1): Put proper suffixes on temporary files.
Should fix irix build problems.
Kaveh R. Ghazi [Mon, 29 Jun 1998 17:36:07 +0000 (17:36 +0000)]
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.
Jeffrey A Law [Sun, 28 Jun 1998 20:07:32 +0000 (20:07 +0000)]
choose-temp.c (choose_temp_base): Restore original variant of this function for compatibility.
* choose-temp.c (choose_temp_base): Restore original variant of
this function for compatibility.
(make_temp_file): This is the new, preferred interface to create
temporary files.
* collect2.c (choose_temp_base): Delete declaration.
(make_temp_file): Declare.
(temp_filename_length, temp_filename): Delete.
(main): Use make_temp_file to get temporary files. Use --lang-c
to force the resulting ctort/dtor file to be compiled with the C
compiler. Make sure to remove temporary files on all exit paths.
* gcc.c (make_temp_file): Provide prototype if MKTEMP_EACH_FILE is
defined.
(choose_temp_base): Only provide prototype if MKTEMP_EACH_FILE is
not defined.
(do_spec): Use make_temp_file if MKTEMP_EACH_FILE is defined.
Jeffrey A Law [Sat, 27 Jun 1998 23:51:33 +0000 (23:51 +0000)]
stl_config.h (__STL_PTHREADS): Don't define for glibc 2 if _G_USING_THUNKS is not defined.
* stl_config.h (__STL_PTHREADS): Don't define for glibc 2 if
_G_USING_THUNKS is not defined.
Bring over from egcs-1.0.3 branch since ppc-linux still uses glibc-1.9x.
jump.c (jump_optimize): Use side_effects_p & may_trap_p instead of rtx_unsafe_p.
* jump.c (jump_optimize): Use side_effects_p & may_trap_p instead
of rtx_unsafe_p. Use modified_between_p instead of reg_set_between_p.
Allow FP moves to be optimized.
(rtx_unsafe_p): Delete.
Carlo Wood [Sat, 27 Jun 1998 23:01:34 +0000 (01:01 +0200)]
libstdc++.exp: Use global variable ld_library_path (not local) that is a lot more persistent...
* lib/libstdc++.exp: Use global variable ld_library_path (not local)
that is a lot more persistent; dejagnu-980528 needs this.
* lib/libstdc++.exp (test_stdc++): Use regular expression " -lstdc.."
to remove -lstdc++ arguments (not " -lstdc.*").
Fred Fish [Sat, 27 Jun 1998 22:36:57 +0000 (22:36 +0000)]
g++spec.c (NEED_MATH_LIBRARY): Define to 1 if not already defined.
* g++spec.c (NEED_MATH_LIBRARY): Define to 1 if not already defined.
(lang_specific_driver): Initialize need_math with NEED_MATH_LIBRARY.
(lang_specific_driver): Only add -lm automatically if need_math is
nonzero.
John Carr [Sat, 27 Jun 1998 17:47:15 +0000 (17:47 +0000)]
dsp16xx.h (FIRST_PSEUDO_REGISTER): Add parentheses to definition.
* dsp16xx.h (FIRST_PSEUDO_REGISTER): Add parentheses to definition.
* dsp16xx.c (next_cc_user_unsigned): New function.
Remove save_next_cc_user_code.
(print_operand): Use HOST_WIDE_INT_PRINT_* macros.
* dsp16xx.md: Call next_cc_user_unsigned instead of using
save_next_cc_user_code.
Use gen_rtx_* functions instead of gen_rtx.
* rs6000.c: Add trap_comparison_operator to PREDICATE_CODES.
Kaveh R. Ghazi [Sat, 27 Jun 1998 09:37:37 +0000 (09:37 +0000)]
mkstemp.c: Include gansidecl.h.
* mkstemp.c: Include gansidecl.h. Rename uint64_t to gcc_uint64_t.
(mkstemp): Remove size specifier for variable `letters'. Call
gettimeofday, not __gettimeofday.
Kaveh R. Ghazi [Sat, 27 Jun 1998 04:44:42 +0000 (04:44 +0000)]
Replace Makefile.in dependencies on expr.h with variable $(EXPR_H),
which contains headers also pulled in via expr.h.
* Makefile.in (EXPR_H): New dependency variable.
(decl2.o): Depend on $(EXPR_H).
(typeck.o): Likewise.
(init.o): Likewise.
(expr.o): Likewise.
Kaveh R. Ghazi [Sat, 27 Jun 1998 04:42:25 +0000 (04:42 +0000)]
Replace Makefile.in dependencies on expr.h with variable $(EXPR_H),
which contains headers also pulled in via expr.h.
* Makefile.in (EXPR_H): New dependency variable.
(c-typeck.o): Depend on $(EXPR_H) instead of expr.h.
(c-iterate.o): Likewise.
(gencheck): Depend on $(TREE_H) instead of tree.h, etc.
(stor-layout.o): Depend on $(EXPR_H) instead of expr.h.
(toplev.o): Likewise. Also depend on $(RECOG_H) instead of recog.h.
(varasm.o): Depend on $(EXPR_H) instead of expr.h.
(function.o): Likewise.
(stmt.o): Likewise.
(except.o): Likewise.
(expr.o): Likewise.
(calls.o): Likewise.
(expmed.o): Likewise.
(explow.o): Likewise.
(optabs.o): Likewise.
(sdbout.o): Likewise.
(dwarf2out.o): Likewise.
(emit-rtl.o): Likewise.
(integrate.o): Likewise.
(jump.o): Likewise.
(cse.o): Likewise.
(gcse.o): Likewise. Also depend on $(BASIC_BLOCK_H) instead of
basic-block.h.
(loop.o): Depend on $(EXPR_H) instead of expr.h.
(unroll.o): Likewise.
(combine.o): Likewise.
(reload.o): Likewise.
(reload1.o): Likewise.
(caller-save.o): Likewise.
(reorg.o): Likewise.
(alias.o): Don't depend on insn-codes.h.
(regmove.o): Depend on $(RECOG_H)/$(EXPR_H) instead of recog.h/expr.h.
(insn-emit.o): Depend on $(EXPR_H) instead of expr.h.
(insn-opinit.o): Likewise.
* choose-temp.c (choose_temp_base): Remove MPW bits. Use mkstemp
instead of mktemp.
* gcc.c (MKTEMP_EACH_FILE): Define.
(main): No need to call choose_temp_base if we are going to
use choose_temp_base to create each file later.
* mkstemp.c: New file. Adapted from glibc.
* Makefile.in (xgcc, colect2, protoize, unprotoize): Link in mkstemp.o
(mkstemp.o): Add dependencies.
Jeff Law [Fri, 26 Jun 1998 17:07:31 +0000 (11:07 -0600)]
configure.in (gettimeofday): Check for its existance.
* configure.in (gettimeofday): Check for its existance.
* config.in (HAVE_GETTIMEOFDAY): Define.
* configure: Rebuilt.
Will be needed for mkstemp shortly.
David S. Miller [Fri, 26 Jun 1998 13:04:40 +0000 (13:04 +0000)]
sparc.h (REGNO_OK_FOR_{INDEX,BASE,FP,CCFP}_P): Explicitly mark the constant being compared against as unsigned.
* config/sparc/sparc.h (REGNO_OK_FOR_{INDEX,BASE,FP,CCFP}_P):
Explicitly mark the constant being compared against as unsigned.
* config/sparc/sparc.c (sparc_select, cpu_default, cpu_table):
Fully initialize final members.
(mem_aligned_8): Explicit init of offset to zero.
(output_function_prologue): Explicit init of n_regs to zero.
(output_function_epilogue): Likewise, and mark arg size as
unused.
(init_cumulative_args): Mark libname and indirect as unused.
(function_arg_pass_by_reference): Likewise for cum and named.
(sparc_builtin_saveregs): Likewise for arglist.
(sparc_flat_eligible_for_epilogue_delay): Likewise for slot.
Richard Earnshaw [Fri, 26 Jun 1998 07:13:25 +0000 (07:13 +0000)]
arm.h (SECONDARY_INPUT_RELOAD_CLASS): Only need a secondary reload if reloading a MEM.
* arm.h (SECONDARY_INPUT_RELOAD_CLASS): Only need a secondary reload
if reloading a MEM.
* arm.h (arm_adjust_cost): Renamed bogus prototype from
arm_adjust_code.
(bad_signed_byte_operand): Add prototype.
* arm.c (arm_override_options): Make I unsigned.
(const_ok_for_arm): Add casts to the constants.
(load_multiple_operation): Don't redeclare elt in sub-block.
(arm_gen_movstrqi): Delete external declaration of optimize.
(gen_compare_reg): Declare parameter fp.
* arm.c (final_prescan_insn): Only initialize scanbody if the insn
has a pattern.
Kaveh R. Ghazi [Fri, 26 Jun 1998 06:41:04 +0000 (06:41 +0000)]
Warning fixes:
* alpha.c: Include system.h and toplev.h.
(cint8_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
(const48_operand): Likewise.
(mode_width_operand): Likewise.
(mode_mask_operand): Likewise.
(mul8_operand): Likewise.
(current_file_function_operand): Likewise.
(signed_comparison_operator): Likewise.
(divmod_operator): Likewise.
(any_memory_operand): Likewise.
(alpha_return_addr): Likewise for parameter `frame'.
(alpha_builtin_saveregs): Likewise for parameter `arglist'.
(vms_valid_decl_attribute_p): Likewise for parameters `decl' and
`attributes'.
(alpha_start_function): Likewise for parameter `decl'. Use
HOST_WIDE_INT_PRINT_DEC in call to fprintf. Fix various format
specifiers. Remove unused variables `lab' and `name'.
(alpha_end_function): Mark parameter `decl' with ATTRIBUTE_UNUSED.
(check_float_value): Likewise for parameter `overflow'.
(alpha_need_linkage): Likewise for parameters `name' and `is_local'.
* alpha.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define as
taking an argument.
(ASM_OUTPUT_SHORT): Cast argument to `int' in call to fprintf.
(ASM_OUTPUT_CHAR): Likewise.
(ASM_OUTPUT_BYTE): Likewise.
(PRINT_OPERAND_ADDRESS): Use HOST_WIDE_INT_PRINT_DEC in call to
fprintf.
(PUT_SDB_EPILOGUE_END): Mention argument `NAME' in definition.
Add prototypes for functions in alpha.c.
* alpha.md (ashldi3): Add default case in switch.
d
egcs/ChangeLog:
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (BASE_FLAGS_TO_PASS): Add gcc_version_trigger.
(Makefile): Depend on $(gcc_version_trigger).
* configure (gcc_version): Change default initializer to empty
string.
(gcc_version_trigger): New variable; pass this variable down
to subdir configures to enable them checking gcc's version
themselves. Emit make macros for both gcc_version vars.
(topsrcdir): Initialize reliably.
(recursion line): Remove --with-gcc-version=${gcc_version}.
egcs/gcc/ChangeLog:
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (gcc_version, gcc_version_trigger): New macros.
(version): Initialize from $(gcc_version).
* configure.in (version): Rename to gcc_version.
(gcc_version_trigger): New variable; call AC_SUBST for it and
emit it into the generated config.status.
* configure: Regenerate.
egcs/libf2c/ChangeLog.egcs:
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (gcc_version_trigger): Add new macro.
(config.status): Add dependency upon $(gcc_version_trigger).
* configure.in (gcc_version_trigger): New variable; initialize
using value from toplevel configure; add AC_SUBST for it.
(gcc_version): Change initialization to use this new variable.
* configure: Regenerate.
egcs/libio/ChangeLog:
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
* config.shared (FLAGS_TO_PASS): Add gcc_version_trigger.
(Makefile): Add dependency upon $(gcc_version_trigger).
a
egcs/ChangeLog:
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (BASE_FLAGS_TO_PASS): Add gcc_version_trigger.
(Makefile): Depend on $(gcc_version_trigger).
* configure (gcc_version): Change default initializer to empty
string.
(gcc_version_trigger): New variable; pass this variable down
to subdir configures to enable them checking gcc's version
themselves. Emit make macros for both gcc_version vars.
(topsrcdir): Initialize reliably.
(recursion line): Remove --with-gcc-version=${gcc_version}.
egcs/gcc/ChangeLog:
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (gcc_version, gcc_version_trigger): New macros.
(version): Initialize from $(gcc_version).
* configure.in (version): Rename to gcc_version.
(gcc_version_trigger): New variable; call AC_SUBST for it and
emit it into the generated config.status.
* configure: Regenerate.
egcs/libf2c/ChangeLog.egcs:
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (gcc_version_trigger): Add new macro.
(config.status): Add dependency upon $(gcc_version_trigger).
* configure.in (gcc_version_trigger): New variable; initialize
using value from toplevel configure; add AC_SUBST for it.
(gcc_version): Change initialization to use this new variable.
* configure: Regenerate.
egcs/libio/ChangeLog:
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
* config.shared (FLAGS_TO_PASS): Add gcc_version_trigger.
(Makefile): Add dependency upon $(gcc_version_trigger).
1
egcs/ChangeLog:
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (BASE_FLAGS_TO_PASS): Add gcc_version_trigger.
(Makefile): Depend on $(gcc_version_trigger).
* configure (gcc_version): Change default initializer to empty
string.
(gcc_version_trigger): New variable; pass this variable down
to subdir configures to enable them checking gcc's version
themselves. Emit make macros for both gcc_version vars.
(topsrcdir): Initialize reliably.
(recursion line): Remove --with-gcc-version=${gcc_version}.
egcs/gcc/ChangeLog:
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (gcc_version, gcc_version_trigger): New macros.
(version): Initialize from $(gcc_version).
* configure.in (version): Rename to gcc_version.
(gcc_version_trigger): New variable; call AC_SUBST for it and
emit it into the generated config.status.
* configure: Regenerate.
egcs/libf2c/ChangeLog.egcs:
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (gcc_version_trigger): Add new macro.
(config.status): Add dependency upon $(gcc_version_trigger).
* configure.in (gcc_version_trigger): New variable; initialize
using value from toplevel configure; add AC_SUBST for it.
(gcc_version): Change initialization to use this new variable.
* configure: Regenerate.
egcs/libio/ChangeLog:
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
* config.shared (FLAGS_TO_PASS): Add gcc_version_trigger.
(Makefile): Add dependency upon $(gcc_version_trigger).