summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Move PR c++/45112 ChangeLog entry to correct location.Ulrich Weigand2010-07-312-5/+5
| | | | From-SVN: r162785
* tree-ssa-math-opts.c (convert_plusminus_to_widen): Fix type used in the call ↵Richard Sandiford2010-07-312-13/+25
| | | | | | | | | | | | to optab_for_tree_code. gcc/ * tree-ssa-math-opts.c (convert_plusminus_to_widen): Fix type used in the call to optab_for_tree_code. Fix the second is_widening_mult_p call. Check that both unwidened operands have the same sign. From-SVN: r162784
* John Tytgat <John.Tytgat@aaug.net>John Tytgat2010-07-312-4/+4
| | | | | | | John Tytgat <John.Tytgat@aaug.net> * config/arm/arm.c (arm_function_arg): Remove superfluous test. From-SVN: r162782
* spu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.Anatoly Sokolov2010-07-312-7/+5
| | | | | | * config/spu/spu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro. From-SVN: r162779
* re PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal ↵Mikael Morin2010-07-313-1/+13
| | | | | | | | | | | | | | argument) 2010-07-31 Mikael Morin <mikael@gcc.gnu.org> PR fortran/42051 PR fortran/44064 * symbol.c (changed_syms): Made non-static. * parse.c (changed_syms): Declare new external. (next_statement): Assert changed_syms is NULL at the beginning. From-SVN: r162776
* i386.md (mov<SWIM:mode>cc and corresponding splitter): Use ↵Uros Bizjak2010-07-312-3/+4
| | | | | | | | | | ordered_comparison_operator predicate for operator1. * config/i386/i386.md (mov<SWIM:mode>cc and corresponding splitter): Use ordered_comparison_operator predicate for operator1. (add<mode>cc): ditto. From-SVN: r162775
* predicates.md (rx_constshift_operand): New.DJ Delorie2010-07-303-9/+127
| | | | | | | | | | | | | | | * config/rx/predicates.md (rx_constshift_operand): New. * config/rx/rx.md (zs_cond): New. (cbranchsi4): Remove mode. (*cbranchsi4_<code>): Likewise. (*tstbranchsi4_<code>): New. (*tstbranchsi4r_<code>): New. (*tstbranchsi4m_eq): New. (*tstbranchsi4m_ne): New. (cbranchsf4): Remove mode. (*cbranchsf4_<code>): Likewise. From-SVN: r162731
* Daily bump.GCC Administrator2010-07-311-1/+1
| | | | From-SVN: r162730
* rtlanal.c (simplify_subreg_regno): Don't treat HARD_FRAME_POINTER_REGNUM ↵Bernd Schmidt2010-07-302-2/+6
| | | | | | | | | specially. * rtlanal.c (simplify_subreg_regno): Don't treat HARD_FRAME_POINTER_REGNUM specially. From-SVN: r162726
* re PR fortran/44929 ([OOP] Parsing error of derived type name starting with ↵Janus Weil2010-07-304-20/+52
| | | | | | | | | | | | | | | | | | | | | 'REAL') 2010-07-30 Janus Weil <janus@gcc.gnu.org> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/44929 * match.c (match_type_spec): Try to parse derived types before intrinsic types. 2010-07-30 Janus Weil <janus@gcc.gnu.org> PR fortran/44929 * gfortran.dg/allocate_derived_3.f90: New. Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org> From-SVN: r162724
* common.opt (-G): Don't define option here.Joseph Myers2010-07-3013-15/+119
| | | | | | | | | | | | | | | | | | | * common.opt (-G): Don't define option here. * config/g.opt: New. * config.gcc: Use g.opt for alpha, frv, ia64, lm32, m32r, mips, rs6000/powerpc and score targets. * opts.c (common_handle_option): Don't handle -G here. * config/alpha/alpha.c (alpha_handle_option): Handle -G. * config/frv/frv.c (frv_handle_option): Handle -G. * config/ia64/ia64.c (ia64_handle_option): Handle -G. * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION): New. * config/m32r/m32r.c (m32r_handle_option): Handle -G. * config/mips/mips.c (mips_handle_option): Handle -G. * config/rs6000/rs6000.c (rs6000_handle_option) Handle -G. * config/score/score.c (score_handle_option): Handle -G. From-SVN: r162721
* fix testXinliang David Li2010-07-302-1/+5
| | | | From-SVN: r162720
* gfortran.h (gfc_release_symbol): New prototype.Mikael Morin2010-07-305-42/+40
| | | | | | | | | | | | | 2010-07-30 Mikael Morin <mikael@gcc.gnu.org> * gfortran.h (gfc_release_symbol): New prototype. * symbol.c (gfc_release_symbol): New. Code taken from free_sym_tree. (gfc_undo_symbols, free_sym_tree, gfc_free_finalizer): Use gfc_release_symbol. * parse.c (gfc_fixup_sibling_symbols): Ditto. * resolve.c (resolve_symbol): Ditto. From-SVN: r162719
* mmix.c: Include basic-block.h.Anatoly Sokolov2010-07-302-0/+5
| | | | | | * config/mmix/mmix.c: Include basic-block.h. From-SVN: r162718
* re PR c++/45112 (Aligned attribute on static class member definition ignored)Ulrich Weigand2010-07-304-0/+26
| | | | | | | | | | | | gcc/ PR c++/45112 * cp/decl.c (duplicate_decls): Merge DECL_USER_ALIGN and DECL_PACKED. gcc/testsuite/ PR c++/45112 * testsuite/g++.dg/pr45112.C: New test. From-SVN: r162716
* re PR debug/45055 (another -fcompare-debug failure with uninitialised read ↵Jakub Jelinek2010-07-3011-47/+108
| | | | | | | | | | | | | | | | | | | | | | | in walk_gimple_stmt) PR debug/45055 PR rtl-optimization/45137 * rtl.h (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New prototypes. * emit-rtl.c (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New functions. * combine.c (next_nonnote_nondebug_insn): Removed. * ifcvt.c (noce_process_if_block): Use prev_nonnote_nondebug_insn. * haifa-sched.c (queue_to_ready): Use next_nonnote_nondebug_insn. * sched-deps.c (sched_analyze_insn): Likewise. (fixup_sched_groups, deps_start_bb): Use prev_nonnote_nondebug_insn. * rtlanal.c (canonicalize_condition): Likewise. * postreload.c (reload_combine_recognize_pattern): Likewise. (reload_cse_move2add): Use next_nonnote_nondebug_insn. * gcc.dg/pr45055.c: New test. From-SVN: r162714
* i386.md (int_cond): Remove code iterator.Uros Bizjak2010-07-302-18/+22
| | | | | | | | | | | * config/i386/i386.md (int_cond): Remove code iterator. (fp_cond): Ditto. (cbranch<mode>4): Use ordered_comparison_operator predicate for operator0. (cstore<mode>4): Ditto for operator1. (mov<SWIM:mode>cc): Ditto. From-SVN: r162710
* re PR lto/45141 (lto1 ICEs when linking cns_solve again)Richard Guenther2010-07-302-1/+7
| | | | | | | | | 2010-07-30 Richard Guenther <rguenther@suse.de> PR middle-end/45141 * expr.c (expand_expr_real_1): Check for not handled base address. From-SVN: r162709
* JobStateReasons.java (add): Fix infinite recursion with call to super.Andrew Haley2010-07-303-1/+6
| | | | | | | | | 2010-07-30 Andrew Haley <aph@redhat.com> * javax/print/attribute/standard/JobStateReasons.java (add): Fix infinite recursion with call to super. From-SVN: r162708
* ipa-prop.c (ipa_modify_formal_parameters): Use build_distinct_type_copy.Richard Guenther2010-07-302-1/+6
| | | | | | | | | 2010-07-30 Richard Guenther <rguenther@suse.de> * ipa-prop.c (ipa_modify_formal_parameters): Use build_distinct_type_copy. From-SVN: r162707
* Add moxie-rtems configuration.Anthony Green2010-07-303-0/+38
| | | | From-SVN: r162706
* Tolerate half-hour timezones.Alan Modra2010-07-303-2/+7
| | | | From-SVN: r162705
* Daily bump.GCC Administrator2010-07-301-1/+1
| | | | From-SVN: r162701
* dce.c (run_word_dce): Take flag_dce into account.Bernd Schmidt2010-07-292-0/+12
| | | | | | | * dce.c (run_word_dce): Take flag_dce into account. Clear and restore df flags as in run_fast_df_dce. From-SVN: r162697
* re PR fortran/45087 (-fwhole-program: Miscompiled due to wrong decls)Tobias Burnus2010-07-296-6/+286
| | | | | | | | | | | | | | | | | | | | 2010-07-29 Tobias Burnus <burnus@net-b.de> PR fortran/45087 PR fortran/45125 * trans-decl.c (gfc_get_extern_function_decl): Correctly handle external procedure declarations in modules. (gfc_get_symbol_decl): Modify assert. 2010-07-29 Tobias Burnus <burnus@net-b.de> PR fortran/45087 PR fortran/45125 * gfortran.dg/whole_file_25.f90: New. * gfortran.dg/whole_file_26.f90: New. * gfortran.dg/whole_file_27.f90: New. From-SVN: r162696
* re PR fortran/44962 ([OOP] ICE with specification expression SIZE(<CLASS>))Janus Weil2010-07-294-20/+40
| | | | | | | | | | | | | | | 2010-07-29 Janus Weil <janus@gcc.gnu.org> PR fortran/44962 * resolve.c (resolve_fl_derived): Call gfc_resolve_array_spec. 2010-07-29 Janus Weil <janus@gcc.gnu.org> PR fortran/44962 * gfortran.dg/typebound_proc_17.f03: New. From-SVN: r162695
* revert: rtl.def (NOTE): Swap operands 4 and 5.Jakub Jelinek2010-07-294-10/+19
| | | | | | | | | | | Revert: * rtl.def (NOTE): Swap operands 4 and 5. * rtl.h (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_KIND): Adjust accordingly. * gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of NOTEs. From-SVN: r162692
* re PR debug/45110 (GCC does not emit DW_AT_object_pointer)Jakub Jelinek2010-07-292-12/+40
| | | | | | | | | | | | PR debug/45110 * dwarf2out.c (dwarf_attr_name): Handle DW_AT_object_pointer. (gen_formal_types_die): Add DW_AT_object_pointer in methods. (gen_subprogram_die): Likewise. Remove it when removing declaration's formal parameters. (gen_decl_die): Change return type to dw_die_ref, return what gen_formal_parameter_die returned. From-SVN: r162691
* re PR fortran/45004 ([OOP] Segfault with allocatable scalars and move_alloc)Janus Weil2010-07-298-39/+136
| | | | | | | | | | | | | | | | | | | | | | 2010-07-29 Janus Weil <janus@gcc.gnu.org> PR fortran/45004 * trans-stmt.h (gfc_trans_class_init_assign): New prototype. (gfc_trans_class_assign): Modified prototype. * trans.h (gfc_conv_intrinsic_move_alloc): New prototype. * trans-expr.c (gfc_trans_class_init_assign): Split off from ... (gfc_trans_class_assign): ... here. Modified actual arguments. * trans-intrinsic.c (gfc_conv_intrinsic_move_alloc): New function to handle the MOVE_ALLOC intrinsic with scalar and class arguments. * trans.c (trans_code): Call 'gfc_conv_intrinsic_move_alloc'. 2010-07-29 Janus Weil <janus@gcc.gnu.org> PR fortran/45004 * gfortran.dg/move_alloc_2.f90: New. From-SVN: r162688
* fix PR45121Xinliang David Li2010-07-292-2/+6
| | | | From-SVN: r162687
* dbgcnt.def (eipa_sra): New counter.Martin Jambor2010-07-293-1/+7
| | | | | | | | | 2010-07-29 Martin Jambor <mjambor@suse.cz> * dbgcnt.def (eipa_sra): New counter. * tree-sra.c (ipa_early_sra_gate): Also check eipa_sra debug counter. From-SVN: r162686
* Revert change in revision 162652.Xinliang David Li2010-07-292-9/+13
| | | | | | | | | | 2010-07-29 Xinliang David Li <davidxl@google.com> PR bootstrap/45119 * tree-ssa-loop-ivopts.c (get_address_cost): Revert change in revision 162652. From-SVN: r162683
* timevar.def (TV_TREE_STORE_COPY_PROP): Remove.Richard Guenther2010-07-292-4/+7
| | | | | | | | | | 2010-07-29 Richard Guenther <rguenther@suse.de> * timevar.def (TV_TREE_STORE_COPY_PROP): Remove. (TV_TREE_STORE_CCP): Likewise. (TV_TREE_REDPHI): Likewise. From-SVN: r162682
* double-int.h (double_int_and_not): New function.Richard Guenther2010-07-294-10/+22
| | | | | | | | | | 2010-07-28 Richard Guenther <rguenther@suse.de> * double-int.h (double_int_and_not): New function. * combine.c (try_combine): Use it. * tree-vrp.c (simplify_bit_ops_using_ranges): Likewise. From-SVN: r162681
* re PR rtl-optimization/42575 (arm-eabi-gcc 64-bit multiply weirdness)Bernd Schmidt2010-07-2910-964/+299
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR rtl-optimization/42575 * dce.c (word_dce_process_block): Renamed from byte_dce_process_block. Argument AU removed. All callers changed. Ignore artificial refs. Use return value of df_word_lr_simulate_defs to decide whether an insn is necessary. (fast_dce): Rename arg to WORD_LEVEL. (run_word_dce): Renamed from rest_of_handle_fast_byte_dce. No longer static. (pass_fast_rtl_byte_dce): Delete. * dce.h (run_word_dce): Declare. * df-core.c (df_print_word_regset): Renamed from df_print_byteregset. All callers changed. Simplify code to only deal with two-word regs. * df.h (DF_WORD_LR): Renamed from DF_BYTE_LR. (DF_WORD_LR_BB_INFO): Renamed from DF_BYTE_LR_BB_INFO. (DF_WORD_LR_IN): Renamed from DF_BYTE_LR_IN. (DF_WORD_LR_OUT): Renamed from DF_BYTE_LR_OUT. (struct df_word_lr_bb_info): Renamed from df_byte_lr_bb_info. (df_word_lr_mark_ref): Declare. (df_word_lr_add_problem, df_word_lr_mark_ref, df_word_lr_simulate_defs, df_word_lr_simulate_uses): Declare or rename from byte variants. (df_byte_lr_simulate_artificial_refs_at_top, df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start, df_byte_lr_get_regno_len, df_compute_accessed_bytes): Delete declarations. (df_word_lr_get_bb_info): Rename from df_byte_lr_get_bb_info. (enum df_mm): Delete. * df-byte-scan.c: Delete file. * df-problems.c (df_word_lr_problem_data): Renamed from df_byte_lr_problem_data, all members deleted except for WORD_LR_BITMAPS, which is renamed from BYTE_LR_BITMAPS. Uses changed. (df_word_lr_expand_bitmap, df_byte_lr_simulate_artificial_refs_at_top, df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start, df_byte_lr_get_regno_len, df_byte_lr_check_regs, df_byte_lr_confluence_0): Delete functions. (df_word_lr_free_bb_info): Renamed from df_byte_lr_free_bb_info; all callers changed. (df_word_lr_alloc): Renamed from df_byte_lr_alloc; all callers changed. Don't initialize members that were deleted, don't try to discover data about registers. Ignore hard regs. (df_word_lr_reset): Renamed from df_byte_lr_reset; all callers changed. (df_word_lr_mark_ref): New function. (df_word_lr_bb_local_compute): Renamed from df_byte_bb_lr_local_compute; all callers changed. Use df_word_lr_mark_ref. Assert that artificial refs don't include pseudos. Ignore hard registers. (df_word_lr_local_compute): Renamed from df_byte_lr_local_compute. Assert that exit block uses don't contain pseudos. (df_word_lr_init): Renamed from df_byte_lr_init; all callers changed. (df_word_lr_confluence_n): Renamed from df_byte_lr_confluence_n; all callers changed. Ignore hard regs. (df_word_lr_transfer_function): Renamed from df_byte_lr_transfer_function; all callers changed. (df_word_lr_free): Renamed from df_byte_lr_free; all callers changed. (df_word_lr_top_dump): Renamed from df_byte_lr_top_dump; all callers changed. (df_word_lr_bottom_dump): Renamed from df_byte_lr_bottom_dump; all callers changed. (problem_WORD_LR): Renamed from problem_BYTE_LR; uses changed; confluence operator 0 set to NULL. (df_word_lr_add_problem): Renamed from df_byte_lr_add_problem; all callers changed. (df_word_lr_simulate_defs): Renamed from df_byte_lr_simulate_defs. Return bool, true if bitmap changed or insn otherwise necessary. All callers changed. Simplify using df_word_lr_mark_ref. (df_word_lr_simulate_uses): Renamed from df_byte_lr_simulate_uses; all callers changed. Simplify using df_word_lr_mark_ref. * lower-subreg.c: Include "dce.h" (decompose_multiword_subregs): Call run_word_dce if df available. * Makefile.in (lower-subreg.o): Adjust dependencies. (df-byte-scan.o): Delete. * timevar.def (TV_DF_WORD_LR): Renamed from TV_DF_BYTE_LR. From-SVN: r162678
* tree.c (build_vector): Assert that the vector constant has enough elements.Richard Guenther2010-07-292-0/+13
| | | | | | | | | | 2010-07-29 Richard Guenther <rguenther@suse.de> * tree.c (build_vector): Assert that the vector constant has enough elements. (build_vector_from_ctor): Pad with trailing zeros. From-SVN: r162677
* re PR tree-optimization/45120 (-fipa-pta causes FAIL: ↵Richard Guenther2010-07-294-4/+49
| | | | | | | | | | | | | | | gcc.c-torture/execute/pta-field-2.c execution) 2010-07-29 Richard Guenther <rguenther@suse.de> PR tree-optimization/45120 * tree-ssa-structalias.c (get_constraint_for_component_ref): Handle offset in DEREFs properly. (get_constraint_for_1): Handle MEM_REF offset properly. * gcc.dg/ipa/ipa-pta-15.c: New testcase. From-SVN: r162676
* re PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal ↵Mikael Morin2010-07-294-6/+65
| | | | | | | | | | | | | | | | | | | argument) 2010-07-29 Mikael Morin <mikael@gcc.gnu.org> PR fortran/42051 PR fortran/44064 * class.c (gfc_find_derived_vtab): Accept or discard newly created symbols before returning. 2010-07-29 Mikael Morin <mikael@gcc.gnu.org> PR fortran/42051 PR fortran/44064 * gfortran.dg/pr42051.f03: New testcase. From-SVN: r162674
* re PR tree-optimization/45034 ("safe" conversion from unsigned to signed ↵Richard Guenther2010-07-294-8/+57
| | | | | | | | | | | | | | char gives broken code) 2010-07-29 Richard Guenther <rguenther@suse.de> PR middle-end/45034 * convert.c (convert_to_integer): Always use an unsigned type for narrowed negate and bitwise not. * gcc.c-torture/execute/pr45034.c: New testcase. From-SVN: r162673
* lang.opt (cpp): Remove Joined and Separate markers.Joseph Myers2010-07-294-4/+16
| | | | | | | | | | * lang.opt (cpp): Remove Joined and Separate markers. (cpp=): New internal option. * lang-specs.h (F951_CPP_OPTIONS): Generate -cpp= option. * cpp.c (gfc_cpp_handle_option): Handle OPT_cpp_ instead of OPT_cpp. From-SVN: r162672
* re PR fortran/45117 (Segfault in resolve_array_bound)Daniel Kraft2010-07-292-3/+13
| | | | | | | | | | 2010-07-29 Daniel Kraft <d@domob.eu> PR fortran/45117 * array.c (resolve_array_bound): Fix error message to properly handle non-variable expressions. From-SVN: r162670
* tree-vect-loop.c (vect_create_epilog_for_reduction): Switch to outer loop ↵Ira Rosen2010-07-292-2/+59
| | | | | | | | | | | | when creating reduction epilogue for double reduction... * tree-vect-loop.c (vect_create_epilog_for_reduction): Switch to outer loop when creating reduction epilogue for double reduction, and switch back to the inner loop when updating the phi nodes. Update uses of outer loop exit phi nodes in double reduction (instead of uses of reduction). From-SVN: r162668
* re PR fortran/44931 (For INPUT_UNIT, INQUIRE NAME= should not return "stdin")Jerry DeLisle2010-07-294-23/+54
| | | | | | | | | | | | | | | 2010-07-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/44931 * io/inquire.c (inquire_via_unit): Use ttyname to return actual device file name for stdin, stdout, and stderr. If ttyname does not succeed fall back to default names for these units. Include string.h to allow using strlen function. * unix.c: Remove typedef of unix_stream structure, move to unix.h. * unix.h: Add typedef of unix_stream structure so that it is accessible to inquire.c. From-SVN: r162667
* Daily bump.GCC Administrator2010-07-291-1/+1
| | | | From-SVN: r162666
* re PR c++/45096 (g++.dg/cpp0x/auto3.C)Paolo Carlini2010-07-282-1/+6
| | | | | | | | | 2010-07-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/45096 * g++.dg/cpp0x/auto3.C: Tweak dg-error string. From-SVN: r162657
* Add power6 copysign/parity supportMichael Meissner2010-07-285-85/+115
| | | | From-SVN: r162656
* IVOPT performance tuning patch.Xinliang David Li2010-07-2813-58/+628
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IVOPT performance tuning patch. The main problem is a variant of maximal weight bipartite matching/assignment problem -- i.e., there is an additional global cost function. The complexity of the algorighm to find the optimial solution > O(n^2). The existing algorithm in gcc tries to find the solution in 3 stages: 1) Find the initial solution set (dynamic programing style) 2) Extend the solution set 3) Prune the soultion set. The problem is that in step 1, the initial set tends to be too large so that the final solution is very likely local optimal. This patch addresses the problem and sees very large SPEC improvements. Another area of problem is that ivopts often creates loop invariant expressions, and such expressions increase register pressure which is not counted. This is addressed in this patch. The third main problem is the profile data is not considered in cost computation The forth problem is that loop invariant comptuation's cost is not properly adjusted. There are more tuning opportuties, namely: 1) Do not check ivs dependency during ivs set pruning (this improves deallII 8% on core2) 2) Unconditionally consider all important candidates in partial set expansion (in addition to the extended solutino based on selected candidates) 3) revisit the two stage initial set computation. From-SVN: r162653
* i386.h (MCOUNT_NAME_BEFORE_PROLOGUE): New.Kai Tietz2010-07-2812-19/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | 2010-07-28 Kai Tietz <kai.tietz@onevision.com> * config/i386/i386.h (MCOUNT_NAME_BEFORE_PROLOGUE): New. * config/i386/i386.c (ix86_profile_before_prologue): New. (override_options): Add special handling for -mfentry. (ix86_function_regparm): Likewise. (ix86_function_sseregparm): Likewise. (ix86_frame_pointer_required): Likewise. (ix86_expand_prologue): Check for ms_hook_prologue. (x86_function_profiler): Adjust mcount output. (TARGET_PROFILE_BEFORE_PROLOGUE): Define hook. * config/i386/i386.opt (mfentry): New. * doc/invoke.texi (mfentry): Add documentation. * doc/tm.texi: Regenerated.. * doc/tm.texi.in (TARGET_PROFILE_BEFORE_PROLOGUE): New. * final.c (final_start_function): Replace macro PROFILE_BEFORE_PROLOGUE by target hook. * function.c (thread_prologue_and_epilogue_insns): Likewise. * target.def (profile_before_prologue): New hook. * targhooks.c (default_profile_before_prologue): New. * targhooks.h (default_profile_before_prologue): New. From-SVN: r162651
* decl.c (free_value): Also free repeat field.Mikael Morin2010-07-283-8/+20
| | | | | | | | | 2010-07-28 Mikael Morin <mikael@gcc.gnu.org> * decl.c (free_value): Also free repeat field. * data.c (gfc_assign_data_value): Always free offset before returning. From-SVN: r162649
* gfortran.h (gfc_build_intrinsic_call): New method.Daniel Kraft2010-07-286-26/+229
| | | | | | | | | | | | | | | | | | | 2010-07-28 Daniel Kraft <d@domob.eu> * gfortran.h (gfc_build_intrinsic_call): New method. * expr.c (gfc_build_intrinsic_call): New method. * simplify.c (range_check): Ignore non-constant value. (simplify_bound_dim): Handle non-variable expressions and fix memory leak with non-free'ed expression. (simplify_bound): Handle non-variable expressions. (gfc_simplify_shape): Ditto. (gfc_simplify_size): Ditto, but only in certain cases possible. 2010-07-28 Daniel Kraft <d@domob.eu> * gfortran.dg/bound_8.f90: New test. From-SVN: r162648