David Edelsohn [Thu, 2 Jul 1998 11:53:24 +0000 (07:53 -0400)]
expr.h (STACK_SIZE_MODE): New macro.
* expr.h (STACK_SIZE_MODE): New macro.
* explow.c (allocate_dynamic_stack_space): Use it for
mode of allocate_stack pattern increment operand.
* tm.texi (STACK_SAVEAREA_MODE, STACK_SIZE_MODE): Document.
* md.texi (stack_save_block, ...): Reflect use of macro.
* rs6000.h (PROMOTE_MODE): Always promote to word_mode.
(PROMOTE_FUNCTION_ARGS): Define.
(PROMOTE_FUNCTION_RETURN): Define.
(FUNCTION_VALUE): Promote to word_mode if smaller.
Convert to gen_rtx_FOO.
* rs6000.md (call_indirect): Store doubleword in 64-bit mode.
Convert to gen_rtx_FOO.
Robert Lipe [Thu, 2 Jul 1998 08:13:44 +0000 (08:13 +0000)]
install.texi (sco3.2v5): Document new --with-gnu-as flag.
* install.texi (sco3.2v5): Document new --with-gnu-as flag.
* config/i386/sco5.h (JUMP_TABLES_IN_TEXT_SECTION): Defined as
in other targets.
(USE_GAS): Conditionalize away native assembler usage.
* config/i386/sco5gas.h: New file.
* config/i386/t-sco5gas: New file.
* configure.in (ix86-sco3.2v5*): Use new files if --with-gnu-as
Dave Love [Thu, 2 Jul 1998 06:19:07 +0000 (06:19 +0000)]
Makefile.in (install-info): Don't use $realfile.
Thu Jul 2 14:13:28 1998 Dave Love <d.love@dl.ac.uk>
* Makefile.in (install-info): Don't use $realfile. Ignore
possible errors from the install-info program.
Ken Raeburn [Wed, 1 Jul 1998 20:16:54 +0000 (20:16 +0000)]
h8300.c (print_operand): Delete %L support.
* h8300.c (print_operand): Delete %L support.
* h8300.md (branch_true, branch_false): Use %= with a prefix instead of %L for
local branch labels.
Prevents emitting of "tl###" labels that are not assembler-temporary and thus
confuse gdb.
reload.c (find_reloads): If there are multiple RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS...
* reload.c (find_reloads): If there are multiple
RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads for
one operand, change RELOAD_FOR_INPADDR_ADDRESS /
RELOAD_FOR_OUTADDR_ADDRESS for all but the first
RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads.
Fix 980701-1.f (which was producing "unaligned trap" on an Alpha running GNU/Linux, as predicted):
Wed Jul 1 11:19:13 1998 Craig Burley <burley@gnu.org>
Fix 980701-1.f (which was producing "unaligned trap"
on an Alpha running GNU/Linux, as predicted):
* equiv.c (ffeequiv_layout_local_): Don't bother
coping with pre-padding of entire area while building
it; do that instead after the building is done, and
do it by modifying only the modulo field. This covers
the case of alignment stringency being increased without
lowering the starting offset, unlike the previous changes,
and even more elegantly than those.
* target.c (ffetarget_align): Make sure alignments
are non-zero, just in case.
Dave Love [Wed, 1 Jul 1998 10:30:22 +0000 (10:30 +0000)]
wsfe.c (s_wsfe): Fix setting of f__curunit lost in previous change.
1998-06-29 Dave Love <d.love@dl.ac.uk>
* libI77/wsfe.c (s_wsfe): Fix setting of f__curunit lost in
previous change.
* libI77/rsfe.c (s_rsfe): Likewise.
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.