aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2003-10-17re PR c++/2513 (internal template template parameter causes ICE)Kriang Lerdsuwanakij5-10/+57
PR c++/2513 * decl.c (make_typename_type): Use dependent_type_p. (make_unbound_class_template): Likewise. * pt.c (instantiate_class_template): Increment processing_template_decl during substitution of template friend function. Preincrement processing_template_decl rather than postincrement. (get_mostly_instantiated_function_type): Increment processing_template_decl during partial substitution of function type. * g++.dg/template/typename5.C: New test. From-SVN: r72611
2003-10-18* config/rs6000/crtsavres.asm: Remove powerpc64 code.Alan Modra2-104/+3
From-SVN: r72610
2003-10-18* config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code.Alan Modra2-0/+6
From-SVN: r72609
2003-10-17arm.c (use_return_insn): Not a single instruction, if there's a frame pointer.Richard Earnshaw2-3/+25
* config/arm/arm.c (use_return_insn): Not a single instruction, if there's a frame pointer. (arm_output_epilogue): Protect stack pointer from being corrupted on interrupt. Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com> From-SVN: r72606
2003-10-17* ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.Ulrich Weigand2-4/+6
From-SVN: r72603
2003-10-17combine.c (simplify_set): Do not clear out undobuf.other_insn already set ↵Ulrich Weigand2-4/+9
elsewhere. * combine.c (simplify_set): Do not clear out undobuf.other_insn already set elsewhere. From-SVN: r72602
2003-10-17i386.c (ix86_expand_prologue): Use gen_allocate_stack_worker.Kelley Cook2-16/+13
* config/i386/i386.c (ix86_expand_prologue): Use gen_allocate_stack_worker. From-SVN: r72601
2003-10-17config.gcc (mips-sgi-irix6*o32): Only enable use_collect2 without gas.Rainer Orth11-189/+484
* config.gcc (mips-sgi-irix6*o32): Only enable use_collect2 without gas. (mips-sgi-irix6*): Likewise. * config/mips/iris6gas.h: New file. * gcc/config.gcc (mips-sgi-irix6*): Use it. * config/mips/mips.h (TARGET_IRIX): Provide default. (TARGET_IRIX5): Likewise. (TARGET_SGI_O32_AS): Likewise. * config/mips/iris5.h (TARGET_IRIX): Redefine as 1. (TARGET_IRIX5): Likewise. * config/mips/iris6.h (TARGET_IRIX6): Remove. (TARGET_IRIX5): Redefine as 0. * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32 linker workaround with TARGET_IRIX and mips_abi instead of ASM_OUTPUT_UNDEF_FUNCTION. (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition, testing TARGET_IRIX and mips_abi explicitly. * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove. * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef. * config/mips/mips.c (irix_output_external_libcall): Renamed from mips_output_external_libcall. Use new TARGET_IRIX in guard. * config/mips/mips-protos.h (irix_output_external_libcall): Match this. * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise. * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment. Define as 0. * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define depending on mips_abi. * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1. * config/mips/mips.c (mips_output_function_prologue): Test FUNCTION_NAME_ALREADY_DECLARED at runtime. (mips_output_function_epilogue): Likewise. (build_mips16_function_stub): Likewise. (build_mips16_call_stub): Likewise. * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide default. * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native IRIX 6 O32 assembler. (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI. (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define _MIPS_SIM for O32 ABI. (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler. (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version. (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition. Integrate O32 version. (SUBTARGET_ASM_SPEC): Handle -mabi=32. (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with O32 ABI. (BSS_SECTION_ASM_OP_32): Define. (BSS_SECTION_ASM_OP_64): Likewise. (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs using them. (TARGET_ASM_NAMED_SECTION): Reflect renaming. Move up to allow override for O32 ABI without GNU as. (EH_FRAME_SECTION_NAME): Define explicitly. (MUST_USE_SJLJ_EXCEPTIONS): Define. [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Dummy definitions. (TARGET_ASM_NAMED_SECTION): Undef statically. (EH_FRAME_SECTION_NAME): Likewise. (ASM_OUTPUT_FILENAME): Integrate mips.h version. (LINK_SPEC): Only use default options -call_shared -no_unresolved without -r. Don't pass -init, -fini with -mabi=32. (COLLECT_PARSE_FLAG): Define. * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to TARGET_IRIX. Renamed to use irix_ prefix. (iris6_asm_named_section): Likewise. (iris_section_align_entry_eq): Likewise. (iris_section_align_entry_hash): Likewise. (iris6_file_start): Likewise. (iris6_section_align_1): Likewise. (iris6_file_end): Likewise. (iris6_section_type_flags): Likewise. (iris_section_align_htab): Likewise. (iris_orig_asm_out_file): Likewise. [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename. (TARGET_ASM_FILE_END): Likewise. (TARGET_SECTION_TYPE_FLAGS): Likewise. * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6] (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in override_options instead. (TARGET_ASM_UNALIGNED_SI_OP): Likewise. (TARGET_ASM_UNALIGNED_DI_OP): Likewise. * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32 assemblers. Likewise for constructor/destructor handling. (override_options): Handle IRIX O32 assembler quirks. [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and without gas. (mips_file_start): Use new TARGET_IRIX. (mips_declare_object_name): No special processing for IRIX O32 assembler. (mips_finish_declare_object): Likewise. (irix_asm_output_align): Renamed from iris6_asm_output_align. Don't record alignment for O32 ABI. (irix_file_start): Renamed from iris6_file_start. Return early for O32 ABI. (irix_file_end): Renamed from iris6_file_end. Don't emit .section directives for O32 ABI. * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming. * config/mips/mips-protos.h (irix_asm_output_align): Likewise. * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32. (MULTILIB_OSDIRNAMES): Likewise. From-SVN: r72600
2003-10-17collect2.c (COLLECT_PARSE_FLAG): Provide default.Rainer Orth3-2/+21
* collect2.c (COLLECT_PARSE_FLAG): Provide default. (main): Use it. * doc/tm.texi (COLLECT_PARSE_FLAG): Document it. From-SVN: r72599
2003-10-17re PR c++/12369 (ICE with templates and friends)Kriang Lerdsuwanakij2-0/+19
PR c++/12369 * g++.dg/template/friend25.C: New test. From-SVN: r72596
2003-10-17arm-modes.def (CC_Nmode): New condition code mode.Richard Earnshaw6-43/+736
* arm-modes.def (CC_Nmode): New condition code mode. * arm.c (thumb_condition_code): Delete. (arm_select_cc_mode): Handle single-bit test for Thumb. (arm_print_operand, cases 'd' and 'D'): Don't special case the condition code logic for Thumb. (get_arm_condition_code): Handle CC_Nmode. (thumb_cbrch_target_operand): New function. * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand. * arm-protos.h (thumb_cbrch_target_operand): Add prototype. * arm.md: Add Thumb split patterns for zero_extract and sign_extract. (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch) (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch) (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch) (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns. (cbranchne_decr1): Re-work to use CC_Nmode. * arm.c (thumb_expand_epilogue): Add clobbers of registers restored by the return instruction. Add a use of the link register if it wasn't stored. From-SVN: r72595
2003-10-17flow.c (init_propagate_block_info): Don't abort if a conditional jump is not ↵Richard Earnshaw2-37/+48
a comparison of a register. * flow.c (init_propagate_block_info): Don't abort if a conditional jump is not a comparison of a register. Instead, just don't record conditional life information. From-SVN: r72594
2003-10-17fixJason Merrill1-1/+2
From-SVN: r72592
2003-10-17re PR rtl-optimization/12630 (Various unrecognizable insns and ICEs at -O3)Jan Hubicka2-6/+12
PR optimization/12630 * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers for operands 7 and 8. From-SVN: r72590
2003-10-16Change TARGET_ALTIVEC to TARGET_ALTIVEC_ABI.David Edelsohn2-2/+2
From-SVN: r72589
2003-10-17Daily bump.GCC Administrator1-1/+1
[[Split portion of a mixed commit.]] From-SVN: r72586.2
2003-10-16eliminate conflict indicatorR. Kelley Cook1-1/+0
From-SVN: r72583
2003-10-16* objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.R. Kelley Cook2-0/+7
From-SVN: r72581
2003-10-16cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.Danny Smith3-21/+47
* config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define. * config/i386/winnt.c (gen_stdcall_suffix): Make static (gen_fastcall_suffix): Likewise. (i386_pe_dllexport_p): Likewise. (i386_pe_dllimport_p): Likewise. (i386_pe_mark_dllexport): Likewise. (i386_pe_mark_dllimport): Likewise. (i386_pe_asm_named_section): Fix formatting. From-SVN: r72566
2003-10-16try-catch-2.m: Relax target triple to all Darwin versions.Ziemowit Laski2-1/+6
2003-10-16 Ziemowit Laski <zlaski@apple.com> * objc.dg/try-catch-2.m: Relax target triple to all Darwin versions. From-SVN: r72563
2003-10-16configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.Zack Weinberg5-105/+121
* configure.in: Add snprintf to gcc_AC_CHECK_DECLS list. * system.h: Declare snprintf if necessary. * configure, config.in: Regenerate. From-SVN: r72557
2003-10-16rs6000.c (rs6000_va_arg): Only align vector arguments if TARGET_ALTIVEC.David Edelsohn2-1/+6
* config/rs6000/rs6000.c (rs6000_va_arg): Only align vector arguments if TARGET_ALTIVEC. From-SVN: r72555
2003-10-1620031003-1.c: Enable only when INT_MAX == 2147483647.Kazu Hirata2-0/+9
* gcc.c-torture/execute/20031003-1.c: Enable only when INT_MAX == 2147483647. From-SVN: r72549
2003-10-16builtins.c (fold_builtin_memcpy, [...]): New functions.Roger Sayle2-16/+321
* builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy, fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy, fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp): New functions. (expand_builtin_memcpy): Use integer_zerop instead of testing host_integerp and tree_low_cst directly. Move misapplied hunk for optimization wher SRC and DEST point to the same location. (expand_builtin_mempcpy): From here. (expand_builtin_memmove): Use integer_zerop instead of testing host_integerp and tree_low_cst_directly. (expand_builtin_memset): Likewise. (expand_builtin_memcmp): Likewise (and for integer_onep). (expand_builtin_strncmp): Likewise. (fold_builtin): Call the appropriate fold_builtin_foo functions to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp, strcmp and strncmp. From-SVN: r72547
2003-10-16960416-1.x: Remove.Kazu Hirata3-10/+5
* gcc.c-torture/execute/960416-1.x: Remove. * gcc.c-torture/execute/divconst-3.x: Likewise. From-SVN: r72545
2003-10-16darwin-protos.h (machopic_non_lazy_ptr_name): Delete prototype.Geoffrey Keating3-93/+111
* config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete prototype. Clean up some whitespace. * config/darwin.c: Use gen_rtx_FOO (...) rather than gen_rtx (FOO, ...). (machopic_non_lazy_ptr_name): Make static. (name_needs_quotes): Allow '.' and '$' unquoted. (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic case. From-SVN: r72544
2003-10-16Fix CRLF problem with 20031012-1.cR. Kelley Cook1-32/+32
From-SVN: r72543
2003-10-16Daily bump.GCC Administrator1-1/+1
From-SVN: r72541
2003-10-15problem that current decl duplication mechanizm > > /* If we didn't remap ↵Jan Hubicka2-10/+20
this variable... problem that current decl duplication mechanizm > > /* If we didn't remap this variable, so we can't mess with its > TREE_CHAIN. If we remapped this variable to the return slot, it's From-SVN: r72539
2003-10-15fold-const.c (tree_swap_operands_p): disables some features when optimizing ↵Gábor Lóki2-0/+8
for size. 2003-10-15 G�bor L�ki <alga@rgai.hu> * fold-const.c (tree_swap_operands_p): disables some features when optimizing for size. From-SVN: r72538
2003-10-15linux.h (MD_FALLBACK_FRAME_STATE_FOR): NewDavid Daney1-0/+10
* config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind from leaf functions. (DWARF_FRAME_RETURN_COLUMN): Ditto. (SIGNAL_UNWIND_RETURN_COLUMN): New, used by MD_FALLBACK_FRAME_STATE_FOR. * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target. From-SVN: r72537
2003-10-15linux.h (MD_FALLBACK_FRAME_STATE_FOR): NewDavid Daney3-4/+77
* config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind from leaf functions. (DWARF_FRAME_RETURN_COLUMN): Ditto. (SIGNAL_UNWIND_RETURN_COLUMN): New, used by MD_FALLBACK_FRAME_STATE_FOR. * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target. From-SVN: r72536
2003-10-15Remove stray blank lineZack Weinberg1-1/+0
From-SVN: r72535
2003-10-15genmodes.c: Include hashtab.h.Zack Weinberg6-53/+260
* genmodes.c: Include hashtab.h. (modes_by_name, hash_mode, eq_mode, struct mode_adjust) (adj_bytesize, adj_alignment, adj_format, new_adjust) (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT) (print_maybe_const_decl, emit_mode_adjustments): New. (known_modes): Rename to modes. (find_mode): Kill class argument; look up in hash table. (new_mode): Insert into hash table also. (new_adjust): New. (reset_float_format, make_partial_integer_mode) (make_vector_mode): Tweak error reporting. (reset_float_format): Correct type of fourth argument. (emit_insn_modes_h): Add #defines to help make mode_size, mode_base_align, and real_format_for_mode conditionally const. (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl. (emit_real_format_for_mode): Likewise, but temporarily disabled. (emit_insn_modes_c): Call emit_mode_adjustments. (main): Initialize modes_by_name. * Makefile.in: Update dependencies. * machmode.def: Document EXPR arguments and new ADJUST_* statements. * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in declarations of mode_size and mode_base_align. Declare init_adjust_machine_modes. * toplev.c (backend_init): Call init_adjust_machine_modes. From-SVN: r72534
2003-10-15genmodes.c (calc_wider_mode): Allocate enough room for all the entries we'll ↵Olivier Hainque2-1/+8
possibly assign in the sort buffer. * genmodes.c (calc_wider_mode): Allocate enough room for all the entries we'll possibly assign in the sort buffer. From-SVN: r72531
2003-10-15Fixed up last commit.Ulrich Weigand2-1/+10
From-SVN: r72530
2003-10-15config.gcc (s390x-ibm-tpf*): New target.Ulrich Weigand4-0/+140
* config.gcc (s390x-ibm-tpf*): New target. * doc/invoke.texi: Document it. * config/s390/t-tpf: New file. * config/s390/tpf.h: New file. From-SVN: r72529
2003-10-15Forgot to mention cris_notice_update_cc in last ChangeLog entryHans-Peter Nilsson1-0/+2
From-SVN: r72522
2003-10-15re PR target/12598 (Invalid size optimization on volatile memory reference)Hans-Peter Nilsson4-57/+92
PR target/12598 * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1) (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12): Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM. ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20) (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27) (define_split "*mov_sidesi_mem"+28, +29, +30): Use replace_equiv_address, not gen_rtx_MEM. * config/cris/cris.c (cris_mem_op): New match_operator function. * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op. From-SVN: r72521
2003-10-15re PR target/12598 (Invalid size optimization on volatile memory reference)Hans-Peter Nilsson2-0/+77
PR target/12598 * gcc.dg/torture/cris-volatile-1.c: New test. From-SVN: r72520
2003-10-15m68k.h (MASK_SEP_DATA, [...]): Move definitions after the other flags.Bernardo Innocenti2-13/+19
* config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA, MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move definitions after the other flags. From-SVN: r72516
2003-10-14oopsJason Merrill1-4/+4
From-SVN: r72511
2003-10-15Daily bump.GCC Administrator1-1/+1
From-SVN: r72508
2003-10-15c-parse.in (methoddef, [...]): Call objc_add_method() instead of add_method().Ziemowit Laski4-9/+23
2003-10-14 Ziemowit Laski <zlaski@apple.com> * c-parse.in (methoddef, methodproto): Call objc_add_method() instead of add_method(). * objc/objc-act.c (objc_check_decl): Do not check for constant_string_type. (add_method): Rename to objc_add_method(). (really_start_method): Call objc_add_method() instead of add_method(). * objc/objc-act.h (add_method): Rename to objc_add_method(). From-SVN: r72506
2003-10-14s390-protos.h (s390_alc_comparison): Add prototype.Ulrich Weigand5-3/+277
* config/s390/s390-protos.h (s390_alc_comparison): Add prototype. (s390_slb_comparison): Likewise. * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison): New functions. * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison and s390_slb_comparison. * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on zSeries machines. ("*adddi3_31z", "*subdi3_31z"): New insns. ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb", "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"): New insns. From-SVN: r72505
2003-10-14configure.in: Clean up some feedback echoes.Nathanael Nerode3-46/+33
* configure.in: Clean up some feedback echoes. * configure: Regenerate. From-SVN: r72503
2003-10-14* aclocal.m4: Properly quote names of macros being defined.Nathanael Nerode2-17/+19
From-SVN: r72499
2003-10-14re PR c++/11878 (ICE in cp_expr_size)Jason Merrill1-0/+13
PR c++/11878 * tree.c (build_target_expr_with_type): Call force_rvalue for classes with non-trivial copy ctors. From-SVN: r72496
2003-10-14re PR c++/11063 (ICE on parsing initialization list of const array member)Jason Merrill1-0/+15
PR c++/11063 * typeck.c (build_modify_expr): Call convert rather than abort. From-SVN: r72495
2003-10-14re PR c++/11878 (ICE in cp_expr_size)Jason Merrill3-2/+18
PR c++/11878 * tree.c (build_target_expr_with_type): Call force_rvalue for classes with non-trivial copy ctors. PR c++/11063 * typeck.c (build_modify_expr): Call convert rather than abort. From-SVN: r72494