Age | Commit message (Collapse) | Author | Files | Lines |
|
2000-12-01 Phil Edwards <pme@sources.redhat.com>
* diagnostic.c: Fix typos in comments.
* diagnostic.h: Likewise.
From-SVN: r37923
|
|
2000-11-30 Phil Edwards <pme@sources.redhat.com>
* rtl.texi (Machine Modes): Document BImode and OImode.
From-SVN: r37922
|
|
* gcc.c (default_compilers): Add suffixes .mi, .cp, .ii, .FOR and
.FPP.
From-SVN: r37921
|
|
element type.
* c-decl.c (grokdeclarator): If pedantic, warn about arrays with
incomplete element type.
(grokparms): Before checking for incomplete parameter type, check
the type isn't error_mark_node.
testsuite:
* gcc.dg/c99-array-nonobj-1.c: No longer XFAIL.
From-SVN: r37920
|
|
* builtins.c (target_char_cast): New function.
(expand_builtin_strchr): Use it.
(expand_builtin_strrchr): Use it.
(builtin_memset_read_str): New function.
(expand_builtin_memset): Use target_char_cast.
Try to optimize memset with second argument non-zero using
store_by_pieces.
* gcc.c-torture/execute/string-opt-5.c: Add some memset tests.
From-SVN: r37918
|
|
link to the current one ...
* install.texi (avr): Replace incomplete list of supported MCU
types with a link to the current one ...
* invoke.texi (AVR Options): ... here. Update -mmcu= to list
all supported MCU types. Document -minit-stack= default.
Document new options -mno-tablejump, -mtiny-stack.
* md.texi (AVR family): Fix typo in 'w' constraint letter
description. Document 'q'. Update 'O'.
From-SVN: r37917
|
|
registers in a multi-reg value.
From-SVN: r37916
|
|
From-SVN: r37915
|
|
ambiguous, inaccessible or virtual bases.
cp:
* call.c (standard_conversion): Reject pointer to member
conversions from ambiguous, inaccessible or virtual bases.
* typeck.c (build_static_cast): Don't check pointers to members
specially.
testsuite:
* g++.old-deja/g++.other/cast6.C: New test.
From-SVN: r37914
|
|
From-SVN: r37912
|
|
* config/sh/sh.c (shiftcosts): Don't get INTVAL before testing
whether X is a CONST_INT.
(addsubcosts): Likewise.
From-SVN: r37911
|
|
From-SVN: r37910
|
|
* config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Use INTVAL instead of
mis-used XINT.
(ARG_POINTER_REGNUM): Set to AP_REG.
From-SVN: r37909
|
|
* config/sh/sh.md (fpu_switch0, fpu_switch1, movpsi, fpu_switch,
splits): Only match on TARGET_SH4.
From-SVN: r37907
|
|
subsequent insns.
* combine.c (try_combine): Disregard USEs when updating LOG_LINKS
of subsequent insns.
From-SVN: r37905
|
|
* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable.
* config/alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
From-SVN: r37904
|
|
* config/alpha/elf.h (ASM_OUTPUT_SECTION_NAME): Copy elfos.h defn.
(DO_SELECT_SECTION): New.
(SELECT_SECTION): Use it.
(UNIQUE_SECTION_P): New.
(UNIQUE_SECTION): New.
From-SVN: r37903
|
|
From-SVN: r37902
|
|
from va_list before using it.
From-SVN: r37900
|
|
* flow.c (make_edge): Early out, if no flags to set.
(calculate_global_regs_live): Clear out garbage only when necessary.
* simplify-rtx.c (varray_type used_regs): New.
(clear_table): Use it to only clear necessary items.
(cselib_lookup, cselib_record_set): Remember newly set items.
(cselib_update_varray_sizes, cselib_init): Initialize and grow
used_regs.
* local-alloc.c (update_equiv_regs): New local `cleared_regs'.
Move clearing of dead regs out of insn-loop.
From-SVN: r37899
|
|
sequence.
* calls.c (expand_call): Emit queued insns before creating
the tail recursion sequence.
* gcc.c-torture/execute/20001130-1.c: New test.
From-SVN: r37898
|
|
accessing source object members.
cp:
* method.c (do_build_copy_constructor): Preserve cv
qualifications when accessing source object members.
(do_build_assign_ref): Likewise. Remove separate diagnostics for
unnamed fields.
testsuite:
* g++.old-deja/g++.other/op3.C: New test.
From-SVN: r37896
|
|
Co-Authored-By: Bruce Korb <bkorb@gnu.org>
From-SVN: r37895
|
|
From-SVN: r37894
|
|
reference.
cp:
* method.c (do_build_assign_ref): Construct appropriately
CV-qualified base reference. Don't allow const casts in base
conversion.
testsuite:
* g++.old-deja/g++.other/op2.C: New test.
From-SVN: r37893
|
|
From-SVN: r37873
|
|
cp:
* call.c (build_over_call): Use VOID_TYPE_P. Don't die on
incomplete return type.
testsuite:
* g++.old-deja/g++.other/crash38.C: New test.
From-SVN: r37872
|
|
From-SVN: r37871
|
|
details with Linux.
* configure.in: Reorganize handling of *-*-gnu*, to share target
specific make details with Linux. Update comments to clarify
the distinction between GNU/Linux and GNU/Hurd.
* config/t-gnu (LIBGCC1, CROSS_LIBGCC1, CRTSTUFF_T_CFLAGS,
TARGET_LIBGCC2_CFLAGS): Remove. We now use the settings from
config/t-linux for the Hurd.
From-SVN: r37870
|
|
* POTFILES.in: Move divmod routines from config/mn10200 to config/
Add dominance.c
From-SVN: r37869
|
|
* config/mn10200/udivmod.c, config/mn10200/divmod.c,
config/mn10200/udivmodsi4.c: Moved from here.
* config/udivmod.c, config/divmod.c, config/udivmodsi4.c: To here.
* config/mn10200/t-mn10200 (LIB2FUNCS_EXTRA): Use the generic
C division functions.
* config/m68hc11/t-m68hc11-gas (LIB2FUNCS_EXTRA): Likewise.
From-SVN: r37868
|
|
* pa.md (conditional moves): Avoid holes in operand list.
(mod, umod patterns): Similarly.
(variable extract/shift patterns): Similarly.
From-SVN: r37867
|
|
doing_objc_thang is true.
* objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes,
maybe_objc_check_decl, build_objc_string_object,
objc_declare_alias, objc_declare_class, build_message_expr,
build_protocol_expr, build_selector_expr, build_encode_expr,
get_class_ivars, start_class, start_protocol): Remove
redundant code, assuming doing_objc_thang is true.
From-SVN: r37866
|
|
* pa.c (restore_unscaled_index_insn_codes): Delete procedure.
(record_unscaled_index_insn_codes): Likewise.
(unscaled_index_insn_codes): Delete.
(max_unscaled_index_insn_codes_uid): Delete.
(output_function_prologue, output_function_epilogue, pa_reorg):
Don't use the unscaled index insn hack.
From-SVN: r37865
|
|
frame and...
* pa.md: Remove hack from all index insns to reverse the operand
order of frame and stack pointer references incorrectly created
in the reload pass.
From-SVN: r37864
|
|
regno_pointer_flag_length to...
* function.h (emit_status): Delete member regno_pointer_flag and
rename regno_pointer_flag_length to regno_pointer_align_length.
Delete define for REGNO_POINTER_FLAG.
* integrate.h (inline_remap): Delete member regno_pointer_flag.
Add member x_regno_reg_rtx.
* rtl.h (rtx_def): Use frame_related bit to indicate register is
a pointer in REG expressions. Define REG_POINTER macro.
* alias.c (find_base_value, find_base_term): Use REG_POINTER
instead of REGNO_POINTER_FLAG.
* combine.c (nonzero_bits, num_sign_bit_copies): Likewise.
* emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead
of regno_pointer_flag_length. Remove code which refers to
regno_pointer_flag.
(mark_reg_pointer): Use REG_POINTER.
(free_emit_status): Remove code which refers to regno_pointer_flag.
(init_emit, mark_emit_status): Likewise.
* flow.c (dump_flow_info): Likewise.
* function.c (preserve_temp_slots): Likewise.
* integrate.c (expand_inline_function, copy_rtx_and_substitute):
Use x_regno_reg_rtx instead of regno_pointer_flag for function
pointer determination in map.
* loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER.
* predict.c (estimate_probability): Likewise.
* regclass.c (record_address_regs, reg_scan_mark_refs): Likewise.
* unroll.c (unroll_loop): Use x_regno_reg_rtx instead of
regno_pointer_flag for function pointer determination in map.
* convex.h (RTX_COSTS): Don't test regno_pointer_flag and use
REG_POINTER.
* pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand):
Use REG_POINTER.
(restore_unscaled_index_insn_codes): Revise comment.
From-SVN: r37863
|
|
From-SVN: r37862
|
|
From-SVN: r37861
|
|
2000-11-29 David O'Brien <obrien@FreeBSD.org>
* config/alpha/elf.h (IDENT_ASM_OP): Protect the #define.
(ASM_DECLARE_OBJECT_NAME): Same.
(ASM_FILE_END): Same.
(ASM_FINISH_DECLARE_OBJECT): Same.
(ASM_IDENTIFY_GCC): Same.
(ASM_IDENTIFY_LANGUAGE): Same.
(ASM_OUTPUT_CONSTRUCTOR): Same.
(ASM_OUTPUT_DEF): Same.
(ASM_OUTPUT_DESTRUCTOR): Same.
(ASM_OUTPUT_EXTERNAL_LIBCALL): Same.
(ASM_OUTPUT_SECTION_NAME): Same.
(ASM_WEAKEN_LABEL): Same.
(BSS_SECTION_ASM_OP): Same.
(COMMON_ASM_OP): Same.
(CONST_SECTION_ASM_OP): Same.
(CONST_SECTION_FUNCTION): Same.
(CTORS_SECTION_ASM_OP): Same.
(DTORS_SECTION_ASM_OP): Same.
(ESCAPES): Same.
(FINI_SECTION_ASM_OP): Same.
(IDENT_ASM_OP): Same.
(IDENT_ASM_OP): Same.
(INIT_SECTION_ASM_OP): Same.
(INT_ASM_OP): Same.
(MAX_OFILE_ALIGNMENT): Same.
(SBSS_SECTION_ASM_OP): Same.
(SDATA_SECTION_ASM_OP): Same.
(SECTION_FUNCTION_TEMPLATE): Same.
(SELECT_SECTION): Same.
(SE_CONST_SECTION): Same.
(SIZE_ASM_OP): Same.
(SKIP_ASM_OP): Same.
(STRING_ASM_OP): Same.
(STRING_LIMIT): Same.
(TYPE_ASM_OP): Same.
(TYPE_OPERAND_FMT): Same.
Approved by: Richard Henderson <rth@redhat.com>
Message-ID: <20001128205112.C9793@redhat.com>
From-SVN: r37860
|
|
* c-decl.c (c_decode_option): Don't handle -lang-objc.
* objc/lang-options.h: Remove -lang-objc.
* objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
* objc/objc-act.c (lang_init_options): Set c_language.
From-SVN: r37859
|
|
* expr.c (can_store_by_pieces): Reinitialize max_size for reverse
tests.
From-SVN: r37857
|
|
2000-11-29 Toon Moene <toon@moene.indiv.nluug.nl>
* g77.f-torture/execute/20001111.x: Test fixed - remove XFAIL.
From-SVN: r37856
|
|
From-SVN: r37854
|
|
From-SVN: r37853
|
|
From-SVN: r37852
|
|
* expr.h (store_by_pieces): Add prototype.
(can_store_by_pieces): Likewise.
* expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
(can_store_by_pieces): New.
(store_by_pieces): New.
(clear_by_pieces): New.
(clear_by_pieces_1): New.
(store_by_pieces_1): Renamed from clear_by_pieces, handle storing
arbitrary compiler generated constants into memory block.
(store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
* builtins.c (c_readstr): New.
(builtin_memcpy_read_str): New.
(expand_builtin_memcpy): If src is string constant and
emit_block_move would move it by pieces, compute integer constants
from the string and store it into memory block instead.
(builtin_strncpy_read_str): New.
(expand_builtin_strncpy): If N is not constant zero and c_strlen does
not return INTEGER_CST, don't optimize.
If N is larger than strlen(src) + 1, try to copy the string
including padding with store_by_pieces.
(expand_builtin_strcmp): If both arguments have side effects, don't
optimize.
(expand_builtin_fputs): If STR has side effects, don't optimize.
* gcc.c-torture/execute/string-opt-5.c: Add some strcmp and strncpy
tests.
* gcc.c-torture/execute/string-opt-6.c: New test.
From-SVN: r37851
|
|
From-SVN: r37849
|
|
* arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
Add use of link register.
From-SVN: r37848
|
|
From-SVN: r37845
|
|
From-SVN: r37844
|