1. 05 Apr, 2011 28 commits
  2. 04 Apr, 2011 12 commits
    • libgo: Always initialize semaphores. · 06ec9841
      	2011-04-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      
      	PR go/48222
      	* runtime/malloc.goc (runtime_mallocinit): Call
      	runtime_Mprof_Init, runtime_initfintab.
      	* runtime/cpuprof.c (runtime_cpuprofinit): New function.
      	* runtime/runtime.h (runtime_cpuprofinit): Declare it.
      	* runtime/go-main.c (main): Use it.
      
      From-SVN: r171960
      Rainer Orth committed
    • Use backend interface for return statements. · 94039447
      	* go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
      	(class Bfunction): Define.
      	(Gcc_backend::assignment_statement): Rename from assignment.
      	Check for errors.
      	(Gcc_backend::return_statement): New function.
      	(tree_to_function): New function.
      	* Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
      	$(GIMPLE_H), and $(GO_GOGO_H).
      
      From-SVN: r171959
      Ian Lance Taylor committed
    • For Yufeng Zhang - Fix typos and errors in testcase. · 69387b92
      From-SVN: r171958
      Yufeng Zhang committed
    • * es.po: Update. · f56e5112
      From-SVN: r171956
      Joseph Myers committed
    • re PR bootstrap/48400 (powerpc-apple-darwin9 fails to bootstrap at revision 171824) · 3b8f9b46
      PR 48400
      * dwarf2out.c (output_line_info): Always emit line info from
      at least one section.
      (dwarf2out_init): Create text_section_line_info here ...
      (set_cur_line_info_table): ... not here.
      
      From-SVN: r171955
      Richard Henderson committed
    • frontend-passes: (optimize_lexical_comparison): New function. · 0bcd8186
      2010-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* frontend-passes: (optimize_lexical_comparison): New function.
      	(optimize_expr): Call it.
      	(optimize_comparison): Also handle lexical comparison functions.
      	Return false instad of -2 for unequal comparison.
      
      From-SVN: r171954
      Thomas Koenig committed
    • frontend-passes: (optimize_lexical_comparison): New function. · 9046a4dc
      2010-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* frontend-passes: (optimize_lexical_comparison): New function.
      	(optimize_expr): Call it.
      	(optimize_comparison): Also handle lexical comparison functions.
      	Return false instad of -2 for unequal comparison.
      
      2010-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* gfortran.dg/character_comparison_8.f90:  New test.
      
      From-SVN: r171953
      Thomas Koenig committed
    • re PR fortran/48412 (CP2K miscompiled due to some Fortran frontend pass) · 128e09f9
      2011-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/48412
      	* frontend-passes (cfe_expr_0):  Reverse the order of going
      	through the loops.
      
      2011-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/48412
      	* function_optimize_4.f90:  New test.
      
      From-SVN: r171952
      Thomas Koenig committed
    • re PR target/48380 (ICE in postreload.c while building trunk) · e5b0e1ca
      2011-04-01  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/48380
      	* ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
                not called.
      
      	* ira-emit.c (emit_move_list): Update reg equiv init insn list.
      
      From-SVN: r171951
      Vladimir Makarov committed
    • re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays]) · a3935ffc
      2011-04-04  Tobias Burnus  <burnus@net-b.de>
                  Mikael Morin  <mikael.morin@sfr.fr>
      
              PR fortran/18918
              * check.c (is_coarray): Update - because of DIMEN_THIS_IMAGE.
              * expr.c (gfc_is_coindexed): Ditto.
              * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_THIS_IMAGE.
              * interface.c (compare_parameter): Use gfc_expr_attr and
              gfc_is_coindexed.
              * resolve.c (check_dimension, compare_spec_to_ref,
              resolve_allocate_expr, check_data_variable): Update for
              DIMEN_THIS_IMAGE.
              * simplify.c (gfc_simplify_lcobound, gfc_simplify_this_image,
              gfc_simplify_ucobound): Allow non-constant bounds.
              * trans-array.c (gfc_set_loop_bounds_from_array_spec,
              gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,
              gfc_set_vector_loop_bounds, gfc_conv_array_index_offset,
              gfc_start_scalarized_body, gfc_trans_scalarizing_loops,
              gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,
              gfc_conv_ss_startstride, gfc_conv_loop_setup,
              gfc_trans_array_bounds, gfc_conv_expr_descriptor,
              gfc_walk_variable_expr): Handle codimen.
              * trans-decl.c (gfc_build_qualified_array): Save cobounds.
              * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use arg2.
              (conv_intrinsic_cobound): New function.
              (gfc_conv_intrinsic_function): Call it.
              (gfc_walk_intrinsic_function, gfc_add_intrinsic_ss_code): Handle
              ucobound, lcobound, this_image.
              * fortran/trans-types.c (gfc_build_array_type): Save cobounds.
              (gfc_get_dtype): Honour corank.
              (gfc_get_nodesc_array_type): Save corank and codimensions.
              (gfc_get_array_type_bounds): Save cobound.
              * fortran/trans.h (gfc_ss_info,gfc_loopinfo): Add codimen item.
              (gfc_array_kind): Add corank item.
              (GFC_TYPE_ARRAY_CORANK): New macro.
      
      2011-04-04  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/18918
              * gfortran.dg/coarray_10.f90: Add coarray descriptor diagnostic
              check.
              * gfortran.dg/coarray_13.f90: Add checks for run-time cobounds.
              * gfortran.dg/coarray_15.f90: New.
      
      
      Co-Authored-By: Mikael Morin <mikael.morin@sfr.fr>
      
      From-SVN: r171949
      Tobias Burnus committed
    • cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'. · b77f9eab
      	* cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
      	(expr_equiv_p): Remove.
      	(insert_set_in_table): Look at <dest, src> pair instead of expr.
      	(hash_scan_set): Update call to insert_set_in_table.
      	(dump_hash_table): Dump <dest, src> pair.
      	(lookup_set): Simplify.  Lookup <dest, src> pair.
      	(compute_transp): Remove, fold heavily simplified code into...
      	(compute_local_properties): ...here.  Expect COMP and TRANSP
      	unconditionally.
      	(find_avail_set): Take set directly from struct expr.
      	(find_bypass-set): Likewise.
      	(bypass_block): Likewise.
      	(cprop_insn): Likewise.  Remove redundant INSN_P test.
      
      From-SVN: r171947
      Steven Bosscher committed
    • cprop.c (implicit_set_cond_p): Assume nothing about COND... · 384d7a55
      	* cprop.c (implicit_set_cond_p): Assume nothing about COND, move
      	checks on form of COND from find_implicit_sets to here.
      	(find_implicit_sets): Cleanup control flow. Split critical edges
      	if it exposes implicit sets.  Allocate/resize implicit_sets as
      	necessary.
      	(one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
      	changed something.  Run df_analyze after find_implicit_sets if any
      	edges were split.  Do not allocate implicit_sets here.
      
      From-SVN: r171946
      Steven Bosscher committed