Andreas Schwab [Sat, 27 Sep 1997 03:58:57 +0000 (03:58 +0000)]
frame.c: Include gansidecl.h for PROTO.
* frame.c: Include gansidecl.h for PROTO.
* dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
defined. Don't declare dwarf2out_cfi_label here.
* dwarf2.h: Add declarations of DWARF2 unwind info support
functions.
* m68k.c: Include dwarf2.h.
(output_function_prologue): Add dwarf2 support.
* m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
(INCOMING_FRAME_SP_OFFSET): Likewise.
Update m68k patch from Andreas.
Paul Eggert [Sat, 27 Sep 1997 03:46:35 +0000 (03:46 +0000)]
c-typeck.c (build_binary_op): Warn about comparing signed vs unsigned if...
* c-typeck.c (build_binary_op): Warn about comparing signed vs
unsigned if -W is specified and -Wno-sign-compare is not.
* c-decl.c (warn_sign_compare): Initialize to -1.
(c_decode_option): -Wall no longer implies -Wsign-compare.
Jason Merrill [Thu, 25 Sep 1997 18:56:40 +0000 (18:56 +0000)]
Handle multi-level typenames and implicit typename in base list.
* parse.y (typename_sub{,[0-2]}): New rules.
(structsp, rule TYPENAME_KEYWORD): Use typename_sub.
(nonnested_type): New rule.
(complete_type_name): Use it.
(base_class.1): Use typename_sub and nonnested_type.
(nested_name_specifier): Don't elide std:: here.
* decl.c (make_typename_type): Handle getting a type for NAME.
(lookup_name_real): Turn std:: into :: here.
Rvalue conversions were removed in London.
* call.c (is_subseq): Don't consider lvalue transformations.
(build_conv): LVALUE_CONV and RVALUE_CONV get IDENTITY_RANK.
(joust): Reenable ?: kludge.
sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
* sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
* sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
(sparc_align_{loops,jumps,funcs}): New globals.
(sparc_override_options): Handle -malign-loops=, -malign-jumps=,
-malign-functions=.
(move_operand): Use SPARC_SETHI_P.
(arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
perform test.
(arith11_double_operand): Likewise.
(arith10_double_operand): Likewise.
(finalize_pic): Finish sparc64 support.
(emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
64 bit constants if able.
(output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
(sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
! TARGET_FPU.
* sparc.h (ASM_COMMENT_START): Define.
* sparc.c (output_function_prologue): Use it.
(sparc_flat_output_function_{epi,pro}logue): Likewise.
* sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
(get_pc_sp32): Use for sparc64 as well.
(lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
(sethi_di_sp64_const): Likewise.
(movtf_cc_sp64): Check TARGET_HARD_QUAD.
(cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
(ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
Jeff Law [Tue, 23 Sep 1997 18:35:51 +0000 (12:35 -0600)]
fold-const.c (make_range): Correctly handle cases of converting from unsigned to signed type.
* fold-const.c (make_range): Correctly handle cases of converting
from unsigned to signed type.
* fold-const.c (merge_ranges): Make sure that if one range is subset
of another, it will always be the second range. Correct (+,-) case to
account for this.
David S. Miller [Tue, 23 Sep 1997 07:14:07 +0000 (07:14 +0000)]
reorg.c (dbr_schedule): At end of this pass...
* reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
note holding get_jump_flags() calculation to all JUMP_INSNs.
* rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
* rtl.c (reg_note_name): Add new note types.
Jeffrey A Law [Mon, 22 Sep 1997 03:04:36 +0000 (03:04 +0000)]
loop.c (loop_number): Delete function.
* loop.c (loop_number): Delete function. Change all references
to use uid_loop_num array.
* loop.h (loop_number): Delete declaration.
* unroll.c (unroll_loop): Change "loop_number" references to
use uid_loop_num instead.
Still cleaning up haifa.
* jump.c (jmp_uses_reg_or_mem): Deleted unused function.
(find_basic_blocks): Use computed_jump_p to determine if a
particular JUMP_INSN is a computed jump.
* reg-stack.c (find_blocks): Use computed_jump_p to determine
if a particular JUMP_INSN is a computed jump.
* rtlanal.c (jmp_uses_reg_or_mem): New function.
(computed_jump_p): Likewise.
* rtl.h (computed_jump_p): Declare.
* genattrtab.c (pc_rtx): Define and initialize.
* loop.c (loop_optimize): Always determine if the current
function has a computed jump.
(indirect_jump_in_function_p): Use computed_jump_p to determine
if a particular JUMP_INSN is a computed jump.
General (and haifa) cleanups.
Jeffrey A Law [Fri, 19 Sep 1997 05:16:54 +0000 (05:16 +0000)]
proj.h (FFEPROJ_BSEARCH): Delete all references.
* proj.h (FFEPROJ_BSEARCH): Delete all references.
(FFEPROJ_STRTOUL): Likewise.
* proj.c (bsearch): Compile this if no bsearch is provided by the
host system.
(strtoul): Similarly.
Jeffrey A Law [Fri, 19 Sep 1997 05:14:32 +0000 (05:14 +0000)]
configure.in (strtoul, bsearch): Have autoconf check for these functions.
* configure.in (strtoul, bsearch): Have autoconf check for these
functions.
* configure, config.in: Rebuilt.
So Fortran front end can use HAVE_STRTOUL and HAVE_BSEARCH.
Jeffrey A Law [Fri, 19 Sep 1997 03:12:55 +0000 (03:12 +0000)]
xm-mot3300.h (alloca): Properly declare if __STDC__.
* m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
* mips/mips.h (alloca): Likewise.
* rs6000/xm-rs6000.h (alloca): Likewise.
* rs6000/xm-sysv4.h: Likewise.
Fixes build problem when using an ANSI compiler that isn't gcc.
Jason Merrill [Thu, 18 Sep 1997 23:33:56 +0000 (23:33 +0000)]
final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
* final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
* dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
(dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
* except.c (end_eh_unwinder): Subtract 1 from return address.
* libgcc2.c (__throw): Likewise.
(find_exception_handler): Don't change PC here. Compare end with >.
configure.in, configure: Make sure to create the stage* and include symbolic links in each subdirectory...
* configure.in, configure: Make sure to create the stage* and include
symbolic links in each subdirectory, as we do in configure.lang for
non-autoconf configurations.
configure.in, configure: Make sure to create the stage* and include symbolic links in each subdirectory...
* configure.in, configure: Make sure to create the stage* and include
symbolic links in each subdirectory, as we do in configure.lang for
non-autoconf configurations.