m68hc11.md ("movdi", [...]): Use an expand to emit the pattern; put a REG_INC note for push/pop instructions.
* config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
expand to emit the pattern; put a REG_INC note for push/pop
instructions.
("movdf", "movdf_internal"): Likewise.
("movsi", "movsi_internal"): Likewise.
("movsf", "movsf_internal"): Likewise.
("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
com.c (ffecom_expr_intrinsic_): case FFEINTRIN_impIBITS: Remove TREE_SHIFT_FULLWIDTH define.
2001-07-20 Toon Moene <toon@moene.indiv.nluug.nl>
* com.c (ffecom_expr_intrinsic_):
case FFEINTRIN_impIBITS: Remove TREE_SHIFT_FULLWIDTH define.
case FFEINTRIN_impISHFT: Ditto. Change LT_EXPR to NE_EXPR.
case FFEINTRIN_impISHFTC: Ditto.
case FFEINTRIN_impMVBITS: Ditto.
Jan Hubicka [Fri, 20 Jul 2001 11:30:13 +0000 (13:30 +0200)]
integrate.c (copy_insn_list): handle NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
* integrate.c (copy_insn_list): handle
NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
(copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
identically as to CODE_LABEL.
* fold-const (fold): Convert A/B/C to A/(B*C) and
A/(B/C) to (A/B)*C
* except.c (connect_post_landing_pads): Delete the RESX insns.
Mark Mitchell [Fri, 20 Jul 2001 02:38:57 +0000 (02:38 +0000)]
reorg.c (fill_simple_delay_slots): If an instruction might throw an exception that will be caught within this...
* reorg.c (fill_simple_delay_slots): If an instruction might throw
an exception that will be caught within this function, do not fill
its delay slot with any subsequent instruction.
* optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
pointer extension instruction.
* combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
* simplify-rtx.c (simplify_unary_operation) Likewise.
* explow.c (convert_memory_address) Check value of
POINTERS_EXTEND_UNSIGNED to avoid some conversions when
less than zero.
* config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
* config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
Add Multilib Support.
(POINTERS_EXTEND_UNSIGNED) Define for ILP32 support.
* config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
Add Multilib Support.
(POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
support.
* config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
* config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
reload1.c (eliminate_regs_in_insn): When updating a set to the frame pointer to the hardware frame pointer...
* reload1.c (eliminate_regs_in_insn): When updating a set
to the frame pointer to the hardware frame pointer, perform
the update always not just when REPLACE is set.
Mark Mitchell [Thu, 19 Jul 2001 04:27:16 +0000 (04:27 +0000)]
class.c (type_requires_array_cookie): New function.
* class.c (type_requires_array_cookie): New function.
(check_methods): Don't try to figure out whether the type needs a
cookie here.
(check_bases_and_members): Set TYPE_VEC_NEW_USES_COOKIE here.
* cp-tree.h (TYPE_VEC_DELETE_TAKES_SIZE): Remove.
(TYPE_VEC_NEW_USES_COOKIE): Reimplement.
* pt.c (instantiate_class_template): Don't set
TYPE_VEC_DELETE_TAKES_SIZE.
* NEWS: Document ABI changes from GCC 3.0.
configure.in (_XOPEN_SOURCE, [...]): Move these defines before tests which might be affected by them.
2001-07-18 Toon Moene <toon@moene.indiv.nluug.nl>
* libI77/configure.in (_XOPEN_SOURCE, _FILE_OFFSET_BITS): Move
these defines before tests which might be affected by them.
(_XOPEN_SOURCE_EXTENDED): Define.
* libI77/configure, libI77/config.h.in: Regenerate.
natPlainDatagramSocketImpl.cc (mcastGrp): Use new RFC 2533 socket options IPV6_JOIN_GROUP...
* java/net/natPlainDatagramSocketImpl.cc (mcastGrp): Use new RFC
2533 socket options IPV6_JOIN_GROUP, IPV6_LEAVE_GROUP, falling
back to old RFC 2133 variants if missing.
Tom Tromey [Wed, 18 Jul 2001 17:18:55 +0000 (17:18 +0000)]
For PR java/2812:
* lex.h: Use HAVE_ICONV, not HAVE_ICONV_H.
* lex.c (java_new_lexer): Use ICONV_CONST.
(java_read_char): Likewise.
* Make-lang.in (jc1$(exeext)): Link against LIBICONV.
(jv-scan$(exeext)): Likewise.
flow.c (redirect_edge_and_branch): Bail out on complex edges.
* flow.c (redirect_edge_and_branch): Bail out on complex edges.
(try_optimize_cfg): Do not remove tail recursive labels before sibcall.
* jump.c (mark_jump_label): Do not forward branches.
Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r44118
Stephen M. Webb [Wed, 18 Jul 2001 17:09:02 +0000 (17:09 +0000)]
All occurrences of the __value_type() and __distance_type() functions...
2001-07-17 Stephen M. Webb <stephen@bregmasoft.com>r
All occurrences of the __value_type() and __distance_type()
functions, which were required to support the HP STL, have been
removed along with all the auxiliary forwarding functions that
were required to support their use.
The __iterator_category() function was pretty much left alone
because there was no benefit to removing it and its use made code
just a little more readable.
Incidences of distance() with nonstandard argument list were
replaced by calls to the standard function (only in the files
affected by the removal of the other HP functions).
The signature of the rotate() algorithm was changed to match the
standard.
Headers were reformatted under C++STYLE guidelines (indentation,
linebreaks, typename keyword).
* include/bits/stl_algo.h: replaced __value_type() and
__distance_type() with iterator_traits, eliminated auxiliary
support functions required to support said function usage.
Changed nonstandard distance() call to standard call.
* include/bits/stl_algobase.h: Same.
* include/bits/stl_heap.h: Same.
* include/bits/stl_numeric.h: Same.
* include/bits/stl_uninitialized.h: Same.
* include/bits/stl_iterator_base_types.h (__value_type()):
Removed.
(__distance_type()): Removed.
(value_type()): Gone.
(distance_type()): Done in.
(iterator_category()): Hasta la vista, baby.
* include/bits/stl_iterator_base_funcs.h (iterator_category()):
Replaced with __iterator_category().
* include/backward/iterator.h: moved definition of value_type(),
distance_type(), and iterator_category() out of std:: and into
here.
* testsuite/23_containers/vector_ctor.cc (test03): New testcases.
* testsuite/23_containers/vector_modifiers.cc (test03): New testcases.
* testsuite/25_algorithms/rotate.cc: New testcase.
* testsuite/25_algorithms/copy.cc: New testcase.
* testsuite/25_algorithms/sort.cc: Same.
* testsuite/25_algorithms/heap.cc: Same.
* testsuite/25_algorithms/partition.cc: Same.
* testsuite/25_algorithms/binary_search.cc: Same.
* testsuite/26_numerics/sum_diff.cc: Ditto.
configure.in (_XOPEN_SOURCE, [...]): Move these defines before tests which might be affected by them.
* libU77/configure.in (_XOPEN_SOURCE, _FILE_OFFSET_BITS): Move
these defines before tests which might be affected by them.
(_XOPEN_SOURCE_EXTENDED): Define.
calls.c (prepare_call_address): New parameter SIBCALLP.
* calls.c (prepare_call_address): New parameter SIBCALLP. If true,
don't force the function address into a register.
(expand_call, emit_library_call_value_1): Update callers.
* builtins.c (expand_builtin_apply): Likewise.
* expr.h (prepare_call_address): Update decl.
config.gcc: For *-*-chorusos triplet, get chorus.h file from config directory.
* config.gcc: For *-*-chorusos triplet, get chorus.h file from
config directory.
* config/i386/chorus.h: Move up.
* config/sparc/chorus.h: Likewise.
* config/rs6000/chorus.h: Likewise.
* config/chorus.h: Moved here
Benjamin Kosnik [Tue, 17 Jul 2001 18:47:34 +0000 (18:47 +0000)]
README: Add notes on naming test cases.
2001-07-17 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/README: Add notes on naming test cases.
* testsuite/22_locale/members.cc: Mark as xfail.
* testsuite/22_locale/numpunct_char_members.cc: Same.
Benjamin Kosnik [Tue, 17 Jul 2001 18:43:28 +0000 (18:43 +0000)]
README: Add notes on naming test cases.
2001-07-17 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/README: Add notes on naming test cases.
* testsuite/22_locale/members.cc: Mark as xfail.
* testsuite/22_locale/numpunct_char_members.cc: Same.
Jan Hubicka [Tue, 17 Jul 2001 15:11:56 +0000 (17:11 +0200)]
combine.c (combine_simplify_rtx): Attempt to simplify a*(b/c) as (a*b)/c for floats in unsafe_math mode.
* combine.c (combine_simplify_rtx): Attempt to simplify
a*(b/c) as (a*b)/c for floats in unsafe_math mode.
* simplify-rtx.c (avoid_constatn_pool_reference): New static function.
(simplify_binary_operation, simplify_unary_operation,
simplify_relational_operation): Use it.
* combine.c (combine_simplify_rtx): Don't do associative law
on divisions; allow associative law on floats.
H.J. Lu [Tue, 17 Jul 2001 12:55:19 +0000 (12:55 +0000)]
c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and ASM_OUTPUT_WEAK_ALIAS are defined.
* c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
ASM_OUTPUT_WEAK_ALIAS are defined.
* defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
* config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
Moved ...
* config/mips/iris5.h: ... here.
(HANDLE_SYSV_PRAGMA): Defined as 1.
* varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
* doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
symbol.
Joseph Myers [Tue, 17 Jul 2001 11:58:54 +0000 (12:58 +0100)]
c-parse.in (all_prefix_attributes): New variable.
* c-parse.in (all_prefix_attributes): New variable.
(PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
(maybe_resetattrs): New production.
(c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
notype_initdcl, nested_function, notype_nested_function,
component_decl, components, components_notype,
component_declarator, component_notype_declarator,
absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
ivars, mydecl, myparm): Update. Avoid prefix attributes just
after a comma being applied to more than one declarator.
* doc/extend.texi (Attribute Syntax): Update. Remove
documentation of bugs that are no longer present.
testsuite:
* gcc.c-torture/compile/20010714-1.c, gcc.dg/format/attr-4.c: New
tests.
* config/m68k/m68k.c: Include expr.h and reload.h.
(print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
[general int]: Use HOST_WIDE_INT_PRINT_DEC.
Daniel Berlin [Tue, 17 Jul 2001 06:44:57 +0000 (06:44 +0000)]
cse.c (set_live_p): Take INSN argument for cc0; update callers.
* cse.c (set_live_p): Take INSN argument for cc0; update callers.
(insn_live_p): Fix fall off end of function.
(dead_libcall_p): Remove COUNTS argument; update callers.
(delete_trivially_dead_insns): Remove unused variables.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r44064
Jan Hubicka [Mon, 16 Jul 2001 20:54:44 +0000 (22:54 +0200)]
basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
* basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
* except.c (finish_eh_generation): Update call of cleanup_cfg;
do rebuild_jump_labels instead of jump_optimize
* sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
* toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
* flow.c (try_optimize_cfg): Remove unneeded code_labels.
* flow.c: Include timevar.h
(find_basic_block): Push/pop timevar;
(cleanup_cfg): Likewise.
* timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
* Makefile: Add dependencies on timevar.h
* integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
(copy_insn_list): Avoid killing of BASIC_BLOCK notes.
* rtl.h (delete_trivially_dead_insns): Add new parameter.
* toplev.c (rest_of_compilation): Update calls.
* cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
(delete_trivially_dead_insns): ... here; accept new argument
preserve_basic_blocks; preserve basic blocks if set.
* reg-stack.c (stack_regs_mentioned): Return 0 if
stack_regs_mentioned_data is not initialized.
(reg_to_stack): Make stack_regs_mentioned survive after the
reg-stack is completted; do not call cleanup_cfg.
* toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
make cleanup_cfg after bb-reorder to output to debug file.