Age | Commit message (Collapse) | Author | Files | Lines |
|
* cppinit.c (output_deps): Correct test for stdout output.
(init_dependency_output): Cure warning.
From-SVN: r49993
|
|
* 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.
From-SVN: r49992
|
|
* doc/contribute.texi, doc/extend.texi, doc/install.texi,
doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
From-SVN: r49991
|
|
on sparc-suse-linux - ICE in loop.c)
PR optimization/5747
* loop.c (scan_loop): Update reg info if move_movables created new
pseudos.
* gcc.dg/20020222-1.c: New test.
From-SVN: r49989
|
|
From-SVN: r49987
|
|
From-SVN: r49986
|
|
From-SVN: r49984
|
|
2002-02-23 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
gpc_reg_operand constraint.
2002-02-23 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
Simplify comparison of `low'.
(add_operand): Fix formatting.
(non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
(rs6000_stack_info): Remove redundant test setting push_p.
(output_toc): Fix formatting.
* config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
cc_reg_not_cr0_operand constraint.
(booldi3, boolcdi3 splitters): Same.
From-SVN: r49983
|
|
2002-02-23 Aldy Hernandez <aldyh@redhat.com>
* altivec.h: Add extra level of parentheses on casts.
From-SVN: r49982
|
|
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.
From-SVN: r49981
|
|
-shared-libgcc.
* gcc.c (init_gcc_spec): Do not link with static libgcc.a if
gcc invoked with -shared-libgcc.
From-SVN: r49979
|
|
* 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.
From-SVN: r49978
|
|
* 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.
From-SVN: r49972
|
|
PR c++/5748
* stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
decl if any of elements was TREE_USED.
* g++.dg/opt/anonunion1.C: New test.
From-SVN: r49971
|
|
* config/sparc/sol2.h: Don't include sys/mman.h.
* config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
(arith_4096_operand): Don't throw high bits away.
(const64_operand): Take sign extension of CONST_INTs into account.
(const64_high_operand, sparc_emit_set_const32): Likewise.
(GEN_HIGHINT64): Likewise.
(sparc_emit_set_const64_quick1): Likewise.
(const64_is_2insns): Likewise.
(print_operand): Use trunc_int_for_mode for sign extension.
* config/sparc/sparc.h (SMALL_INT32): Likewise.
* config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
chars. Assume CONST_INT is already properly sign-extended.
(movdi split): Sign-extend each SImode part.
(andsi3 split): Don't mask high bits off, so that result
remains properly sign-extend.
(iorsi3 split): Likewise.
(xorsi3 split): Likewise.
From-SVN: r49970
|
|
PR other/5746
* semantics.c (finish_switch_cond): Don't call get_unwidened
if error_mark_node.
From-SVN: r49969
|
|
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.
From-SVN: r49966
|
|
cp:
PR c++/2645, DR 295
* cp-tree.h (tsubst_flags_t): Add tf_ignore_bad_quals,
tf_keep_type_decl.
(make_typename_type): Use tsubst_flags_t.
* decl.c (make_typename_type): Adjust. Return non-artificial
TYPE_DECLs, if required.
(grokdeclarator): Simplify CVR qualification handling. Allow bad
qualifiers on typedef types.
* decl2.c (handle_class_head): Adjust make_typename_type call.
* parse.y (nested_name_specifier): Likewise.
(typename_sub0): Likewise.
(typename_sub1): Likewise.
* pt.c (convert_template_argument): Adjust make_typename_type
return value.
(tsubst): Adjust cp_build_qualified_type_real calls.
(check_cv_quals_for_unify): Cope with alowing bad qualifications
on template type parms.
(instantiate_decl): Recheck substitutions to give warnings on bad
qualifications.
* tree.c (cp_build_qualified_type_real): Use tf_allow_bad_quals.
testsuite:
* g++.dg/template/qualttp19.C: New test.
* g++.dg/template/qualttp20.C: New test.
* g++.old-deja/g++.jason/report.C: Adjust expected errors
* g++.old-deja/g++.other/qual1.C: Likewise.
From-SVN: r49961
|
|
From-SVN: r49960
|
|
From-SVN: r49957
|
|
From-SVN: r49956
|
|
From-SVN: r49955
|
|
From-SVN: r49949
|
|
From-SVN: r49948
|
|
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
|
|
new one when...
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
|
|
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.
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
|
|
* jump.c (redirect_jump): If old label has no UID, don't try to
delete it.
From-SVN: r49943
|
|
* sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
If input is constant, do shifts at compile time.
From-SVN: r49942
|
|
From-SVN: r49941
|
|
PR optimization/4994
* config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
register moves.
* g++.dg/opt/mmx1.C: New test.
From-SVN: r49939
|
|
PR c++/4574
* expr.h (expand_and): Add mode argument.
* expmed.c (expand_and): Add mode argument.
(expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
* expr.c (store_field, expand_expr, do_store_flag): Likewise.
* except.c (expand_builtin_extract_return_addr): Likewise.
* config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
* config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
* config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
* config/c4x/c4x.md: Use GEN_INT (x) instead of
gen_rtx (CONST_INT, VOIDmode, x).
* gcc.dg/20020220-1.c: New test.
From-SVN: r49938
|
|
PR c/4697:
* stmt.c (warn_if_unused_value): Move side effects test once more.
* gcc.dg/20020220-2.c: New test.
From-SVN: r49937
|
|
* config/avr/avr.md: Add more patterns for mized-mode add and subtract
(addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
From-SVN: r49936
|
|
ZERO_EXTEND.
* rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
SUBREG or ZERO_EXTEND.
From-SVN: r49935
|
|
* 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
|
|
From-SVN: r49925
|
|
From-SVN: r49924
|
|
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
|
|
becomes...
* gcj.texi: Option `--classpath' becomes `--CLASSPATH.'Option
`--CLASSPATH' becomes `--classpath.'
* gjavah.c: Likewise.
* jcf-dump.c: Likewise.
* lang-options.h: Likewise.
* lang.c: Likewise.
* jcf-path.c: Updated comment.
(jcf_path_classpath_arg): Renamed `jcf_path_CLASSPATH_arg.'
(jcf_path_CLASSPATH_arg): Renamed `jcf_path_classpath_arg.'
* jcf.h (jcf_path_CLASSPATH_arg): Ditto.
(jcf_path_CLASSPATH_arg): Ditto.
(classpath_u): Updated leading comment.
From-SVN: r49922
|
|
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
|
|
From-SVN: r49919
|
|
becomes...
* gcj.texi: Option `--classpath' becomes `--CLASSPATH.'Option
`--CLASSPATH' becomes `--classpath.'
* gjavah.c: Likewise.
* jcf-dump.c: Likewise.
* lang-options.h: Likewise.
* lang.c: Likewise.
* jcf-path.c: Updated comment.
(jcf_path_classpath_arg): Renamed `jcf_path_CLASSPATH_arg.'
(jcf_path_CLASSPATH_arg): Renamed `jcf_path_classpath_arg.'
* jcf.h (jcf_path_CLASSPATH_arg): Ditto.
(jcf_path_CLASSPATH_arg): Ditto.
(classpath_u): Updated leading comment.
From-SVN: r49918
|
|
declaration in block scope...
* c-decl.c (pushdecl): If no global declaration is found for an
extern declaration in block scope, try a limbo one.
From-SVN: r49917
|
|
architectures)
PR c++/4401
* c-common.c (pointer_int_sum): Moved from...
* c-typeck.c (pointer_int_sum): ...here.
* c-common.h (pointer_int_sum): Add prototype.
* typeck.c (cp_pointer_int_sum): Renamed from
pointer_int_sum, call pointer_int_sum.
* g++.dg/opt/ptrintsum1.C: New test.
From-SVN: r49916
|
|
PR c++/5713
* c-decl.c (duplicate_decls): Return 0 if issued error about
redeclaration.
* decl.c (duplicate_decls): Return 0 if issued error about
redeclaration.
* gcc.dg/noncompile/20020220-1.c: New test.
From-SVN: r49915
|
|
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
|
|
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.
From-SVN: r49912
|