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.
Daniel Berlin [Mon, 16 Jul 2001 20:02:08 +0000 (20:02 +0000)]
gcse.c: Update comment at top.
* gcse.c: Update comment at top.
Update comment on mem handling.
mem_last_set, mem_first_set, mem_set_in_block: gone.
Declaration of reg_set_info: gone.
(oprs_unchanged_p): Don't use mem_*set_* anymore. They are
pointless with load_killed_in_block_p (they are *more*
conservative then it, not less, and less accurate).
(oprs_not_set_p): Ditto.
(alloc_gcse_mem): Don't allocate mem_set_in_block
(free_gcse_mem): Don't free it, either.
(record_last_mem_set_info): Update comment in front, remove
mem_*set_* stuff. Note the reason we don't handle stores directly
here.
(compute_hash_table): Update comments to reflect reality. Remove
mem_*set_* references.
(reset_opr_set_tables): Remove mem_*set_* references.
(mark_call): Ditto.
(mark_set): Ditto. Also remove double sets of bitmaps for REG's.
(mark_clobber): Ditto (on both parts, we double set here too).
(expr_killed_p): Remove mem_set_in_block test.
(compute_transp): Remove mem_set_in_block test.
Daniel Berlin [Mon, 16 Jul 2001 16:23:40 +0000 (16:23 +0000)]
ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal of edge...
* ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
of edge, and removal of phi alternative to dump file.
(ssa_ccp_substitute_constants): Add note about register now being
constant, and which uses were replaced in what insns to dump file.
Andreas Jaeger [Mon, 16 Jul 2001 09:16:04 +0000 (11:16 +0200)]
gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output variables of type HOST_WIDEST_INT.
* gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
variables of type HOST_WIDEST_INT.
* libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
(__bb_exit_func): Correct type of count_max to avoid overflow.
(num_digits): Handle long long argument.
* machmode.def (Pmode): Redefine if GENERATOR_FILE.
* genrecog.c (maybe_both_true_mode): New.
(maybe_both_true_2): Use it.
(write_switch): Don't put Pmode in a switch.
* rtl.c (mode arrays): Don't explicitly size them.
* config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
(alpha_tablejump_best_label): New.
* config/alpha/alpha-protos.h: Declare them.
* config/alpha/alpha.md: Use braced strings for code blocks.
(tablejump_osf): Break out add with r29.
(tablejump_osf_internal): Remove.
(tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
Jan Hubicka [Sun, 15 Jul 2001 12:00:34 +0000 (14:00 +0200)]
loop.c (scan_loop): Add USEs inside PARALLELs into dependencies of the movable.
* loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
of the movable.
* toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
* i386-protos.h (ix86_split_fp_branch): Update prototype.
(ix86_fp_jump_nontrivial_p): New.
* i386.md (fp_jcc_?): Update call of split_fp_branch;
use ix86_fp_jump_nontrivial_p.
* i386.c (ix86_fp_jump_nontrivial_p): New.
(ix86_split_fp_branch): Accept code instead of rtx.
(ix86_expand_compare): Expand comparison early in case
doing so is resonably cheap.
Phil Edwards [Fri, 13 Jul 2001 20:50:03 +0000 (20:50 +0000)]
std_sstream.h (basic_stringbuf::basic_stringbuf(string): Initialize _M_string with pointer-and-size constructor, not just pointer.
2001-07-13 Phil Edwards <pme@sources.redhat.com>
* include/bits/std_sstream.h (basic_stringbuf::basic_stringbuf(string):
Initialize _M_string with pointer-and-size constructor, not just
pointer. Fix some comments.
* testsuite/21_strings/ctor_copy_dtor.cc (test03): New test.
* testsuite/27_io/stringbuf.cc (test02): Remove unused variable.
(test03): Add embedded-NUL tests.
* mkcheck.in: When printing totals, match the order of the tests.
* include/bits/stringfwd.h: Use same declaration keywords.
* include/bits/std_iosfwd.h: Cosmetic spacing.
Joseph Myers [Fri, 13 Jul 2001 20:40:43 +0000 (21:40 +0100)]
c-common.c (decl_attributes): Take a pointer to the node to which attributes are to be attached...
* c-common.c (decl_attributes): Take a pointer to the node to
which attributes are to be attached, and a flags argument.
* c-common.h (enum attribute_flags): New.
(decl_attributes): Update prototype.
* c-decl.c (start_decl, push_parm_decl, finish_struct,
finish_enum, start_function): Update calls to decl_attributes.
* c-parse.in (component_declarator, component_notype_declarator,
label): Update calls to decl_attributes.
cp:
* decl2.c (cplus_decl_attributes): Take a pointer to the node to
which attributes are to be attached, and a flags argument. Update
call to decl_attributes.
(grokfield): Update call to decl_attributes.
* class.c (finish_struct): Update call to cplus_decl_attributes.
* cp-tree.h (cplus_decl_attributes): Update prototype.
* decl.c (start_decl, grokdeclarator, start_function): Update
calls to decl_attributes and cplus_decl_attributes.
* friend.c (do_friend): Update call to cplus_decl_attributes.
* parse.y (parse_bitfield): Update call to cplus_decl_attributes.
* libjava.compile/anon_ctor_itf_arg.java: Moved to `libjava.lang.'
* libjava.compile/anon_ctor_itf_arg.out: Likewise
* libjava.lang/invoke_from_inner.java: New file.
* libjava.lang/invoke_from_inner.out: Likewise.
* config/avr/avr.md (strlenhi): PARALLEL keyword removed.
* config/avr/avr.c (legitimate_address_p): Return value changed
from letter to register classes. For better debugging.
Marc Espie [Fri, 13 Jul 2001 18:12:22 +0000 (18:12 +0000)]
config.gcc (*-*-openbsd*): Add fragment to compile libgcc correctly for shared configurations.
2001-07-13 Marc Espie <espie@cvs.openbsd.org>
* config.gcc (*-*-openbsd*): Add fragment to compile libgcc
correctly for shared configurations.
* config/t-libgcc-pic: New.
* config/{i386,m68k,sparc}/t-openbsd: New.
* config/openbsd.h: Include cpu_spec in cpp_spec where needed.
Support -shared. Support debugging libraries with -g.
* config/i386/openbsd.h: Correct ASM_COMMENT_START. Ensure dwarf2
frame information does not emit pointer diffs.
* config/sparc/openbsd.h: Ensure dwarf2 frame information does not
emit pointer diffs.