aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2007-01-05re PR fortran/23232 ([4.1 only] DATA implied DO variables)Paul Thomas11-25/+193
2007-01-05 Paul Thomas <pault@gcc.gnu.org> PR fortran/23232 * decl.c (gfc_in_match_data, gfc_set_in_match_data): New functions to signal that a DATA statement is being matched. (gfc_match_data): Call gfc_set_in_match_data on entry and on exit. * gfortran.h : Add prototypes for above. * expr.c (check_init_expr): Avoid check on parameter or variable if gfc_in_match_data is true. (gfc_match_init_expr): Do not call error on non-reduction of expression if gfc_in_match_data is true. PR fortran/27996 PR fortran/27998 * decl.c (gfc_set_constant_character_len): Add boolean arg to flag array constructor resolution. Warn if string is being truncated. Standard dependent error if string is padded. Set new arg to false for all three calls to gfc_set_constant_character_len. * match.h : Add boolean arg to prototype for gfc_set_constant_character_len. * gfortran.h : Add warn_character_truncation to gfc_options. * options.c (set_Wall): Set warn_character_truncation if -Wall is set. * resolve.c (resolve_code): Warn if rhs string in character assignment has to be truncated. * array.c (gfc_resolve_character_array_constructor): Set new argument to true for call to gfc_set_constant_character_len. 2007-01-05 Paul Thomas <pault@gcc.gnu.org> PR fortran/23232 * gfortran.dg/data_implied_do_1.f90: New test. PR fortran/27996 PR fortran/27998 * gfortran.dg/char_length_1.f90: New test. From-SVN: r120485
2007-01-05install.texi (Final install): Document the fact that the GNAT runtime should ↵Joel Brobecker2-1/+9
not be stripped. * doc/install.texi (Final install): Document the fact that the GNAT runtime should not be stripped. From-SVN: r120484
2007-01-05pt.c (tsubst): Propagate the need for structural equality checks when...Douglas Gregor2-0/+7
2007-01-04 Douglas Gregor <doug.gregor@gmail.com> * pt.c (tsubst): Propagate the need for structural equality checks when reducing the level of template parameters. From-SVN: r120483
2007-01-05re PR middle-end/28116 (ICE when building konverter with gcc-4.1 with -O3 [RSO])Richard Biener2-1/+25
2007-01-05 Richard Guenther <rguenther@suse.de> PR middle-end/28116 * g++.dg/opt/pr28116.C: New testcase. From-SVN: r120482
2007-01-05tree-inline.c (fold_marked_statements): Update operand caches and EH after ↵Jan Hubicka2-1/+14
folding * tree-inline.c (fold_marked_statements): Update operand caches and EH after folding From-SVN: r120477
2007-01-05re PR fortran/29624 (Fortran 2003: Support intent for pointers)Tobias Burnus13-65/+304
fortran/ 2007-01-05 Tobias Burnus <burnus@net-b.de> PR fortran/29624 * interface.c (compare_parameter_intent): New function. (check_intents): Support pointer intents. * symbol.c (check_conflict): Support pointer intents, better conflict_std message. * expr.c (gfc_check_assign,gfc_check_pointer_assign): Support pointer intents. * resolve.c (resolve_deallocate_expr,resolve_allocate_expr): Support pointer intents. testsuite/ 2006-01-05 Tobias Burnus <burnus@net-b.de> PR fortran/29624 * gfortran.dg/alloc_alloc_expr_1.f90: Add check for invalid deallocate. * gfortran.dg/allocatable_dummy_2.f90: Update dg-error. * gfortran.dg/protected_4.f90: Add pointer intent check. * gfortran.dg/protected_6.f90: Add pointer intent check. * gfortran.dg/pointer_intent_1.f90: New test. * gfortran.dg/pointer_intent_2.f90: New test. * gfortran.dg/pointer_intent_3.f90: New test. From-SVN: r120472
2007-01-05* c-common.c (check_function_nonnull): Whitespace fix.Ian Lance Taylor2-4/+8
From-SVN: r120470
2007-01-05tree-optimize.c (execute_fixup_cfg): Correct previously mistakely comitted ↵Jan Hubicka2-12/+20
older version of patch. * tree-optimize.c (execute_fixup_cfg): Correct previously mistakely comitted older version of patch. (pass_fixup_cfg): Add TODOs to verify flow and statements, dump function, celanup cfg and collect garbage. From-SVN: r120469
2007-01-04re PR fortran/30371 (kill suboutine accepts (invalid) array arguments.)Brooks Moses2-0/+12
PR 30371 * check.c (gfc_check_kill_sub): Add checks for non-scalar arguments. From-SVN: r120468
2007-01-04intrinsic.texi: Minor cleanup, reflowing overlong paragraphs, and correcting ↵Brooks Moses2-26/+51
whitespace. * intrinsic.texi: Minor cleanup, reflowing overlong paragraphs, and correcting whitespace. From-SVN: r120467
2007-01-04intrinsic.texi (LBOUND): Add documentation.Brooks Moses2-46/+173
* intrinsic.texi (LBOUND): Add documentation. (LGE): Add documentation. (LGT): Add documentation. (LINK): Add documentation. (LLE): Add documentation. (LLT): Add documentation. (LNBLNK): Add documentation. (UBOUND): Add documentation. (UNLINK): Add documentation. From-SVN: r120466
2007-01-05Makefile.in (mostlyclean): Don't remove libgcc anymore.Mike Stump2-2/+5
* Makefile.in (mostlyclean): Don't remove libgcc anymore. (clean): Likewise. From-SVN: r120465
2007-01-05Daily bump.GCC Administrator1-1/+1
From-SVN: r120463
2007-01-04libgcc2.c (__bswapsi2): Use SItype.Eric Christopher3-11/+17
2007-01-04 Eric Christopher <echristo@apple.com> * libgcc2.c (__bswapsi2): Use SItype. (__bswapdi2): Use DItype. * libgcc2.h: Update for above. From-SVN: r120454
2007-01-04arm.md (arm_mulsi3, [...]): Make conditional on !arm_arch6.Paul Brook2-13/+198
2007-01-04 Paul Brook <paul@codesourcery.com> * config/arm/arm.md (arm_mulsi3, thumb_mulsi3, mulsi3_compare0, mulsi_compare0_scratch, mulsi3addsi, mulsi3addsi_compare0, mulsi3addsi_compare0_scratch, mulsidi3adddi, mulsidi3, umulsidi3, umulsidi3adddi, smulsi3_highpart, umulsi3_highpart): Make conditional on !arm_arch6. (arm_mulsi3_v6, thumb_mulsi3_v6, mulsi3_compare0_v6, mulsi_compare0_scratch_v6, mulsi3addsi_v6, mulsi3addsi_compare0_v6, mulsi3addsi_compare0_scratch_v6, mulsidi3adddi_v6, mulsidi3_v6, umulsidi3_v6, umulsidi3adddi_v6, smulsi3_highpart_v6, umulsi3_highpart_v6): New insns. From-SVN: r120453
2007-01-04intrinsic.texi (IAND): Clarify argument specifications.Brooks Moses2-67/+200
* intrinsic.texi (IAND): Clarify argument specifications. (IBCLR): Add documentation. (IBITS): Add documentation. (IBSET): Add documentation. (IEOR): Add documentation. (IERRNO): Add documentation. (INDEX): Add documentation. (IOR): Add documentation. (ISHFT): Add documentation. (ISHFTC): Add documentation. (KILL): Add documentation. (LEN_TRIM): Add documentation. From-SVN: r120452
2007-01-04fold-const.c (fold_convert): When casting an expression to void...Roger Sayle2-1/+11
* fold-const.c (fold_convert): When casting an expression to void, fold_ignored_result may discover a GIMPLE_MODIFY_STMT which doesn't have a type. Instead of attempting to build a NOP_EXPR, return these "special" trees directly. From-SVN: r120451
2007-01-04re PR fortran/30235 ([4.1 only] missing alternate return argument with ↵Brooks Moses4-0/+27
explicit interface causes segfault) fortran/ PR 30235 * interface.c (compare_actual_formal): check for alternate returns when iterating over non-present arguments. testsuite/ PR 30235 * gfortran.dg/altreturn_2.f90: new test. From-SVN: r120447
2007-01-04* invoke.texi: Update manpage copyright to include 2007.Brooks Moses2-1/+5
From-SVN: r120445
2007-01-04gfortran.texi: Update copyright to include 2007.Brooks Moses4-3/+9
* gfortran.texi: Update copyright to include 2007. * intrinsic.texi: Update copyright to include 2007. * invoke.texi: Update copyright to include 2007. From-SVN: r120444
2007-01-04rs6000.c (rs6000_rtx_costs): Make adjustment for MULT inside MINUS as either ↵Joseph Myers2-2/+9
argument. * config/rs6000/rs6000.c (rs6000_rtx_costs): Make adjustment for MULT inside MINUS as either argument. Use rs6000_cost->dmul - rs6000_cost->fp not 0 as adjustment for outer NEG. From-SVN: r120442
2007-01-04re PR preprocessor/28165 (_Pragma GCC system_header broken)Tom Tromey2-0/+11
libcpp PR preprocessor/28165: * internal.h (cpp_in_primary_file): New function. * directives.c (do_include_next): Use cpp_in_primary_file. (do_pragma_once): Likewise. (do_pragma_system_header): Likewise. gcc/testsuite PR preprocessor/28165: * gcc.dg/cpp/pr28165.c: New file. From-SVN: r120441
2007-01-04cgraph.c (cgraph_release_function_body): New function.Jan Hubicka8-25/+54
* cgraph.c (cgraph_release_function_body): New function. (cgraph_remove_node): Use it. * cgraph.h (cgraph_release_function_body): Declare. * cgraphunit.c (cgraph_expand_function): Use it. * ipa.c (cgraph_remove_unreahchable_nodes): Use it. * tree-ssa.c (delete_tree_ssa): Allow to be called before aliasing is initialized and while compilation of other function is running. * tree-optimize.c (execute_free_cfg_annotations): Move code to clear statement CFG annotations from here to ... * tree-cfg.c (delete_tree_cfg_annotations): ... here. From-SVN: r120437
2007-01-04cfgloop.h (enum li_flags): Make the constants powers of two.Zdenek Dvorak2-5/+9
* cfgloop.h (enum li_flags): Make the constants powers of two. From-SVN: r120433
2007-01-04re PR fortran/30276 (gfortran include problem)Tobias Burnus2-5/+14
2007-01-02 Tobias Burnus <burnus@net-b.de> Jakub Jelinek <jakub@redhat.com> PR fortran/30276 * scanner.c (open_included_file): Revert patch. (gfc_open_included_file): Support absolute pathnames. (gfc_open_intrinsic_module): Support absolute pathnames. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r120431
2007-01-04tree-inline.c (copy_bb): Insert new statements to statements_to_fold set.Jan Hubicka3-0/+49
* tree-inline.c (copy_bb): Insert new statements to statements_to_fold set. (fold_marked_statements): New function. (optimize_inline_calls, tree_function_versioning): Fold new statements. * tree-inline.h (copy_body_data): Add statemetns_to_fold. From-SVN: r120430
2007-01-04Makefile.def (target_modules): Add libgcc.Daniel Jacobowitz23-1270/+166
./ * Makefile.def (target_modules): Add libgcc. (lang_env_dependencies): Remove default items. Use no_c and no_gcc. * Makefile.tpl (clean-target-libgcc): Delete. (configure-target-[+module+]): Emit --disable-bootstrap dependencies on gcc even for bootstrapped modules. Rewrite handling of lang_env_dependencies to loop over target_modules. * configure.in (target_libraries): Add target-libgcc. * Makefile.in, configure: Regenerated. gcc/ * config.gcc: Mention libgcc/config.host. * Makefile.in: Update comments mentioning libgcc. (LIBGCC, INSTALL_LIBGCC, GCC_PARTS, mklibgcc): Delete. (all.cross, start.encap, rest.encap, rest.cross): Update dependencies for libgcc move. (libgcc.mk, LIBGCC_DEPS, libgcov.a, libgcc.a, stmp-multilib) (clean-target, clean-target-libgcc): Delete. (srcdirify, GCC_EXTRA_PARTS): New macros. (libgcc-support, libgcc.mvars): New rules. (distclean): Remove mention of mklibgcc. (install): Don't reference INSTALL_LIBGCC. (install-common): Don't reference EXTRA_PARTS. (install-libgcc, install-multilib): Delete rules. * mklibgcc.in: Delete file. * doc/configfiles.texi: Don't mention mklibgcc. * config/i386/t-darwin (SHLIB_VERPFX): Delete (moved to libgcc). * config/i386/t-darwin64 (SHLIB_VERPFX): Likewise. * config/rs6000/t-darwin (SHLIB_VERPFX): Likewise. * config/rs6000/t-ppccomm (TARGET_LIBGCC2_CFLAGS, SHLIB_MAPFILES) (mklibgcc, ldblspecs): Likewise. * config/i386/t-nwld (libgcc.def, libc.def, libpcre.def) (posixpre.def): Use $(T). (SHLIB_EXT, SHLIB_NAME, SHLIB_SLIBDIR_QUAL, SHLIB_DEF, SHLIB_MAP) (SHLIB_SRC, SHLIB_INSTALL): Delete. (SHLIB_LINK): Make dummy. * config/t-slibgcc-darwin: Delete contents except for dummy SHLIB_LINK. * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Clear. * config/alpha/t-crtfm: Use $(T) in rules for EXTRA_PARTS. * config/alpha/t-vms, config/alpha/t-vms64, config/fr30/t-fr30, config/i386/t-rtems-i386, config/ia64/t-ia64, config/rs6000/t-beos, config/rs6000/t-newas, config/sparc/t-elf: Likewise. * configure.ac (all_outputs): Remove mklibgcc. * configure: Regenerated. libgcc/ * Makefile.in, config/i386/t-darwin, config/i386/t-darwin64, config/i386/t-nwld, config/rs6000/t-darwin, config/rs6000/t-ldbl128, config/i386/t-crtfm, config/alpha/t-crtfm, config/ia64/t-ia64, config/sparc/t-crtfm, config/t-slibgcc-darwin, config/rs6000/t-ppccomm, config.host, configure.ac, empty.mk, shared-object.mk, siditi-object.mk, static-object.mk: New files. * configure: Generated. Co-Authored-By: Paolo Bonzini <bonzini@gnu.org> From-SVN: r120429
2007-01-03* gfortran.texi (GNU Fortran and GCC): RewriteBrooks Moses2-43/+33
From-SVN: r120428
2007-01-03gfortran.texi (Introduction): Lower "Part I...Brooks Moses3-30/+60
* gfortran.texi (Introduction): Lower "Part I: Introduction" to a chapter, renumber Parts II and III to Parts I and II. * intrinsic.texi (Introduction): Rename to "Introduction to Intrinsics" to avoid conflict with the new chapter. From-SVN: r120427
2007-01-03* intrinsic.texi (Introduction): Rewrite first paragraph.Brooks Moses2-7/+11
From-SVN: r120426
2007-01-04re PR middle-end/29683 (Arg split between stack/regs can cause stack corruption)Josh Conner4-8/+94
2007-03-01 Josh Conner <jconner@apple.com> PR middle-end/29683 * calls.c (compute_argument_addresses): Set stack and stack_slot for partial args, too. (store_one_arg): Use locate.size.constant for the size when generating a save_area. 2007-03-01 Josh Conner <jconner@apple.com> PR middle-end/29683 * gcc.dg/pr29683.c: New. From-SVN: r120425
2007-01-03invoke.texi (OpenMP): Added index entry.Brooks Moses3-2/+8
* invoke.texi (OpenMP): Added index entry. * gfortran.texi (title page): Removed erroneous '*'. From-SVN: r120424
2007-01-04tree-cfg.c (tree_merge_blocks): Release SSA_NAME phi results whose ↵Robert Kennedy2-4/+11
definitions are deleted due to basic block... * tree-cfg.c (tree_merge_blocks): Release SSA_NAME phi results whose definitions are deleted due to basic block merging. From-SVN: r120423
2007-01-03gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units to description.Brooks Moses2-144/+178
* gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units to description. (Extensions): Miscellaneous minor rewriting and copyediting. (BOZ-literal constants): Renamed from Hexadecimal constants. (Hollerith constants support): Added explanation and suggestions for standard-conforming modern equivalents. From-SVN: r120422
2007-01-03intrinsic.texi: Improvements to index entries; change @findex entries to ↵Brooks Moses4-444/+458
@cindex entries. * intrinsic.texi: Improvements to index entries; change @findex entries to @cindex entries. * invoke.texi: Standardize and improve index entries. * gfortran.texi: Fix @code in one index entry. From-SVN: r120421
2007-01-03invoke.texi: Change @code-type macros to appropriate variants (@command, ↵Brooks Moses3-38/+41
@option, etc.) * invoke.texi: Change @code-type macros to appropriate variants (@command, @option, etc.) * gfortran.texi: Same. From-SVN: r120420
2007-01-04Daily bump.GCC Administrator1-1/+1
From-SVN: r120418
2007-01-04re PR target/16634 (arm-elf-gcc problems when generating code for ↵Paul Brook2-16/+41
__attribute__ ((interrupt ("IRQ")))) 2007-01-03 Paul Brook <paul@codesourcery.com> PR target/16634 gcc/ * config/arm/arm.c (output_return_instruction): Pop PC in interrupt functions. (use_return_insn): Return 0 for Thumb interrupt functions. (print_multi_reg): Add rfe argument for IRQ returns. (arm_output_epilogue): Pop interrupt return address directly into PC. (arm_expand_prologue): Only adjust IRQ return address in Arm mode. From-SVN: r120413
2007-01-04re PR c++/28217 (ICE in tree_int_cst_sgn)Jakub Jelinek3-0/+19
PR c++/28217 * g++.dg/pch/template-1.C: New test. * g++.dg/pch/template-1.Hs: New file. From-SVN: r120410
2007-01-03* intrinsic.texi: Various minor cleanups.Brooks Moses2-18/+18
From-SVN: r120409
2007-01-03backport: thumb2.md: New file.Paul Brook27-1367/+4642
2007-01-03 Paul Brook <paul@codesourcery.com> Merge from sourcerygxx-4_1. gcc/ * config/arm/thumb2.md: New file. * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Return True for Thumb-2. * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Ditto. * config/arm/aout.h (ASM_OUTPUT_ADDR_VEC_ELT): Add !Thumb-2 assertion. (ASM_OUTPUT_ADDR_DIFF_ELT): Output Thumb-2 jump tables. * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output Thumb-2 jump tables. (ASM_OUTPUT_ADDR_VEC_ELT): Add !Thumb-2 assertion. * config/arm/ieee754-df.S: Use macros for Thumb-2/Unified asm comptibility. * config/arm/ieee754-sf.S: Ditto. * config/arm/arm.c (thumb_base_register_rtx_p): Rename... (thumb1_base_register_rtx_p): ... to this. (thumb_index_register_rtx_p): Rename... (thumb1_index_register_rtx_p): ... to this. (thumb_output_function_prologue): Rename... (thumb1_output_function_prologue): ... to this. (thumb_legitimate_address_p): Rename... (thumb1_legitimate_address_p): ... to this. (thumb_rtx_costs): Rename... (thumb1_rtx_costs): ... to this. (thumb_compute_save_reg_mask): Rename... (thumb1_compute_save_reg_mask): ... to this. (thumb_final_prescan_insn): Rename... (thumb1_final_prescan_insn): ... to this. (thumb_expand_epilogue): Rename... (thumb1_expand_epilogue): ... to this. (arm_unwind_emit_stm): Rename... (arm_unwind_emit_sequence): ... to this. (thumb2_legitimate_index_p, thumb2_legitimate_address_p, thumb1_compute_save_reg_mask, arm_dwarf_handle_frame_unspec, thumb2_index_mul_operand, output_move_vfp, arm_shift_nmem, arm_save_coproc_regs, thumb_set_frame_pointer, arm_print_condition, thumb2_final_prescan_insn, thumb2_asm_output_opcode, arm_output_shift, thumb2_output_casesi): New functions. (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define. (FL_THUMB2, FL_NOTM, FL_DIV, FL_FOR_ARCH6T2, FL_FOR_ARCH7, FL_FOR_ARCH7A, FL_FOR_ARCH7R, FL_FOR_ARCH7M, ARM_LSL_NAME, THUMB2_WORK_REGS): Define. (arm_arch_notm, arm_arch_thumb2, arm_arch_hwdiv, arm_condexec_count, arm_condexec_mask, arm_condexec_masklen)): New variables. (all_architectures): Add armv6t2, armv7, armv7a, armv7r and armv7m. (arm_override_options): Check new CPU capabilities. Set new architecture flag variables. (arm_isr_value): Handle v7m interrupt functions. (user_return_insn): Return 0 for v7m interrupt functions. Handle Thumb-2. (const_ok_for_arm): Handle Thumb-2 constants. (arm_gen_constant): Ditto. Use movw when available. (arm_function_ok_for_sibcall): Return false for v7m interrupt functions. (legitimize_pic_address, arm_call_tls_get_addr): Handle Thumb-2. (thumb_find_work_register, arm_load_pic_register, legitimize_tls_address, arm_address_cost, load_multiple_sequence, emit_ldm_seq, emit_stm_seq, arm_select_cc_mode, get_jump_table_size, print_multi_reg, output_mov_long_double_fpa_from_arm, output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm, output_mov_double_fpa_from_arm, output_move_double, arm_compute_save_reg_mask, arm_compute_save_reg0_reg12_mask, output_return_instruction, arm_output_function_prologue, arm_output_epilogue, arm_get_frame_offsets, arm_regno_class, arm_output_mi_thunk, thumb_set_return_address): Ditto. (arm_expand_prologue): Handle Thumb-2. Use arm_save_coproc_regs. (arm_coproc_mem_operand): Allow POST_INC/PRE_DEC. (arithmetic_instr, shift_op): Use arm_shift_nmem. (arm_print_operand): Use arm_print_condition. Handle '(', ')', '.', '!' and 'L'. (arm_final_prescan_insn): Use extract_constrain_insn_cached. (thumb_expand_prologue): Use thumb_set_frame_pointer. (arm_file_start): Output directive for unified syntax. (arm_unwind_emit_set): Handle stack alignment instruction. * config/arm/lib1funcs.asm: Remove default for __ARM_ARCH__. Add v6t2, v7, v7a, v7r and v7m. (RETLDM): Add Thumb-2 code. (do_it, shift1, do_push, do_pop, COND, THUMB_SYNTAX): New macros. * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __thumb2__. (TARGET_THUMB1, TARGET_32BIT, TARGET_THUMB2, TARGET_DSP_MULTIPLY, TARGET_INT_SIMD, TARGET_UNIFIED_ASM, ARM_FT_STACKALIGN, IS_STACKALIGN, THUMB2_TRAMPOLINE_TEMPLATE, TRAMPOLINE_ADJUST_ADDRESS, ASM_OUTPUT_OPCODE, THUMB2_GO_IF_LEGITIMATE_ADDRESS, THUMB2_LEGITIMIZE_ADDRESS, CASE_VECTOR_PC_RELATIVE, CASE_VECTOR_SHORTEN_MODE, ADDR_VEC_ALIGN, ASM_OUTPUT_CASE_END, ADJUST_INSN_LENGTH): Define. (TARGET_REALLY_IWMMXT, TARGET_IWMMXT_ABI, CONDITIONAL_REGISTER_USAGE, STATIC_CHAIN_REGNUM, HARD_REGNO_NREGS, INDEX_REG_CLASS, BASE_REG_CLASS, MODE_BASE_REG_CLASS, SMALL_REGISTER_CLASSES, PREFERRED_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE, HAVE_PRE_INCREMENT, HAVE_POST_DECREMENT, HAVE_PRE_DECREMENT, HAVE_PRE_MODIFY_DISP, HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_REG, HAVE_POST_MODIFY_REG, REGNO_MODE_OK_FOR_BASE_P, LEGITIMATE_CONSTANT_P, REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, GO_IF_LEGITIMATE_ADDRESS, LEGITIMIZE_ADDRESS, THUMB2_LEGITIMIZE_ADDRESS, GO_IF_MODE_DEPENDENT_ADDRESS, MEMORY_MOVE_COST, BRANCH_COST, ASM_APP_OFF, ASM_OUTPUT_CASE_LABEL, ARM_DECLARE_FUNCTION_NAME, FINAL_PRESCAN_INSN, PRINT_OPERAND_PUNCT_VALID_P, PRINT_OPERAND_ADDRESS): Adjust for Thumb-2. (arm_arch_notm, arm_arch_thumb2, arm_arch_hwdiv): New declarations. * config/arm/arm-cores.def: Add arm1156t2-s, cortex-a8, cortex-r4 and cortex-m3. * config/arm/arm-tune.md: Regenerate. * config/arm/arm-protos.h: Update prototypes. * config/arm/vfp.md: Enable patterns for Thumb-2. (arm_movsi_vfp): Add movw alternative. Use output_move_vfp. (arm_movdi_vfp, movsf_vfp, movdf_vfp): Use output_move_vfp. (thumb2_movsi_vfp, thumb2_movdi_vfp, thumb2_movsf_vfp, thumb2_movdf_vfp, thumb2_movsfcc_vfp, thumb2_movdfcc_vfp): New. * config/arm/libunwind.S: Add Thumb-2 code. * config/arm/constraints.md: Update include Thumb-2. * config/arm/ieee754-sf.S: Add Thumb-2/Unified asm support. * config/arm/ieee754-df.S: Ditto. * config/arm/bpabi.S: Ditto. * config/arm/t-arm (MD_INCLUDES): Add thumb2.md. * config/arm/predicates.md (low_register_operand, low_reg_or_int_operand, thumb_16bit_operator): New. (thumb_cmp_operand, thumb_cmpneg_operand): Rename... (thumb1_cmp_operand, thumb1_cmpneg_operand): ... to this. * config/arm/t-arm-elf: Add armv7 multilib. * config/arm/arm.md: Update patterns for Thumb-2 and Unified asm. Include thumb2.md. (UNSPEC_STACK_ALIGN, ce_count): New. (arm_incscc, arm_decscc, arm_umaxsi3, arm_uminsi3, arm_zero_extendsidi2, arm_zero_extendqidi2): New insns/expanders. * config/arm/fpa.md: Update patterns for Thumb-2 and Unified asm. (thumb2_movsf_fpa, thumb2_movdf_fpa, thumb2_movxf_fpa, thumb2_movsfcc_fpa, thumb2_movdfcc_fpa): New insns. * config/arm/cirrus.md: Update patterns for Thumb-2 and Unified asm. (cirrus_thumb2_movdi, cirrus_thumb2_movsi_insn, thumb2_cirrus_movsf_hard_insn, thumb2_cirrus_movdf_hard_insn): New insns. * doc/extend.texi: Document ARMv7-M interrupt functions. * doc/invoke.texi: Document Thumb-2 new cores+architectures. From-SVN: r120408
2007-01-04unwind-dw2.c (SIGNAL_FRAME_BIT, [...]): Define.Jakub Jelinek3-11/+61
* unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define. (struct _Unwind_Context): Rename args_size to flags, remove signal_frame field, add a new args_size field and version field. (_Unwind_IsSignalFrame, _Unwind_SetSignalFrame, _Unwind_IsExtendedContext): New inline functions. (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr): Assume by_value array is only present if _Unwind_IsExtendedContext. (_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use _Unwind_IsSignalFrame. (__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT. (uw_update_context_1): Use _Unwind_SetSignalFrame. (uw_init_context_1): Initialize context->flags to EXTENDED_CONTEXT_BIT. * config/rs6000/linux-unwind.h (frob_update_context): Use _Unwind_SetSignalFrame. From-SVN: r120406
2007-01-03Fix PR number in my last changelog entry, I got the testsuite one correct.Andrew Pinski1-1/+1
From-SVN: r120405
2007-01-03re PR target/20353 (uclibc does not provide C99 math functions)Andrew Pinski4-40/+62
2007-01-03 Andrew Pinski <andrew_pinski@playstation.sony.com> PR middle-end/20353 * gimplify.c (gimplify_modify_expr_complex_part): Move below tree_to_gimple_tuple. Call tree_to_gimple_tuple when we need the value. 2007-01-03 Andrew Pinski <andrew_pinski@playstation.sony.com> PR middle-end/30353 * gcc.c-torture/compile/complex-4.c: New test. From-SVN: r120404
2007-01-03vect.exp: Skip PowerPC targets not supporting -maltivec.Joseph Myers3-2/+11
* g++.dg/vect/vect.exp: Skip PowerPC targets not supporting -maltivec. * gcc.target/powerpc/altivec-20.c: Use powerpc_altivec_ok. From-SVN: r120401
2007-01-03* cgraphunit.c, tree-ssa-alias.c: Fix comment typos.Kazu Hirata3-2/+4
From-SVN: r120395
2007-01-03* pt.c: Fix a comment typo.Kazu Hirata2-2/+6
From-SVN: r120394
2007-01-03re PR middle-end/30286 (Segfault with -O2 -ftrapv)Jakub Jelinek2-0/+40
PR middle-end/30286 * gcc.dg/pr30286.c: New test. From-SVN: r120387
2007-01-03alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.Kazu Hirata10-77/+74
* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared. * cfgbuild.c (find_basic_blocks): Likewise. * cfgrtl.c (rtl_create_basic_block): Likewise. * function.c (temp_slots_at_level): Likewise. * reg-stack.c (stack_regs_mentioned): Likewise. * regclass.c (allocate_reg_info): Likewise. * tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb, set_bb_for_stmt, move_block_to_fn): Likewise. * tree-complex.c (tree_lower_complex): Likewise. * vec.h (VEC_safe_grow_cleared): New. From-SVN: r120386
2007-01-03re PR c++/29535 (ICE in instantiate_class_template, at cp/pt.c:5728)Jakub Jelinek2-0/+20
PR c++/29535 * g++.dg/template/crash66.C: New test. From-SVN: r120385