Janis Johnson [Mon, 5 May 2003 23:09:47 +0000 (23:09 +0000)]
struct-by-value-1_main.c: New test file.
2003-05-05 Janis Johnson <janis187@us.ibm.com>
* gcc.dg/compat/struct-by-value-1_main.c: New test file.
* gcc.dg/compat/struct-by-value-1_x.c: New test file.
* gcc.dg/compat/struct-by-value-1_y.c: New test file.
* gcc.dg/compat/struct-by-value-2_main.c: New test file.
* gcc.dg/compat/struct-by-value-2_x.c: New test file.
* gcc.dg/compat/struct-by-value-2_y.c: New test file.
* gcc.dg/compat/struct-by-value-3_main.c: New test file.
* gcc.dg/compat/struct-by-value-3_x.c: New test file.
* gcc.dg/compat/struct-by-value-3_y.c: New test file.
* gcc.dg/compat/struct-by-value-4_main.c: New test file.
* gcc.dg/compat/struct-by-value-4_x.c: New test file.
* gcc.dg/compat/struct-by-value-4_y.c: New test file.
* gcc.dg/compat/struct-by-value-5_main.c: New test file.
* gcc.dg/compat/struct-by-value-5_x.c: New test file.
* gcc.dg/compat/struct-by-value-5_y.c: New test file.
David O'Brien [Mon, 5 May 2003 22:57:58 +0000 (22:57 +0000)]
sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror other FreeBSD ports.
2003-05-05 David O'Brien <obrien@FreeBSD.org>
* config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
other FreeBSD ports.
(LINK_OS_FREEBSD_SPEC): Mirror conventions on other FreeBSD ports.
Loren J. Rittle [Mon, 5 May 2003 22:28:16 +0000 (22:28 +0000)]
stl_threads.h (_Atomic_swap): Kill it...
* include/bits/stl_threads.h (_Atomic_swap): Kill it...
(_Swap_lock_struct<>): ...and the horse it rode in on.
* src/globals.cc (_Swap_lock_struct<>): Likewise.
* include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): New
member to support...
* include/ext/ropeimpl.h (rope<>::c_str): Follow *all* memory
visibility rules related to POSIX threads.
* testsuite/thread/pthread7-rope.cc: New test.
Janis Johnson [Mon, 5 May 2003 21:59:35 +0000 (21:59 +0000)]
Makefile.in: (site.exp): Add ALT_CC_UNDER_TEST, add quotes around expanded variables.
2003-05-05 Janis Johnson <janis187@us.ibm.com>
* Makefile.in: (site.exp): Add ALT_CC_UNDER_TEST, add quotes around
expanded variables.
* doc/sourcebuild.texi (C tests): Describe gcc.dg/compat tests.
testsuite:
* lib/compat.exp (compat-execute): New argument.
* g++.dg/compat/compat.exp: Pass new argument to compat-execute.
* gcc.dg/compat: New test directory.
* gcc.dg/compat/compat.exp: New expect script.
* gcc.dg/compat/scalar-by-value-1_main.c: New test file.
* gcc.dg/compat/scalar-by-value-1_x.c: New test file.
* gcc.dg/compat/scalar-by-value-1_y.c: New test file.
* gcc.dg/compat/scalar-by-value-2_main.c: New test file.
* gcc.dg/compat/scalar-by-value-2_x.c: New test file.
* gcc.dg/compat/scalar-by-value-2_y.c: New test file.
Zack Weinberg [Mon, 5 May 2003 21:57:54 +0000 (21:57 +0000)]
rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
* rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
* varasm.c (struct varasm_status): Add deferred_constants field.
(n_deferred_strings): Delete variable.
(n_deferred_constants): New #define.
(struct constant_descriptor_tree): Kill next and label fields.
(const_hash_table, MAX_HASH_TABLE): Delete.
(const_desc_htab): New static variable.
(const_hash): Rename const_desc_hash, and make it fit the
hashtab.h interface.
(const_desc_eq): New.
(const_hash_1, compare_constant): Const-ify arguments.
(build_constant_desc): Set DEFERRED_CONSTANT_P on all new
SYMBOL_REFs. Clarify comments. Don't set desc->label.
(output_constant_def): Do the lookup/insert using the
hashtab.h interface. Don't muck with n_deferred_constants or
DEFERRED_CONSTANT_P here.
Always call maybe_output_constant_def_contents.
(maybe_output_constant_def_contents): Take a pointer to the
descriptor, not the EXP and RTL separately. Return
immediately if this constant is not deferred. Defer output of
everything, except writable string constants. Update
n_deferred_constants here.
(output_constant_def_contents): Now takes just one argument,
an rtx. Clear DEFERRED_CONSTANT_P here.
(mark_constant_pool): Update for rename of n_deferred_strings.
(mark_constant): Don't clear DEFERRED_CONSTANT_P here.
(init_varasm_status): Clear p->deferred_constants.
(init_varasm_once): Call htab_create_ggc for const_desc_htab.
* gcc.dg/const-elim-1.c, gcc.dg/const-elim-2.c: New testcases.
Jason Merrill [Mon, 5 May 2003 21:11:13 +0000 (17:11 -0400)]
re PR c++/9537 ([New parser] problem handling const return types)
PR c++/9537
* call.c (conditional_conversion): Build an RVALUE_CONV if
we're just changing the cv-quals.
(build_conditional_expr): Don't call convert to change
cv-quals.
Michael Koch [Mon, 5 May 2003 20:18:31 +0000 (20:18 +0000)]
2003-05-05 Michael Koch <konqueror@gmx.de>
* java/net/NetworkInterface.java
(networkInterfaces): Removed.
(getByName): Use getRealNetworkInterfaces() instead of
networkInterfaces.
(getByInetAddress): Likewise.
(getNetworkInterfaces): Likewise.
(toString): Fix output of addresses of an interface.
rs6000.c (validate_condition_mode): Use flag_finite_math_only.
2003-05-05 Geoffrey Keating <geoffk@apple.com>
* config/rs6000/rs6000.c (validate_condition_mode): Use
flag_finite_math_only.
(rs6000_reverse_condition): Never return UNKNOWN; use
flag_finite_math_only.
(rs6000_generate_compare): Use flag_finite_math_only.
(rs6000_emit_cmove): Handle UNLE. Support UNEQ under -ffast-math.
Use HONOR_* rather than flag_unsafe_math_optimizations. Correct
UNGE and GT cases. Handle UNEQ and LTGT when ! HONOR_NANS.
Jakub Jelinek [Mon, 5 May 2003 19:31:35 +0000 (21:31 +0200)]
builtins.c (expand_builtin_mempcpy): New function.
* builtins.c (expand_builtin_mempcpy): New function.
(expand_builtin_stpcpy): Optimize stpcpy whose return value is
ignored into strcpy no matter what arguments it has.
(expand_builtin) <case BUILT_IN_MEMPCPY>: Call
expand_builtin_mempcpy.
* gcc.c-torture/execute/string-opt-18.c (main): Add 3 new tests.
* c-typeck.c (convert_for_assignment): Opaque pointers can
interconvert.
* config/rs6000/rs6000.c: New global opaque_p_V2SI_type_node.
(rs6000_init_builtins): Initialize opaque_p_V2SI_type_node.
(spe_init_builtins): Rename all pv2si_type_node to
opaque_p_V2SI_type_node.
Remove declaration of pv2si_type_node.
(is_ev64_opaque_type): Accept opaque pointers.
Olivier Hainque [Mon, 5 May 2003 17:56:35 +0000 (19:56 +0200)]
expr.c (expand_expr, [...]): Refine the test forcing usage of bitfield instructions for mode1 != BLKmode...
* expr.c (expand_expr, case BIT_FIELD_REF): Refine the test forcing
usage of bitfield instructions for mode1 != BLKmode, only ignoring
SLOW_UNALIGNED_ACCESS if the field is not byte aligned.
(store_field): Likewise.
DJ Delorie [Mon, 5 May 2003 15:25:01 +0000 (11:25 -0400)]
stormy16.md (negsi2): Allocate the pseudos before reload, but defer the split until after.
* config/stormy16/stormy16.md (negsi2): Allocate the pseudos
before reload, but defer the split until after.
* config/stormy16/stormy16.c (xstormy16_expand_arith): Modify
to match.
Richard Kenner [Sun, 4 May 2003 22:09:48 +0000 (22:09 +0000)]
expr.c (store_field): Don't clobber TEMP in shift: it might be a variable.
* expr.c (store_field): Don't clobber TEMP in shift: it might be
a variable.
(get_inner_reference): Don't go through a VIEW_CONVERT_EXPR
whose purpose is to step up the alignment.
(expand_expr, case ADDR_EXPR): Force LO_SUM into memory, just like REG.
* builtins.c (expand_builtin_constant_p, expand_builtin_strlen,
expand_builtin_frame_address): Update prototypes.
(expand_builtin_constant_p, expand_builtin_strlen,
expand_builtin_strcpy, expand_builtin_memset,
expand_builtin_bzero, expand_builtin_args_info,
expand_builtin_frame_address): Pass in just the argument(s)
needed, not the entire expression `exp'.
(expand_builtin): Update all calls to these functions.
rs6000.c (scc_comparison_operator): Make equivalent to branch_positive_comparison_operator.
* config/rs6000/rs6000.c (scc_comparison_operator): Make equivalent
to branch_positive_comparison_operator.
(ccr_bit): Check that sCOND conditions are actually a positive bit.
(print_operand): Remove %D substitution.
(rs6000_emit_sCOND): Generate complement operation to ensure that
sCOND input is a positive bit.
* config/rs6000/rs6000.md: Rearrange sCOND templates to be in the
same order as bCOND, and add the missing ones. Remove the %D
substitutions from the scc patterns.
Zack Weinberg [Sat, 3 May 2003 21:44:31 +0000 (21:44 +0000)]
re PR c/10604 (-Wall includes sign conversion warning [3.3 regression])
PR c/10604
* c-common.c (warn_sign_compare): Initialize to -1.
* c-opts.c (c_common_init_options): Don't set warn_sign_compare here.
(c_common_decode_option <OPT_Wall>): Set warn_sign_compare
for C++ only.
(c_common_post_options): Set warn_sign_compare from extra_warnings
if it's still -1 at this point.
* toplev.c (maybe_warn_unused_parameter): New static variable.
(set_Wextra): New static function.
(W_options): Remove "extra".
(decode_W_option): Call set_Wextra.
(independent_decode_option): Likewise.
(set_Wunused): Cooperate with set_Wextra in setting
warn_unused_parameter.
(rest_of_compilation): No need to check extra_warnings as
well as warn_uninitialized.
* c-typeck.c (build_binary_op, build_conditional_expr):
No need to check extra_warnings as well as warn_sign_compare.
(internal_build_compound_expr): No need to check extra_warnings
as well as warn_unused_value.
* function.c (expand_function_end): No need to check extra_warnings
as well as warn_unused_parameter.
* stmt.c (expand_expr_stmt_value): No need to check extra_warnings
as well as warn_unused_value.
* cp/typeck.c (build_x_compound_expr): No need to check
extra_warnings as well as warn_unused_value.
* doc/invoke.texi: Clarify documentation of -Wsign-compare.
* gcc.dg/compare7.c, g++.dg/warn/compare1.C: New testcases.
* Makefile.in: Disable -Werror for gengtype-lex.o.
Olivier Hainque [Sat, 3 May 2003 14:25:22 +0000 (16:25 +0200)]
emit-rtl.c (last_call_insn, [...]): New functions.
* emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
* rtl.h (last_call_insn, add_function_usage_to): New prototypes.
* builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
* calls.c (emit_call_1): Likewise.
(expand_call): For calls initializing constant memory, replace
emission of standalone mem /u clobber with function usage entry.
* expr.c (emit_block_move_via_libcall): Likewise.
* cse.c (count_reg_usage, case EXPR_LIST): New case.
* flow.c (propagate_one_insn): Pass entire operand of
CALL_INSN_FUNCTION_USAGE to mark_used_regs.
* integrate.c (try_constants): For CALL_INSNs, substitute constants
within the FUNCTION_USAGE also.
* loop.c (prescan_loop): Note clobbers of const mem mentioned in
FUNCTION_USAGE lists.
* reload1.c (replace_pseudos_in): Renamed.
(reload): Use it for clobbers surviving until the end of the reload.
* config/mips/mips.c (mips_integer_op): New structure.
(MIPS_MAX_INTEGER_OPS): Define.
(mips_const_insns): Use mips_build_integer to determine the number
of instructions needed to load a CONST_INT.
(move_operand): Reject compound CONST_INTs.
(mips_build_shift, mips_build_lower, mips_build_integer): New fns.
(mips_move_integer): New fn.
(mips_legitimize_const_move): Pass CONST_INTs to mips_move_integer.
(mips_legitimize_move): Only legitimize constants when moving
word or subword values.
Tom Tromey [Sat, 3 May 2003 00:35:06 +0000 (00:35 +0000)]
re PR java/10459 (ICE with certain expressions as 3rd clause of for loop)
PR java/10459:
* parse.y (finish_for_loop): Do nothing if update expression is a
EXPR_WFL_NODE wrapping nothing.
(java_complete_lhs) <COMPOUND_EXPR>: Likewise.
David Edelsohn [Fri, 2 May 2003 14:49:52 +0000 (14:49 +0000)]
{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease number of automata.
* config/rs6000/{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease
number of automata.
* config/rs6000/rs6000.c (symbol_ref_operand): Check
SYMBOL_REF_FUNCTION_P on AIX.
(current_file_function_operand): Same.
* config/rs6000/rs6000.md (call,call_value): Force non-function
symbol_ref into register on AIX.
Alan Modra [Fri, 2 May 2003 14:22:09 +0000 (14:22 +0000)]
calls.c (struct arg_data): Move offset, slot_offset, size and alignment_pad to struct locate_and_pad_arg_data.
* calls.c (struct arg_data): Move offset, slot_offset, size and
alignment_pad to struct locate_and_pad_arg_data. Update all refs.
(initialize_argument_information): Adjust call to locate_and_pad_parm.
Delete alignment_pad var. Don't calculate slot_offset here.
(emit_library_call_value_1): Delete alignment_pad, offset and size
vars. Use struct locate_and_pad_arg_data instead. Adjust refs.
Adjust call to locate_and_pad_parm. Don't tweak arg size for
partial in-regs here. Formatting fixes.
* expr.h (struct locate_and_pad_arg_data): New struct.
(locate_and_pad_parm): Adjust declaration.
* function.c (assign_parms): Localize vars. Use "locate" instead of
other arg location vars. Don't invoke FUNCTION_ARG or
FUNCTION_INCOMING_ARG unless pretend_named is different from
named_arg. Heed MUST_PASS_IN_STACK and set up "partial" before
calling locate_and_pad_parm. Adjust locate_and_pad_parm call.
Use slot_offset for stack home of reg parms. Correct test for
parm passed in memory. Formatting fixes.
(locate_and_pad_parm): Add "partial" to params. Replace offset_ptr
arg_size_ptr and alignment pad with "locate". Set slot_offset here.
Correct initial_offset_ptr handling. Localize vars. Always pad
locate->offset even when in_regs.
Michael Koch [Fri, 2 May 2003 09:27:59 +0000 (09:27 +0000)]
InetAddress.java: Merged class documentation with classpath.
2003-05-02 Michael Koch <konqueror@gmx.de>
* java/net/InetAddress.java:
Merged class documentation with classpath.
* java/net/JarURLConnection.java:
Explicitely import all used classes.
* java/net/URL.java:
Reformatting.
* java/net/ServerSocket.java,
java/net/Socket.java:
New versions from classpath.
Phil Edwards [Fri, 2 May 2003 02:53:28 +0000 (02:53 +0000)]
acconfig.h (_GLIBCPP_USE_NLS): New symbol.
2003-05-01 Phil Edwards <pme@gcc.gnu.org>
* acconfig.h (_GLIBCPP_USE_NLS): New symbol.
* configure.in: Move libintl.h header test...
* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): ...to here. Gather all
the NLS-related test results into one symbol.
* src/functexcept.cc: Use it here.
* aclocal.m4, config.h.in, configure: Regenerated.