Redesign GCC_FUNC_PRINTF_PTR so that it doesn't define HOST_PTR_PRINTF directly.
Redesign GCC_FUNC_PRINTF_PTR so that it doesn't define HOST_PTR_PRINTF
directly. Instead, autoconf will only determine whether "%p" works and
its up to machmode.h to base its definition of HOST_PTR_PRINTF on that.
This ensures that machmode.h is always included to get the definition of
HOST_PTR_PRINTF for lossy hosts or cross compiles where "%p" is not
found.
* aclocal.m4 (GCC_FUNC_PRINTF_PTR): Don't define HOST_PTR_PRINTF.
Instead, define a new macro HAVE_PRINTF_PTR which only signifies
whether we have the %p format specifier or not.
* acconfig.h: Delete stub for HOST_PTR_PRINTF, add HAVE_PRINTF_PTR.
* machmode.h (HOST_PTR_PRINTF): When determining the definition,
check HAVE_PRINTF_PTR to see whether "%p" is okay.
* mips-tfile.c: Include machmode.h to get HOST_PTR_PRINTF.
* Makefile.in (mips-tfile.o): Depend on machmode.h.
Mark Mitchell [Mon, 6 Jul 1998 10:42:43 +0000 (10:42 +0000)]
jump.c (duplicate_loop_exit_test): Don't refuse to copy a section of code just because it contains...
* jump.c (duplicate_loop_exit_test): Don't refuse to copy a
section of code just because it contains
NOTE_INSN_BLOCK_{BEG,END}.
* stmt.c (expand_end_loop): Likewise. Also, don't refuse to
move CALL_INSNs or CODE_LABELs. When moving code, don't move
NOTE_INSN_BLOCK_{BEG,END}.
Dave Love [Mon, 6 Jul 1998 09:01:43 +0000 (09:01 +0000)]
[multiple changes]
1998-07-06 Dave Love <d.love@dl.ac.uk>
* libU77/Makefile.in (lib): Change variable lib to LIBS.
1998-07-06 Robert Lipe <robertl@dgii.com>
* libU77/configure.in: Look for -lsocket, add to LIBS if found.
* libU77/Makefile.in (lib): Use LIBS from above.
Dave Love [Mon, 6 Jul 1998 08:29:31 +0000 (08:29 +0000)]
intdoc.in: Add entry for DATE_AND_TIME.
1998-07-05 Dave Love <d.love@dl.ac.uk>
* intdoc.in: Add entry for DATE_AND_TIME.
* intrin.def: Add implementation for DATE_AND_TIME. Make second
and third args of SYSTEM_CLOCK optional.
* com.c (ffecom_expr_intrinsic_): New case for DATE_AND_TIME.
* com-rt.def (FFECOM_gfrtSYSTEM_CLOCK): Call G77_system_clock_0,
not system_clock_.
(FFECOM_gfrtDATE_AND_TIME): New DEFGFRT.
Jeffrey A Law [Sun, 5 Jul 1998 23:59:03 +0000 (23:59 +0000)]
cse.c (cse_insn): Second arg is an RTX now.
* cse.c (cse_insn): Second arg is an RTX now. Update all callers.
(cse_basic_block): Keep track of the current RETVAL insn for a
libcall instead of just noting that we're in a libcall.
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.