Mark Mitchell [Wed, 22 Apr 1998 21:02:01 +0000 (21:02 +0000)]
pt.c (tsubst): Decrease the template-level of TEMPLATE_TEMPLATE_PARMS.
* pt.c (tsubst): Decrease the template-level of
TEMPLATE_TEMPLATE_PARMS. Likewise for the DECL_INITIAL of a
TEMPLATE_PARM_INDEX.
(template_decl_level): New function.
(unify): Make sure to record unifications for template
parameters, even when the parameters exactly match the arguments.
Combine duplicated code for TEMPLATE_TEMPLATE_PARMs and
TEMPLATE_TYPE_PARMS. Don't try to unify template parameters that
aren't from the level we're currently working on.
John Carr [Wed, 22 Apr 1998 12:57:04 +0000 (12:57 +0000)]
emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero if...
* emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
* final.c (split_double): Sign extend both halves of a split CONST_INT.
Fixes a problem compiling on sparcs where STRUCT_VALUE is defined in sparc.h to...
Fixes a problem compiling on sparcs where STRUCT_VALUE is defined in
sparc.h to use gen_rtx_MEM() and then evaluated in an #if directive in
sendmsg.c.
* objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
for gen_rtx(MEM, ...).
final.c (shorten_branches, [...]): Move code to free label_align...
* final.c (shorten_branches, init_insn_lengths): Move code
to free label_align, uid_shuid, insn_lengths, insn_addresses
and uid_align from the former function into the latter one;
Add code to clear these variables.
* sh.h (label_align): Remove declaration.
Fix some problems that resulted in assmebler messages 'Error: pcrel too far'
Fix some problems that resulted in assmebler messages 'Error: pcrel too far'
* sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
(split_branches): Call init_insn_lengths.
H.J. Lu [Mon, 20 Apr 1998 00:01:15 +0000 (00:01 +0000)]
reg-stack.c (subst_asm_stack_regs): Change to return the last new insn generated by this function.
* reg-stack.c (subst_asm_stack_regs): Change to return the last
new insn generated by this function.
(subst_stack_regs): Likewise.
(convert_regs): Record the last newly generated insn and use
it for change_stack () instead of INSN.
fix-header.c (enum special_file): Undefine enumerators if they are already defined by include files.
a
* fix-header.c (enum special_file): Undefine enumerators if they
are already defined by include files.
* fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
macro with '__' to not pollute user namespace.
fix-header.c (enum special_file): Undefine enumerators if they are already defined by include files.
d
* fix-header.c (enum special_file): Undefine enumerators if they
are already defined by include files.
* fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
macro with '__' to not pollute user namespace.
fix-header.c (enum special_file): Undefine enumerators if they are already defined by include files.
�
* fix-header.c (enum special_file): Undefine enumerators if they
are already defined by include files.
* fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
macro with '__' to not pollute user namespace.
David Edelsohn [Sat, 18 Apr 1998 16:16:02 +0000 (16:16 +0000)]
rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be negative in a stackless frame.
* rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
negative in a stackless frame.
* rs6000.c (rs6000_stack_info): Don't include fixed-size link area
in stackless frame size. Support 64-bit stackless frame size.
Combine fpmem offset calculations and don't add total_size to
offset if not pushing a stack frame.
Jim Wilson [Sat, 18 Apr 1998 15:31:36 +0000 (15:31 +0000)]
Patches to make g++/g77 give useful error when no files are given.
* gcc.c (lang_specific_driver): Add new parm type to prototype.
(added_libraries): New file scope static variable.
(process_command): Initialize added_libraries. Pass it to
lang_specific_driver.
(main): Use added_libraries in check for no input files.
John Carr [Sat, 18 Apr 1998 01:24:59 +0000 (01:24 +0000)]
sparc.c, [...]: Many changes related to V9 code generation.
Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
* sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
code generation. Use 64 bit instructions in 32 bit mode when
possible. Use V9 return instruction. UltraSPARC optimizations.
* sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
Mark Mitchell [Fri, 17 Apr 1998 21:25:38 +0000 (21:25 +0000)]
cp-tree.h (type_as_string_real): New function.
Fri Apr 17 21:25:00 1998 Mark Mitchell <mmitchell@usa.net>
* cp-tree.h (type_as_string_real): New function.
* pt.c (mangle_class_name_for_template): Use it.
* error.c (dump_aggr_type): Change prototype.
(dump_type_prefix): Likewise.
(dump_type_suffix): Likewise.
(dump_type_real): Convert from dump_type. If desired, the
"canonica" name of a typedef, i.e., the name of the underlying
type, can be printed.
(dump_type): Call dump_type_real.
* decl2.c (lang_decode_option): -fnew-abi implies -fvtable-thunks.
* typeck.c (comp_target_types): Tweak pedantic case.
(comp_target_parms): Tweak pedantic case. Clean up somewhat.
Return -1 or 1 instead of 1 or 2.
(compparms): Remove STRICT handling.
* typeck.c (comp_target_types): Handle references like pointers.
(comp_target_parms): Note that return code from comp_target_types
can be negative to indicate failure.
* frame.c: Include stdlib.h and unistd.h to possibly get various
function prototypes. The fixproto script guarantees these header
files exist on the target system.
* libgcc2.c: Likewise.
* gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
__gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
function parameters.
* libgcc2.c (__udiv_w_sdiv): Likewise.
Jason Merrill [Fri, 17 Apr 1998 00:26:13 +0000 (00:26 +0000)]
decl.c (duplicate_decls): Fix check for when it's safe to free the new decl.
* decl.c (duplicate_decls): Fix check for when it's safe to free
the new decl.
* pt.c (mangle_class_name_for_template): Don't pass a typedef type
to type_as_string.
From Mark Mitchell:
(unify): Use comptypes to compare type args.
Jeffrey A Law [Thu, 16 Apr 1998 22:00:09 +0000 (22:00 +0000)]
haifa-sched.c (build_control_flow): Accept raw data as inputs instead of computing it locally.
* haifa-sched.c (build_control_flow): Accept raw data as inputs
instead of computing it locally. Callers changed.
(find_rgns): Several new arguments. Callers changed.
Generally clean up and comment better. Use dominators to
identify reducible loops. Convert some flag arrays to bitmaps.
Convert most of the code to work on pred/succ lists instead of
an edge table. Add comments for future improvements.
(schedule_insns): Allocate temporary tables for flow data, call
routines to compute flow data and pass it along to children as
arguments.
(debug_control_flow): Delete. Use dump_bb_data instead.
General cleanup + fix a bug or two.