Neil Booth [Sun, 24 Feb 2002 12:52:30 +0000 (12:52 +0000)]
cpplex.c (cpp_interpret_charconst): Get signedness or otherwise of wide character constants correct.
* cpplex.c (cpp_interpret_charconst): Get signedness or
otherwise of wide character constants correct.
* cppexp.c (lex): Get signedness of wide charconsts correct.
* testsuite/gcc.dg/cpp/wchar-1.c: New test.
Richard Kenner [Sun, 24 Feb 2002 12:46:52 +0000 (12:46 +0000)]
optabs.c (widen_operand): Only call convert_modes for promoted SUBREG if signedness matches.
* optabs.c (widen_operand): Only call convert_modes for
promoted SUBREG if signedness matches.
* config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
Joseph Myers [Sun, 24 Feb 2002 01:37:10 +0000 (01:37 +0000)]
gcc_release: Revert change to -p interface.
* gcc_release: Revert change to -p interface. Allow for local and
remote cases in creating directories. Give an error if -p
argument names a directory.
Kazu Hirata [Sat, 23 Feb 2002 14:17:25 +0000 (14:17 +0000)]
h8300.c (output_simode_bld): Handle H8/300 and H8/300[HS] separately.
* config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
H8/300[HS] separately.
* config/h8300/h8300.md: Remove the early clobber constraint
from bit field patterns.
Richard Kenner [Sat, 23 Feb 2002 13:21:17 +0000 (08:21 -0500)]
expr.c (store_expr): When converting expression to promoted equivalent type...
* expr.c (store_expr): When converting expression to promoted
equivalent type, allow using SUBREG_REG of TARGET as the target
of the expansion of EXP.
* loop.c (basic_induction_var, case SUBREG): Always look inside.
* config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
(alpha_emit_set_const): Handle SImode when can't make new pseudos.
(alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
* config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
Tom Tromey [Sat, 23 Feb 2002 00:42:13 +0000 (00:42 +0000)]
re PR java/2369 (--main should check the following symbol)
Fix for PR java/2369:
* jvspec.c (verify_class_name): New function.
(lang_specific_driver): Call it.
(JAVA_START_CHAR_P): New macro.
(JAVA_PART_CHAR_P): Likewise.
Per Bothner [Sat, 23 Feb 2002 00:15:49 +0000 (16:15 -0800)]
URL.java (getPath): New JDK 1.3 method.
* java/net/URL.java (getPath): New JDK 1.3 method.
* java/net/URLStreamHandler.java (parseURL):
It is wrong to prepend '/' to the file part of a relative url.
* java/net/URLStreamHandler.java (parseURL):
Minor optizations - append '/' rather than "/".
* java/net/URLStreamHandler.java (parseURL):
Don't canonicalize "xx/.." or "./" URLs - JDK doesn't.
We probably should canonicalize for a context-relative url, though.
* java/net/URL.java (sameFile): Delegate to URLStreamHandler.
* java/net/URLStreamHandler.java (canonicalizeFilename): New helper.
(sameFile): New method. Uses canonicalizeFilename.
Per Bothner [Fri, 22 Feb 2002 23:59:39 +0000 (15:59 -0800)]
class.c: Change vtable to be more compatible with g++ v3 abi.
* class.c: Change vtable to be more compatible with g++ v3 abi.
(get_dispatch_table): Prepend offset-to-top (always 0) and
type_info pointer (currently unimplemented hence NULL) to vtable.
Specifically, prepend offset-to-top and typeinfo ptr (currently null).
(make_class_data): Variable dtable_start_offset is sizeof 2 pointers.
Adjust vtable pointers by dtable_start_offse - i.e. skip new words.
(build_dtable_decl): Add declarations for new fields.
Tom Tromey [Fri, 22 Feb 2002 23:24:45 +0000 (23:24 +0000)]
natSystem.cc (init_properties): Include the `Inc.' in java.vendor and java.vm.vendor.
* java/lang/natSystem.cc (init_properties): Include the `Inc.' in
java.vendor and java.vm.vendor.
* gnu/java/rmi/rmic/RMIC.java (parseOptions): Only print most
recent copyright date.
* gnu/gcj/convert/Convert.java (version): Print `Inc'.
* gij.cc (version): Print `Inc'.
Richard Kenner [Fri, 22 Feb 2002 21:18:25 +0000 (16:18 -0500)]
expr.c (store_expr): When converting expression to promoted equivalent type...
* expr.c (store_expr): When converting expression to promoted
equivalent type, allow using SUBREG_REG of TARGET as the target
of the expansion of EXP.
* loop.c (basic_induction_var, case SUBREG): Always look inside.
* config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
(alpha_emit_set_const): Handle SImode when can't make new pseudos.
(alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
* config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
Jim Blandy [Fri, 22 Feb 2002 17:01:23 +0000 (17:01 +0000)]
Allow the user to specify functions for allocating memory for splay tree roots and nodes.
include:
Allow the user to specify functions for allocating memory for
splay tree roots and nodes.
* splay-tree.h (splay_tree_allocate_fn, splay_tree_deallocate_fn):
New types.
(splay_tree): New fields: `allocate', `deallocate', and
`allocate_data'.
(splay_tree_new_with_allocator): New function declaration.
libiberty:
* splay-tree.c (splay_tree_xmalloc_allocate,
splay_tree_xmalloc_deallocate): New functions.
(splay_tree_new): Call splay_tree_new_with_allocator, passing the
above functions and a dummy data pointer.
(splay_tree_new_with_allocator): New function.
(splay_tree_delete_helper, splay_tree_delete, splay_tree_insert,
splay_tree_remove): Use the splay tree's allocation and
deallocation functions.
Per Bothner [Fri, 22 Feb 2002 13:57:43 +0000 (05:57 -0800)]
parse.y (patch_method_invocation): Set CAN_COMPLETE_NORMALLY on call to finit$ (otherwise generate_bytecode_insns...
* parse.y (patch_method_invocation): Set CAN_COMPLETE_NORMALLY on call
to finit$ (otherwise generate_bytecode_insns drops it). However, we
don't need to set it on the COMPOUND_EXPR - the caller does that.
Per Bothner [Fri, 22 Feb 2002 13:53:23 +0000 (05:53 -0800)]
Connection.java (conect): Open the input and/or output streams immediately here, instead of using File.exists.
* gnu/gcj/protocol/file/Connection.java (conect): Open the input
and/or output streams immediately here, instead of using File.exists.
(inputStream, outputStream): New fields to save open streams.
(getInputStream, getOutputStream): Use already-opened streams.
Alexandre Oliva [Fri, 22 Feb 2002 03:21:28 +0000 (03:21 +0000)]
acinclude.m4 (LIB_AC_PROG_CXX): Copied from libstdc++-v3.
* acinclude.m4 (LIB_AC_PROG_CXX): Copied from libstdc++-v3.
Use it.
* Makefile.am (LIBLINK): Use CXX (and its tag) for linking.
* aclocal.m4, configure, Makefile.in: Rebuilt.
* cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
unless DECL_ALWAYS_INLINE.
* c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
unless DECL_ALWAYS_INLINE.
(c_disregard_inline_limits): Disregard if always_inline set.
* langhooks.c (lhd_tree_inlining_disregard_inline_limits):
Disregard if always_inline set.
(lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
unless DECL_ALWAYS_INLINE.
emit-rtl.c (offset_address): Use simplify_gen_binary rather than gen_rtx_PLUS to form the sum.
* emit-rtl.c (offset_address): Use simplify_gen_binary rather
than gen_rtx_PLUS to form the sum.
* explow.c (force_reg): Rearrange to not allocate new pseudo
when force_operand returns a register.
* expr.c (expand_assignment): Allow offset_rtx expansion to
return a sum. Do not force addresses into registers.
(expand_expr): Likewise.
* simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
to canonicalize arithmetic that didn't simpify.
(simplify_plus_minus): New argument force; update
all callers. Don't split CONST unless we can do something with it,
and wouldn't lose the constness of the operands.
* config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
that we generated earlier.
* dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
(output_line_info): Use constant `1', with a long explanatory
comment.
* system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
J"orn Rennecke [Thu, 21 Feb 2002 16:42:28 +0000 (16:42 +0000)]
sh.h (current_function_anonymous_args): Remove.
* sh.h (current_function_anonymous_args): Remove.
(SETUP_INCOMING_VARARGS): Don't set it - just check that one
of current_function_varargs and current_function_stdarg is set.
* sh.c (sh_expand_prologue): Check current_function_varargs /
current_function_stdarg / TARGET_SH5 instead of
current_function_anonymous_args.
* sh64.h (TARGET_VERSION): Define.
Fix comments that to refer to SH architecture -
the architecture is no longer exclusive to Hitachi.
David Edelsohn [Thu, 21 Feb 2002 02:34:20 +0000 (21:34 -0500)]
[multiple changes]
2002-02-20 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
VRSAVE_REGNO on TARGET_ALTIVEC.
2002-02-20 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
bits of SImode const_int.
(includes_rshift_p): Likewise.
(print_operand): Call mask_operand and mask64_operand with correct
mode.
(rs6000_output_function_epilogue): Pad traceback table to word.
* config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
(EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
mask64_operand with correct mode.
(RETURN_IN_MEMORY): Use HOST_WIDE_INT, not HOST_WIDEST_INT.
(FUNCTION_ARG_REGNO_P): Correct parentheses.
Jakub Jelinek [Wed, 20 Feb 2002 23:19:24 +0000 (00:19 +0100)]
re PR debug/4461 (Invalid dawrf2 debug code)
PR debug/4461
* varasm.c (get_pool_constant_mark): New.
* rtl.h (get_pool_constant_mark): Add prototype.
* dwarf2out.c (mem_loc_descriptor): A pool constant cannot
be represented if it has not been output.
Alexandre Oliva [Wed, 20 Feb 2002 23:15:00 +0000 (23:15 +0000)]
combine.c (do_SUBST): Sanity check substitutions of CONST_INTs...
* combine.c (do_SUBST): Sanity check substitutions of
CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
(subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
CONST_INT into its operand.
(known_cond): Likewise, for ZERO_EXTEND.
* simplify-rtx.c (simplify_unary_operation): Fix condition to
allow for simplification of wide modes. Reject CONST_INTs in
ZERO_EXTEND when their actual mode is not given.
Jakub Jelinek [Wed, 20 Feb 2002 22:54:35 +0000 (23:54 +0100)]
re PR c/4389 (Improper constant folding)
PR c/4389
* tree.c (host_integerp): Ensure that the constant integer is
representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
when pos is zero or non-zero respectively. Clarify comment.
* c-format.c (check_format_info_recurse): Fix host_integerp
usage; the pos argument should be zero when assigning to a
signed HOST_WIDE_INT.
i386.c (ix86_expand_vector_move): Use the mode of the operand, rather than assuming TImode.
* config/i386/i386.c (ix86_expand_vector_move): Use the mode
of the operand, rather than assuming TImode.
(ix86_expand_binop_builtin): Cope with commutative patterns
using nonimmediate_operand for both operands.
(ix86_expand_timode_binop_builtin): Likewise.
(ix86_expand_store_builtin): Validate operand 1.
(ix86_expand_unop1_builtin): Likewise.
Per Bothner [Wed, 20 Feb 2002 19:53:49 +0000 (11:53 -0800)]
builtins.c (check_for_builtin): New function.
* builtins.c (check_for_builtin): New function.
(build_call_or_builtin): Remove.
* java-tree.h: Update accordingly.
* expr.c (expand_invoke): Use build + check_for_builtin instead
of build_call_or_builtin.
* parse.y (patch_invoke): Likewise. This avoids needlessly creating
a new CALL_EXPR node, which means we don't lose the CALL_USING_SUPER
flag (which had caused jcf-write to incorrectly emit invokevirtual).
Joel Sherrill [Wed, 20 Feb 2002 12:15:06 +0000 (12:15 +0000)]
rtems.h, [...]: Use new style of -Asystem= rather than -Asystem().
2001-02-20 Joel Sherrill <joel@OARcorp.com>
* config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
Also done for -Acpu and -Amachine.
Neil Booth [Wed, 20 Feb 2002 07:24:10 +0000 (07:24 +0000)]
cppinit.c (init_dependency_output): Take deps output file from -o if none given with -MF.
* cppinit.c (init_dependency_output): Take deps output file
from -o if none given with -MF. Suppress normal output.
* gcc.c (cpp_unique_options): Have -M and -MM imply -E.
* doc/cpp.texi, doc/invoke.texi: Update.
Bryce McKinlay [Wed, 20 Feb 2002 04:14:15 +0000 (04:14 +0000)]
libjava.exp: Add "xfail-byte-output" and "xfail-source-output".
* lib/libjava.exp: Add "xfail-byte-output" and "xfail-source-output".
Don't display expected and actual output for a failed output test.
* libjava.lang/ArrayStore.java: New file.
* libjava.lang/ArrayStore.out: New file.
* libjava.lang/ArrayStore.xfail: New file. xfail-byte-output.
* libjava.lang/ArrayStore2.java: New file.
* libjava.lang/ArrayStore2.out: New file.
* libjava.lang/ArrayStore2.xfail: New file. xfail-source-output.
Jason Merrill [Wed, 20 Feb 2002 04:09:05 +0000 (23:09 -0500)]
ABI change: Mangle `void (A::*)() const' as M1AKFvvE, not MK1AFvvE.
ABI change: Mangle `void (A::*)() const' as
M1AKFvvE, not MK1AFvvE.
* mangle.c (write_function_type): Write cv-quals for member
function type here.
(write_pointer_to_member_type): Not here.