Stan Shebs [Fri, 31 May 2002 19:41:45 +0000 (19:41 +0000)]
c-decl.c (struct binding_level): Change int field n_incomplete to tree list incomplete_list.
2002-05-31 Stan Shebs <shebs@apple.com>
Turly O'Connor <turly@apple.com>
* c-decl.c (struct binding_level): Change int field n_incomplete
to tree list incomplete_list.
(clear_binding_level): Init field with NULL.
(pushdecl): Add incomplete type to list.
(mark_binding_level): Mark the incomplete list.
(finish_struct): Scan the incomplete list for types instead
of all decls in the current binding level.
Jan Hubicka [Fri, 31 May 2002 11:43:18 +0000 (13:43 +0200)]
gcse.c (gcse_emit_move_after): New.
* gcse.c (gcse_emit_move_after): New.
(pre_delete, hoist_store): Use it.
* reload1.c (emit_input_reload_insns): Use constrain_operands
instead of constraint_accepts_reg_p to verify optimization.
(constraint_accepts_reg_p): Kill
* reload1.c (reload_cse_delete_noop_set): Kill.
(reload_cse_simplify): use delte_insn_and_edges.
Florian Weimer [Fri, 31 May 2002 10:47:33 +0000 (12:47 +0200)]
Makefile.in, [...]: Documentation is now built in Make-lang.in.
2002-05-31 Florian Weimer <fw@deneb.enyo.de>
* Makefile.in, Make-lang.in: Documentation is now built in
Make-lang.in. Store Info and generated Texinfo files in the
source directory.
* gnat_ug.texi: Remove CVS keywords, correct version number.
Set file name correctly.
Jason Thorpe [Fri, 31 May 2002 04:23:14 +0000 (04:23 +0000)]
ns32k.h: Define named constants for the bits in target_flags and use them.
* config/ns32k/ns32k.h: Define named constants for the
bits in target_flags and use them.
* config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0 architecture and pa/pa-7100.h for...
2002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
* config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
* pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
default scheduling model.
* pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
* pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
* pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
* doc/install.texi (hppa*-*-*): Document default scheduling.
Jason Thorpe [Fri, 31 May 2002 02:51:23 +0000 (02:51 +0000)]
config.gcc (ns32k-*-netbsd*): Set tm_file to "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
* config.gcc (ns32k-*-netbsd*): Set tm_file to
"${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
* config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
netbsd.h, or netbsd-aout.h.
Eric Botcazou [Thu, 30 May 2002 21:33:32 +0000 (21:33 +0000)]
expmed.c (const_mult_add_overflow_p): New.
* expmed.c (const_mult_add_overflow_p): New.
* expr.h: Declare it.
* loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
Don't eliminate the biv if the giv has a constant multiplier and
the rhs argument of the comparison does satisfy the predicate.
Use expand_mult_add to compute the replacement constant.
* flow.c (propagate_one_insn): Revise yesterday's patch. Delete
a dead insn with a REG_RETVAL note when the entire libcall is not
dead and remove the associated REG_LIBCALL note at the same time.
J"orn Rennecke [Thu, 30 May 2002 18:58:31 +0000 (18:58 +0000)]
lcm.c (output.h): #include.
* lcm.c (output.h): #include.
(compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
as an ordinary block.
(optimize_mode_switching): Don't pretend that the exit block is
an ordinary block, or handle sucessors of entry block specially.
Instead, split edges from entry block and to exit block, and
put a computing definition on the thus gained post-entry-block,
and a need on the pre-exit-block.
Zack Weinberg [Thu, 30 May 2002 18:39:02 +0000 (18:39 +0000)]
ada.h: Add MI guard macro.
* ada.h: Add MI guard macro.
(SUBTYPE): Define constants with an anonymous enum, not static
const variables.
(IN): Cast constants to appropriate type before use.
Kazu Hirata [Thu, 30 May 2002 01:35:12 +0000 (01:35 +0000)]
h8300-protos.h: Remove prototypes for ok_for_bclr and small_power_of_two.
* config/h8300/h8300-protos.h: Remove prototypes for
ok_for_bclr and small_power_of_two.
* config/h8300/h8300.c (small_power_of_two): Remove.
(ok_for_blcr): Likewise.
(fix_bit_operand): Make WHAT deal with an integer instead of a
constraint character.
* config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
(CONST_OK_FOR_P): Likewise.
(CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
CONST_OK_FOR_P any more.
* config/h8300/h8300.md (andqi3): Adjust to the new prototype
of fix_bit_operand.
(iorqi3): Likewise.
(xorqi3): Likewise.
Jason Thorpe [Thu, 30 May 2002 01:29:29 +0000 (01:29 +0000)]
netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
* config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
(CPP_PREDEFINES): Make sure this is undefined.
(CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
since it is no longer in CPP_PREDEFINES. Don't -U__MIPSEL__
or -U__MIPSEB__ before defining one or the other. Instead,
use %(subtarget_endian_default) if neither -EB nor -EL are
specified.
(SUBTARGET_EXTRA_SPECS): Define.
(SUBTARGET_CPP_SPEC): Remove __LONG64 handling. Use
%(netbsd_cpp_spec).
Aldy Hernandez [Thu, 30 May 2002 00:54:18 +0000 (00:54 +0000)]
rs6000.c: (altivec_expand_builtin): Only expand altivec builtins when TARGET_ALTIVEC.
2002-05-29 Aldy Hernandez <aldyh@redhat.com>
* rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
when TARGET_ALTIVEC. Move handling of generic unary, binary, and
ternary operations from here...
(rs6000_expand_builtin): ...to here.
New argument expandedp.
Change all instances of altivec_expand_binop_builtin to
rs6000_expand_binop_builtin.
(altivec_expand_unop_builtin): Rename to
rs6000_expand_unop_builtin.
(altivec_expand_binop_builtin): Rename to
rs6000_expand_binop_builtin.
(altivec_expand_ternop_builtin): Rename to
rs6000_expand_ternop_builtin.
biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
* config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
(TARGET_BI_ARCH): Likewise.
* config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
(TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
(TARGET_64BIT_DEFAULT): Default to 0.
(TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
* config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
(get_pc_thunk_name): New.
(output_set_got): Use it.
(ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
into linkonce sections.
Jason Thorpe [Wed, 29 May 2002 23:50:56 +0000 (23:50 +0000)]
netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
* config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
(CPP_PREDEFINES): Make sure this is undefined.
(CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
(CPP_SUBTARGET_SPEC): Don't provide different versions for
default-32 and default-64. Just always use %(netbsd_cpp_spec).
(SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
cpp_subtarget_spec64. Add netbsd_cpp_spec.
* config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
(CPP_PREDEFINES): Make sure this is undefined.
(SUBTARGET_EXTRA_SPECS): Define.
(CPP_SPEC): Use %(netbsd_cpp_spec).
* config/i386/i386.c (ix86_output_function_epilogue): New.
(TARGET_ASM_FUNCTION_EPILOGUE): New.
(pic_label_name): Remove.
(pic_labels_used): New.
(ix86_asm_file_end): Emit one pc load stub for each register used.
(output_set_got): Generate deep pc load to any register.
(ix86_select_alt_pic_regnum): New.
(ix86_save_reg): Don't save pic register if we can find a valid
call-clobbered replacement.
(ix86_expand_prologue): If we found a valid replacement, renumber
pic_offset_table_rtx.
* config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
pic_offset_table_rtx after reload.
(REAL_PIC_OFFSET_TABLE_REGNUM): New.
* config/i386/i386.md (set_got): Make insn, not expander.
(set_got_nopic, set_got_deep, set_got_nodeep): Remove.
* config/i386/i386.c (output_pic_addr_const): Lowercase rip.
(print_operand_address): Only add rip for symbolic addresses
for which we do not have another relocation type.
Jeff Law [Wed, 29 May 2002 19:55:34 +0000 (13:55 -0600)]
Revert this patch:
- * haifa-sched.c (schedule_block): Do not count USE and CLOBBER
- insns against the issue rate.
-
- * sched-deps.c (sched_create_groups_for_libcalls): New function.
- (sched_analyze): Use it.
Ulrich Weigand [Wed, 29 May 2002 18:36:50 +0000 (18:36 +0000)]
configure.host [...]: Set can_unwind_signal=yes.
* configure.host [s390*-linux*]: Set can_unwind_signal=yes.
* configure.in [s390*-*-linux*]: Do not define HAVE_BACKTRACE.
Set SIGNAL_HANDLER=include/s390-linux.h.
* configure: Regenerate.
* include/s390-linux.h: New file.
Nick Clifton [Wed, 29 May 2002 18:05:08 +0000 (18:05 +0000)]
fr30.md: Remove previous restriction on splits.
* config/fr30/fr30.md: Remove previous restriction on splits.
Enforce conformance through gen_lowpart and cont_int_operand.
* config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
as the assembler does not support ".bss".
PR target/6838
* config/cris/cris.md: Fix typos and thinkos in comments.
("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
second alternative.
("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
("*mov_sideqi_mem"): Similar, but for operand 3.
("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
(splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
Remove spurious mode specifier on operand 2.
Kazu Hirata [Wed, 29 May 2002 14:20:40 +0000 (14:20 +0000)]
h8300-protos.h: Remove the prototype for o_operand.
* config/h8300/h8300-protos.h: Remove the prototype for
o_operand.
Add prototypes for single_one_operand and single_zero_operand.
* config/h8300/h8300.c (o_operand): Remove.
(single_one_operand): New.
(single_zero_operand): Likewise.
(print_operand): For 'V' operand, and the operand with 0xff.
For 'V' and 'W' operands, do not and the bit position with 7.
* config/h8300/h8300.md (various anonymous patterns): Replace
use of exact_log2 with single_one_operand/single_zero_operand.
Ulrich Weigand [Wed, 29 May 2002 13:23:52 +0000 (13:23 +0000)]
s390.c (legitimate_pic_operand_p): Do not accept symbolic LARL operands.
* config/s390/s390.c (legitimate_pic_operand_p): Do not
accept symbolic LARL operands.
(s390_emit_epilogue): Do not set FRAME_RELATED_P on
epilogue insns.
* config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
not current_function_uses_pic_offset_table and
current_function_uses_const_pool; examine current_function_profile.
(ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
input to blockage if needed.
(ix86_expand_call): Do not set current_function_uses_pic_offset_table.
(legitimize_pic_address): Likewise. Set regs_ever_live for
pic_offset_table_rtx when invoked during reload.
* config/i386/i386.h (FINALIZE_PIC): Remove.
* config/i386/i386.md (tablejump): Reformat. Do not set
current_function_uses_pic_offset_table.
(tls_global_dynamic, tls_local_dynamic_base): Likewise.
(blockage): Accept anything as operand 0.
Jason Thorpe [Wed, 29 May 2002 01:12:56 +0000 (01:12 +0000)]
netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define common CPP built-ins for all NetBSD a.out targets.
* config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
common CPP built-ins for all NetBSD a.out targets.
* config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
common CPP built-ins for all NetBSD ELF targets.
* config/netbsd.h: Add missing notice.
(NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
for all NetBSD targets.
(NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
for all NetBSD targets using an LP64 code model.
(NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
NetBSD targets.
Phil Edwards [Tue, 28 May 2002 23:15:18 +0000 (23:15 +0000)]
Makefile.am (noinst_LIBRARIES): New target.
2002-05-28 Phil Edwards <pme@gcc.gnu.org>
* testsuite/Makefile.am (noinst_LIBRARIES): New target. Pull in
CXX/INCLUDES.
* testsuite/Makefile.in: Regenerate.
* testsuite/testsuite_hooks.h (gnu_copy_tracker): Move from
list_modifiers.cc and rename from 'T'. Move code bodies...
* testsuite/testsuite_hooks.cc: ...to here. New file.
* testsuite/23_containers/list_modifiers.cc: Move 'T' class out.
* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3_target_compile):
Add libv3test.a to link options.
J"orn Rennecke [Tue, 28 May 2002 22:26:43 +0000 (22:26 +0000)]
config/sh reorganization to factor out endianness and coff:
* config/sh/little.h: New file.
* config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
defined, define to 0 to select big-endian.
(SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
(TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
* config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
* config/sh/t-be: New file.
* config/sh/t-le: New file.