Age | Commit message (Collapse) | Author | Files | Lines |
|
* config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
If REVERSE nonzero then condition code in X must be reversed.
(encode_section_info): Optimise if/else.
(avr_function_value): Fix formatting.
* config/avr/avr.md (branch): Call to ret_cond_branch changed.
(difficult_branch): Likewise.
(rvbranch): Likewise.
(difficult_rvbranch): Likewise.
* config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
* config/avr/libgcc.S: Fix comment.
From-SVN: r39163
|
|
From-SVN: r39162
|
|
From-SVN: r39161
|
|
* aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
* configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
* configure, config.in: Regenerate.
* Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
(LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
(strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
(doprint.o): New rule.
From-SVN: r39160
|
|
From-SVN: r39158
|
|
From-SVN: r39157
|
|
* stmt.c (expand_return): Don't return anything if size is zero.
Delete redundant assignment to BYTES.
* expr.c (move_block_from_reg): Do nothing if NREGS is zero.
From-SVN: r39156
|
|
library function names.
* config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
the same as the default library function names.
* config/avr/avr.md: Document special characters after '%'.
(mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
knowing which of the call-used registers are really clobbered.
(divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
New. Both quotient and remainder from one libgcc.S call.
* config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
clobber as few registers as possible.
* config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
From-SVN: r39155
|
|
From-SVN: r39154
|
|
From-SVN: r39153
|
|
top of the stack.
* cppmacro.c (funlike_invocation_p): Don't move back up to the
context of the top of the stack.
From-SVN: r39152
|
|
2001-01-20 Jakub Jelinek <jakub@redhat.com>
* function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
(fixup_var_refs_insns): ...here.
* gcc.c-torture/compile/20010118-1.c: New test.
2001-01-20 Zack Weinberg <zack@wolery.stanford.edu>
* function.c (fixup_var_refs_insns): Break up into
fixup_var_refs_insn [body of loop], fixup_var_refs_insns
[loop over entire insn list], and fixup_var_refs_insns_with_hash
[loop over hash table entries].
(fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
fixup_var_refs_insns_with_hash, to match above changes.
From-SVN: r39151
|
|
From-SVN: r39150
|
|
* Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
(libgcc.a): Likewise.
(stmp-multilib): Likewise.
(STAGE2_FLAGS_TO_PASS): Likewise.
From-SVN: r39146
|
|
* config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
temporary if no_new_pseudos.
From-SVN: r39145
|
|
From-SVN: r39144
|
|
From-SVN: r39143
|
|
From-SVN: r39142
|
|
* rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
* flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
element to be null, and always expect an EXPR_LIST.
* rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
* sched-deps.c (sched_analyze_1): Likewise.
* sched-rgn.c (check_live_1, update_live_1): Likewise.
From-SVN: r39141
|
|
* regclass.c (max_set_parallel): New variable.
(reg_scan): Take it into account in computation of max_parallel.
(reg_scan_mark_refs, case SET): Compute it.
From-SVN: r39140
|
|
* alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
args are REG.
* expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
* function.c (assign_parms): Use INTVAL for a CONST_INT.
From-SVN: r39139
|
|
From-SVN: r39138
|
|
abstract instance of an inline function.
* dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
for the abstract instance of an inline function.
From-SVN: r39137
|
|
From-SVN: r39136
|
|
information is known as potential bases...
* reload1.c (move2add_note_store): Treat all registers about which
no information is known as potential bases, and treat all
registers directly or indirectly derived from it as members of the
same set of values.
(reload_cse_move2add): Adjust accordingly. Take mode and
offset of base register into account.
From-SVN: r39135
|
|
From-SVN: r39134
|
|
* decl2.c (arg_assoc_class): Fix double iteration logic.
* init.c (build_delete): Always call convert_force to strip cv-quals.
* decl2.c (flag_new_abi): Depend on ENABLE_NEW_GXX_ABI.
* lang-specs.h: Default ABI depends on ENABLE_NEW_GXX_ABI.
* g++spec.c: Don't look at ENABLE_NEW_GXX_ABI.
From-SVN: r39133
|
|
cp:
* search.c (get_vbase_1): Count only virtual bases.
testsuite:
* g++.old-deja/g++.other/vbase5.C: New test.
From-SVN: r39132
|
|
From-SVN: r39131
|
|
cp:
* class.c (duplicate_tag_error): Robustify flag clearing.
From-SVN: r39130
|
|
cp:
* cp-tree.h (lookup_template_class): Add complain parm.
* decl.c (lookup_namespace_name): Adjust call to
lookup_template_class.
(make_typename_type): Likewise.
* semantics.c (finish_template_type): Likewise.
* pt.c (lookup_template_class): Add complain parm. Adjust.
(tsubst_aggr_type): Pass COMPLAIN down to lookup_template_class.
(tsubst): Likewise.
testsuite:
* g++.old-deja/g++.pt/deduct3.C: New test.
From-SVN: r39129
|
|
* alias.c (find_base_value): Recognize TRUNCATE.
(record_set): In PLUS case, invalidate if other summand is also a
base value.
From-SVN: r39128
|
|
cp:
* pt.c (copy_default_args_to_explicit_spec): Preserve
object's CV quals. Reorganize.
testsuite:
* g++.old-deja/g++.pt/spec34.C: New test.
From-SVN: r39127
|
|
From-SVN: r39126
|
|
From-SVN: r39125
|
|
2001-01-18 Per Bothner <per@bothner.com>
* gcj.texi (Input Options): Mention .java files.
From-SVN: r39123
|
|
From-SVN: r39122
|
|
cp:
* typeck.c (build_modify_expr): Say `initialization' for
INIT_EXPRs.
* init.c (build_default_init): Convert to enumeral type, if
needed.
testsuite:
* g++.old-deja/g++.other/init17.C: New test.
From-SVN: r39121
|
|
From-SVN: r39120
|
|
* parse.y (nomods_initdcl0): Properly set things up for
initdcl0_innards.
From-SVN: r39119
|
|
* flow.c (mark_set_1, case PARALLEL): Now case; rework to allow
entry to be EXPR_LIST.
* rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
be an EXPR_LIST (but not null, which other code doesn't allow).
(note_stores): Properly handle PARALLEL in SET.
Recursively call for top-level PARALLEL.
* sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
* sched-rgn.c (check_live_1, update_live_1): Likewise.
From-SVN: r39118
|
|
From-SVN: r39117
|
|
From-SVN: r39116
|
|
cp:
* pt.c (UNIFY_ALLOW_OUTER_LEVEL): New unify flag.
(type_unification_real): Set it.
(unify): Use it.
testsuite:
* g++.old-deja/g++.pt/unify8.C: New test.
From-SVN: r39115
|
|
cp:
* decl.c (finish_destructor_body): Convert to vbase pointer here.
testsuite:
* g++.old-deja/g++.abi/vbase1.C: New test.
From-SVN: r39114
|
|
list.
cp:
* semantics.c (begin_class_definition): Check we're not inside a
template parm list.
testsuite:
* g++.old-deja/g++.pt/crash65.C: New test.
From-SVN: r39113
|
|
cp:
* tree.c (walk_tree, TREE_LIST): Don't walk the TREE_PURPOSE of
BASELINK_P.
From-SVN: r39112
|
|
From-SVN: r39111
|
|
From-SVN: r39109
|
|
pfile->skipping (== 0).
* cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
not pfile->skipping (== 0).
From-SVN: r39108
|