* 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.
From-SVN: r49954
2002-02-21 Aldy Hernandez <aldyh@redhat.com>
* gcc.dg/attr-alwaysinline.c: New.
* c-common.c (c_common_post_options): Set inline trees by
default.
* doc/extend.texi (Function Attributes): Document always_inline
attribute.
Update documentation about inlining when not optimizing.
* cp/decl.c (duplicate_decls): Merge always_inline attribute.
* 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.
* attribs.c (handle_always_inline_attribute): New.
(c_common_attribute_table): Add always_inline.
* config/rs6000/altivec.h: Add prototypes for builtins
requiring the always_inline attribute.
From-SVN: r49947
2002-02-21 Eric Christopher <echristo@redhat.com>
* expmed.c (store_bit_field): Try to simplify the subreg
before generating a new one when when the mode size of
value is less than maxmode.
From-SVN: r49946
* 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.
From-SVN: r49945
* 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.
From-SVN: r49944
2002-02-21 Andreas Tobler <toa@pop.agri.ch>
* src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
number of GPRs for floating-point arguments.
From-SVN: r49934
* 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.
From-SVN: r49931
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.
From-SVN: r49923
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.
* gcc.dg/debug/20020220-1.c: New test.
From-SVN: r49921
* 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.
From-SVN: r49920
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.
* gcc.dg/20020219-1.c: New test.
From-SVN: r49914
* 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.
From-SVN: r49912
* 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).
From-SVN: r49909
Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
* config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
for (const_int 0) in X not just INTVAL.
From-SVN: r49902
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.
From-SVN: r49898