Jim Wilson [Tue, 5 May 1998 15:37:37 +0000 (15:37 +0000)]
Fix old -pedantic error I noticed while reviewing patch from Ulrich.
* c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
accept 'a' flag. 'S' does accept 'a' flag.
(check_format_info): When pedantic, warn for m/C/S/a/A formats,
and `a' flag.
Andreas Schwab [Tue, 5 May 1998 01:54:21 +0000 (01:54 +0000)]
m68k.h: Declare functions from m68k.c used in macros and machine description.
* config/m68k/m68k.h: Declare functions from m68k.c used in
macros and machine description.
(ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
long values.
(ASM_OUTPUT_FLOAT): Likewise.
(ASM_OUTPUT_FLOAT_OPERAND): Likewise.
Jason Merrill [Tue, 5 May 1998 01:28:34 +0000 (21:28 -0400)]
tree.def: Add NAMESPACE_DECL.
* tree.def: Add NAMESPACE_DECL.
* dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
* dwarf2out.c (push_decl_scope): Likewise.
(scope_die_for): Likewise.
* tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
how to get next context level.
Robert Lipe [Sun, 3 May 1998 22:15:49 +0000 (22:15 +0000)]
Make UnixWare 7 bootstrap support work with final shipping product.
d
Make UnixWare 7 bootstrap support work with final shipping product.
* configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
Pick up xm-siglist and xm-alloca.
(xm_defines): Add USG so dbxout will build.
* configure: Regenerate.
Robert Lipe [Sun, 3 May 1998 22:15:48 +0000 (22:15 +0000)]
Make UnixWare 7 bootstrap support work with final shipping product.
a
Make UnixWare 7 bootstrap support work with final shipping product.
* configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
Pick up xm-siglist and xm-alloca.
(xm_defines): Add USG so dbxout will build.
* configure: Regenerate.
Robert Lipe [Sun, 3 May 1998 22:15:46 +0000 (22:15 +0000)]
Make UnixWare 7 bootstrap support work with final shipping product.
�
Make UnixWare 7 bootstrap support work with final shipping product.
* configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
Pick up xm-siglist and xm-alloca.
(xm_defines): Add USG so dbxout will build.
* configure: Regenerate.
* sparc.c (sparc_override_options): Force stack bias off for !arch64.
Care for flag_pcc_struct_return default.
(output_move_quad): Rewrite to move by halves on v9 and in the
proper direction.
(move_quad_direction): New function.
(output_fp_move_quad): Use it to determine the direction of copy.
(function_arg_slotno): Return -1 for FP reg overflow as well.
(function_arg_record_value*): New functions.
(function_arg): Use them. Streamline unprototyped parameter passing.
(function_arg_pass_by_reference): Pass TCmode by reference.
(function_value): New function.
* sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
long long in 64-bit mode.
(RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
(DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
(BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
(BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
(BASE_INCOMING_ARG_REG): Likewise.
(FUNCTION_VALUE): Call function_value.
(FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
* sparc.md (movdi_sp32_v9): Disable for arch64.
(movsf, movdf, movtf): Sort all ulternatives using fp regs first.
(call_value_address_sp64): Remove register class constraints.
(call_value_symbolic_sp64): Likewise.
(nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
v9 case to 32-bit constants.
(goto_handler_and_restore_v9): Provide a version for arch64.
* sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
* sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
(CPP_PREDEFINES): New.
* sparc/sp64-elf.h: Likewise.
(PREFERRED_DEBUGGING_TYPE): Dwarf2.
(ASM_OUTPUT_DWARF2_ADDR_CONST): New.
* sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
J"orn Rennecke [Fri, 1 May 1998 17:40:53 +0000 (17:40 +0000)]
reload.c (find_reloads): Emit USEs to mark where a pseudo is reloaced with the MEM of its stack slot.
* reload.c (find_reloads): Emit USEs to mark where a pseudo
is reloaced with the MEM of its stack slot.
* reload1.c (cannot_omit_stores): Delete.
(reload): Don't initialize it.
Don't apply avoid_return_reg logic to USEs.
When done, remove USEs that have a REG_EQUAL note on them.
(emit_reload_insns): Handle case where we have inherited a MEM.
(delete_output_reload): Don't use cannot_omit_stores.
Nick Clifton [Tue, 28 Apr 1998 08:26:56 +0000 (08:26 +0000)]
At the suggestion of Richard Earnshaw I have changed GO_IF_LEGITIMATE_ADDRESS...
At the suggestion of Richard Earnshaw I have changed GO_IF_LEGITIMATE_ADDRESS
so that it tests for equality to frame-pointer-rtx rather than
FRAME_POINTER_REGNUM.
Jim Wilson [Mon, 27 Apr 1998 18:39:07 +0000 (18:39 +0000)]
Fix hppa miscompilation bug reported by Manfred Hollstein.
* loop.c (check_dbra_loop): New locals jump, first_compare, and
compare_and_branch. Call get_condition to set first_compare.
Set compare_and_branch to number of compare/branch instructions.
Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
Replace '2' with compare_and_branch.
Mark Mitchell [Mon, 27 Apr 1998 14:02:45 +0000 (14:02 +0000)]
decl.c (maybe_push_to_top_level): Always clear current_template_parms and processing_template_decl.
* decl.c (maybe_push_to_top_level): Always clear
current_template_parms and processing_template_decl.
(pushtag): Remove check of current_class_type and some comments,
since maybe_push_to_top_level no longer creates confusion.
hostnm_.c (G77_hostnm_0): Fix off-by-one error that was trashing the byte just beyond the CHARACTER*(*)...
Sun Apr 26 09:13:41 1998 Craig Burley <burley@gnu.org>
* libU77/hostnm_.c (G77_hostnm_0): Fix off-by-one error
that was trashing the byte just beyond the CHARACTER*(*)
argument.
Mark Mitchell [Sun, 26 Apr 1998 16:30:11 +0000 (16:30 +0000)]
cp-tree.h (CLASSTYPE_IS_TEMPLATE): New macro.
* cp-tree.h (CLASSTYPE_IS_TEMPLATE): New macro.
(DECL_CLASS_TEMPLATE_P): Likewise.
(DECL_PRIMARY_TEMPLATE): Likewise.
(PRIMARY_TEMPLATE_P): Use it.
(push_template_decl_real): New function.
(redeclare_class_template): Take new template parameters as
input.
(is_specialization_of): New function.
(comp_template_args): Declare.
* decl.c (pushtag): Handle friend template classes.
(xref_tag): Likewise. Use new calling convention for
redeclare_class_template.
* decl2.c (grok_x_components): Handle friend templates.
* friend.c (is_friend): Use is_specialization_of where
appropriate. Deal with friend class templates.
(make_friend_class): Let a class template be friends with itself.
* pt.c (comp_template_args): Remove declaration.
(tsubst_friend_class): New function.
(push_template_decl_real): New function.
(push_template_decl): Use it.
(redeclare_class_template): Adjust for new calling convention.
(comp_template_args): Give it external linkage.
(instantiate_class_type): Use tsubst_friend_class to deal
with friend templates.
* typeck.c (comptypes): Use comp_template_args, rather than
expanding it inline.
* parse.y (component_decl): Handle a nested template type
like other component type declarations.
John Carr [Sat, 25 Apr 1998 16:09:24 +0000 (16:09 +0000)]
alias.c (alias_invariant): New variable.
* alias.c (alias_invariant): New variable.
(record_base_value): New argument INVARIANT.
(memrefs_conflict_p): If a register has an entry in the alias_invariant
array, try substituting that value for the register.
* rtl.h: Declare record_base_value.
* loop.c, unroll.c: Update callers of record_base_value.
* alias.c (find_base_value, find_base_term): SIGN_EXTEND and
ZERO_EXTEND do not affect base values.