1. 04 Nov, 2011 31 commits
    • re PR c++/48370 (G++ fails to extend reference temporary lifetime in some situations) · b25dd954
      	PR c++/48370
      	* call.c (extend_ref_init_temps, extend_ref_init_temps_1): New.
      	(set_up_extended_ref_temp): Use it.  Change cleanup parm to VEC.
      	(initialize_reference): Just call convert_like.
      	* decl.c (grok_reference_init): Just call initialize_reference.
      	(build_init_list_var_init): Remove.
      	(check_initializer): Change cleanup parm to VEC.  Handle references
      	like other types.  Call perform_implicit_conversion instead
      	of build_init_list_var_init.  Don't use build_aggr_init for
      	aggregate initialization of arrays.
      	(cp_finish_decl): Change cleanup to VEC.
      	* typeck2.c (store_init_value): Call extend_ref_init_temps.
      	Use build_vec_init for non-constant arrays.
      	* init.c (expand_aggr_init_1): Adjust.
      	(build_vec_init): Avoid re-converting an initializer
      	that's already digested.
      	* mangle.c (mangle_ref_init_variable): Add a discriminator.
      	* cp-tree.h: Adjust.
      	* typeck.c (convert_for_initialization): Adjust.
      	* decl2.c (maybe_emit_vtables): Adjust.
      
      From-SVN: r180944
      Jason Merrill committed
    • [multiple changes] · 5972791c
      2011-11-04  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch2.adb (Expand_Entity_Reference): Do not set
      	Atomic_Sync_Required for the case of a prefix of an attribute.
      	* exp_ch4.adb (Expand_N_Explicit_Dereference): May require
      	atomic synchronization
      	(Expand_N_Indexed_Component): Ditto.
      	(Expand_B_Selected_Component): Ditto.
      	* sem_prag.adb (Process_Suppress_Unsuppress):
      	Disable/Enable_Atomic_Synchronization can now occur for array
      	types with pragma Atomic_Components.
      	* sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now occur on
      	N_Explicit_Dereference nodes and on N_Indexed_Component nodes.
      
      2011-11-04  Gary Dismukes  <dismukes@adacore.com>
      
      	* gnat_ugn.texi: Editorial corrections for gnattest section.
      
      From-SVN: r180943
      Arnaud Charlet committed
    • Restore c6x-elf bootstrap · 1a032034
      	* config/c6x/t-elf (LIB2ADDEH): Set.
      	* config/c6x/t-c6x-elf: Remove.
      
      From-SVN: r180942
      Rainer Orth committed
    • Use sol2-c[1n].S on more targets · d385f772
      	* config/i386/sol2-ci.S: Rename to ...
      	* config/i386/crti.S: ... this.
      	* config/i386/sol2-cn.S: Rename to ...
      	* config/i386/crtn.S: ... this.
      	* config/sparc/sol2-ci.S: Rename to ...
      	* config/sparc/crti.S: ... this.
      	* config/sparc/sol2-cn.S: Rename to ...
      	* config/sparc/crtn.S: ... this.
      	* config/t-sol2 (CUSTOM_CRTIN): Remove.
      	(crti.o, crtn.o): Remove.
      
      From-SVN: r180941
      Rainer Orth committed
    • re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge) · 5a042b47
      2011-11-04  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/50763
      	* gcc.dg/pr50763-5.c: New test.
      
      From-SVN: r180940
      Tom de Vries committed
    • sem_prag.adb: Minor reformatting. · 8751a35c
      2011-11-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb: Minor reformatting.
      	* gnat_rm.texi: Update documentation for pragma Warnings (Off,
      	"***") usage.
      	* exp_ch2.adb (Expand_Entity_Reference): Only set
      	Atomic_Sync_Required on entities that are variables. Doesn't
      	make any sense on anything else.
      
      From-SVN: r180939
      Robert Dewar committed
    • exp_ch2.adb (Expand_Entity_Reference): Extend handling of atomic sync to type case. · fb5d63c6
      2011-11-04  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch2.adb (Expand_Entity_Reference): Extend handling of
      	atomic sync to type case.
      	* sem_prag.adb (Process_Suppress_Unsuppress): Atomic Sync can
      	apply to types.
      
      From-SVN: r180938
      Robert Dewar committed
    • re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge) · c2d1a474
      2011-11-04  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/50763
      	* g++.dg/pr50763-4.C: New test.
      
      From-SVN: r180936
      Tom de Vries committed
    • [multiple changes] · a51cd0ec
      2011-11-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_warn.adb (Warn_On_Useless_Assignment): More accurate test
      	for call vs assign.
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      2011-11-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb: Detect more cases of Long_Float inconsistencies at
      	compile time.
      
      2011-11-04  Matthew Heaney  <heaney@adacore.com>
      
      	* Makefile.rtl, impunit.adb: Added a-sfecin.ads,
      	* a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb], a-sbhcin.ad[sb],
      	a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb], a-sulcin.ad[sb]
      	* a-sfecin.ads, a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb],
      	a-sbhcin.ad[sb], a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb],
      	a-sulcin.ad[sb]: New files.
      
      2011-11-04  Geert Bosch  <bosch@adacore.com>
      
      	* i-forbla-unimplemented.ads, s-gecola.adb, s-gecola.ads,
      	s-gerebl.adb, s-gerebl.ads, i-forbla.adb, i-forbla.ads,
      	i-forlap.ads, i-forbla-darwin.adb, s-gecobl.adb, s-gecobl.ads,
      	s-gerela.adb, s-gerela.ads: Remove partial interface to BLAS/LAPACK.
      	* gcc-interface/Makefile.in: Remove libgnala and related objects.
      
      From-SVN: r180935
      Arnaud Charlet committed
    • i386.c (ix86_expand_vector_convert_uns_vsivsf): New function. · 635c6321
      	* config/i386/i386.c (ix86_expand_vector_convert_uns_vsivsf): New
      	function.
      	* config/i386/i386-protos.h (ix86_expand_vector_convert_uns_vsivsf):
      	New prototype.
      	* config/i386/sse.md (floatuns<sseintvecmodelower><mode>2): Use it.
      	For floatunsv8siv8sf2 require TARGET_AVX2.
      
      	* gcc.dg/torture/vec-cvt-1.c: Enable commented out inttoflttestui
      	test.
      
      From-SVN: r180934
      Jakub Jelinek committed
    • i386.c (ix86_expand_adjust_ufix_to_sfix_si): Add XORP argument. · 2f2da9e9
      	* config/i386/i386.c (ix86_expand_adjust_ufix_to_sfix_si): Add
      	XORP argument.  Subtract 0x1p31 instead of 0x1p32.  Use normal
      	signalling comparison instead of non-signalling.  Store into
      	*XORP pseudo holding 0x80000000 integers if 0x1p31 has been
      	subtracted and 0 otherwise.
      	* config/i386/i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si):
      	Adjust prototype.
      	* config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): Enable
      	already for TARGET_SSE2.  Xor in vector initialized by
      	ix86_expand_adjust_ufix_to_sfix_si at the end.
      	(vec_pack_ufix_trunc_<mode>): Likewise.
      
      	* gcc.dg/torture/vec-cvt-1.c: Enable flttointtestui test.
      
      From-SVN: r180933
      Jakub Jelinek committed
    • tree-vect-stmts.c (vectorizable_conversion): Rewritten to handle not just… · 4a00c761
      tree-vect-stmts.c (vectorizable_conversion): Rewritten to handle not just FLOAT_EXPR and FIX_TRUNC_EXPR...
      
      	* tree-vect-stmts.c (vectorizable_conversion): Rewritten to handle
      	not just FLOAT_EXPR and FIX_TRUNC_EXPR, but also CONVERT_EXPR_CODE_P,
      	WIDEN_MULT_EXPR and WIDEN_LSHIFT_EXPR to handle what
      	vectorizable_type_demotion and vectorizable_type_promotion did.
      	Additionally handle FLOAT_EXPR and FIX_TRUNC_EXPR where the integer
      	is {,un}signed {char,short}.
      	(vect_create_vectorized_demotion_stmts): Fix comment typo.  For
      	recursive calls unconditionally use VEC_PACK_TRUNC_EXPR.
      	Push vec_dest back to the vec_dsts vector at the end.
      	(vect_create_vectorized_promotion_stmts): Don't recurse, do just
      	one step.  Removed multi_step_cvt, vec_dsts, slp_node and
      	prev_stmt_info arguments, add vec_dest argument.  Push always
      	into vec_tmp, not just when multi_step_cvt != 0, replace *vec_oprdn0
      	with vec_tmp at the end after freeing old *vec_oprnd0 vector.
      	(vectorizable_type_demotion, vectorizable_type_promotion): Removed.
      	(vect_analyze_stmt): Don't call vectorizable_type_demotion and
      	vectorizable_type_promotion.  Call vectorizable_conversion even
      	for SLP bb vectorization.
      	(vect_transform_stmt): Call vectorizable_conversion instead of
      	vectorizable_type_demotion and vectorizable_type_promotion.
      	(supportable_widening_operation): Clear *multi_step_cvt first,
      	simplify c1/c2 computation, free *interm_types vector on failure.
      	(supportable_narrowing_operation): Clear *multi_step_cvt first,
      	free *interm_types vector on failure, handle multi-step
      	FIX_TRUNC_EXPR.
      
      	* gcc.dg/torture/vec-cvt-1.c: New test.
      
      From-SVN: r180932
      Jakub Jelinek committed
    • decl.c (gnat_to_gnu_entity): Do not assert that the type of the parameters isn't… · 25ec1790
      decl.c (gnat_to_gnu_entity): Do not assert that the type of the parameters isn't dummy in type_annotate_only...
      
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not assert
      	that the type of the parameters isn't dummy in type_annotate_only mode.
      
      From-SVN: r180931
      Eric Botcazou committed
    • [multiple changes] · a31945d7
      2011-11-04  Matthew Heaney  <heaney@adacore.com>
      
      	* a-cdlili.ad[sb], a-cidlli.ad[sb], a-coorse.ad[sb], a-ciorse.ad[sb],
      	a-coorma.ad[sb], a-ciorma.ad[sb], a-coormu.ad[sb], a-ciormu.ad[sb],
      	a-cohama.ad[sb], a-cihama.ad[sb], a-cohase.ad[sb], a-cihase.ad[sb],
      	a-convec.ad[sb], a-coinve.ad[sb] (Assign, Copy): New operations
      	added to package.
      
      2011-11-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch12.adb: Minor reformatting
      
      2011-11-04  Gary Dismukes  <dismukes@adacore.com>
      
      	* bindgen.adb (Gen_Elab_Calls): In the case of the AAMP target,
      	initialize elaboration entities to zero when specs are processed.
      
      From-SVN: r180930
      Arnaud Charlet committed
    • fde-vms.c: Do not include md-unwind-support.h · 1ba878a9
      2011-11-04  Tristan Gingold  <gingold@adacore.com>
      
      	* config/ia64/fde-vms.c: Do not include md-unwind-support.h
      
      From-SVN: r180929
      Tristan Gingold committed
    • alpha.c (alpha_write_linkage): Remove fundecl argument. · 735f469b
      2011-11-04  Tristan Gingold  <gingold@adacore.com>
      
      	* config/alpha/alpha.c (alpha_write_linkage): Remove fundecl
      	argument.  Conditionally generate crash debug info.  Adjust
      	for alpha_funcs_tree removal.
      	(machine_function): Add links field.
      	(alpha_start_function): Conditionally generate crash debug info.
      	(alpha_end_function): Adjust call to alpha_write_linkage.
      	(alpha_funcs): Remove.
      	(links_kind): Remove.
      	(alpha_links): Remove num, target and lkind field.  Add func field.
      	(alpha_links_tree): Remove.
      	(alpha_funcs_tree): Remove.
      	(alpha_need_linkage): Remove.
      	(alpha_use_linkage): Change prototype.  Adjust.
      	(alpha_write_one_linkage): Use ASM_OUTPUT_INTERNAL_LABEL.
      	Use SYMBOL_REF_EXTERNAL_P and SYMBOL_REF_LOCAL_P macro.
      	* config/alpha/alpha-protos.h (alpha_use_linkage): Update.
      	(alpha_need_linkage): Remove.
      	* config/alpha/alpha.md: Update calls to alpha_use_linkage.
      	Adjust calls to alpha_need_linkage.
      
      From-SVN: r180928
      Tristan Gingold committed
    • re PR fortran/43829 (Scalarization of reductions) · 75118c2e
      	PR fortran/43829
      	* gfortran.dg/function_optimize_7.f90: Disable sum inlining.
      	* gfortran.dg/inline_sum_1.f90: New.
      	* gfortran.dg/inline_sum_2.f90: New.
      	* gfortran.dg/inline_sum_bounds_check_1.f90: New.
      	* gfortran.dg/inline_sum_bounds_check_2.f90: New.
      	* gfortran.dg/inline_product_1.f90: New.
      
      From-SVN: r180922
      Mikael Morin committed
    • t-sh: Use $(gcc_compile) instead of $(compile). · 02750c15
      	* config/sh/t-sh: Use $(gcc_compile) instead of $(compile).
      
      From-SVN: r180921
      Kaz Kojima committed
    • re PR fortran/43829 (Scalarization of reductions) · 0c08de8f
      	PR fortran/43829
      	* trans-array.c (gfc_conv_expr_descriptor): Accept the inline intrinsic
      	case in the assertion.
      	* trans-intrinsic (enter_nested_loop): New function.
      	(gfc_conv_intrinsic_arith): Support non-scalar cases.
      	(nest_loop_dimension, walk_inline_intrinsic_arith): New functions.
      	(walk_inline_intrinsic_function): Handle sum and product.
      	(gfc_inline_intrinsic_function_p): Ditto.
      	* trans.h (gfc_get_loopinfo): New macro.
      
      From-SVN: r180920
      Mikael Morin committed
    • trans-intrinsic.c (gfc_conv_intrinsic_arith): Introduce parent expression variable. · 44d23d9e
      	* trans-intrinsic.c (gfc_conv_intrinsic_arith): Introduce parent
      	expression variable.  Use it.
      
      From-SVN: r180919
      Mikael Morin committed
    • trans-intrinsic.c (gfc_conv_intrinsic.c): Introduce current loop pointer. · b1a65f62
      	* trans-intrinsic.c (gfc_conv_intrinsic.c): Introduce current loop
      	pointer.  Use it.
      
      From-SVN: r180918
      Mikael Morin committed
    • trans-intrinsic.c (gfc_conv_intrinsic_arith): Small argument handling cleanup. · bc4b3d2d
      	* trans-intrinsic.c (gfc_conv_intrinsic_arith): Small argument handling
      	cleanup.
      
      From-SVN: r180917
      Mikael Morin committed
    • Daily bump. · 6492221c
      From-SVN: r180916
      GCC Administrator committed
    • trans-intrinsic.c (gfc_conv_intrinsic_arith): Update conditions. · a831ffb8
      	* trans-intrinsic.c (gfc_conv_intrinsic_arith): Update conditions.
      
      From-SVN: r180913
      Mikael Morin committed
    • frontend-passes.c (cfe_register_funcs): Return early in the case of an inline intrinsic function. · 93ee6382
      	* frontend-passes.c (cfe_register_funcs): Return early in the case
      	of an inline intrinsic function.
      	(optimize_binop_array_assignment): Skip optimization in the case of
      	an inline intrinsic function.
      
      From-SVN: r180911
      Mikael Morin committed
    • array.c (match_subscript): Skip whitespaces before setting locus. · 00b9bf8b
      	* array.c (match_subscript): Skip whitespaces before setting locus.
      	* matchexp.c (match_level_1): Ditto.
      
      From-SVN: r180910
      Mikael Morin committed
    • trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Set loop's temporary rank to the loop rank. · aa6ad95c
      	* trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Set loop's
      	temporary rank to the loop rank. Mark ss chains for multiple loop
      	if necessary.  Use gfc_trans_scalarized_loop_boundary to end one loop
      	and start another.
      
      From-SVN: r180909
      Mikael Morin committed
    • trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set loop's temporary rank to the loop rank. · 610f068d
      	* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set loop's
      	temporary rank to the loop rank. Mark ss chains for multiple loop
      	if necessary.  Use gfc_trans_scalarized_loop_boundary to end one loop
      	and start another.
      
      From-SVN: r180908
      Mikael Morin committed
    • trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Don't calculate offset twice in generated code. · 89d65e2d
      	* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Don't calculate
      	offset twice in generated code.
      
      From-SVN: r180907
      Mikael Morin committed
    • trans-expr.c (gfc_conv_procedure_call): Handle temporaries for arguments to elemental calls. · fafcf9e6
      	* trans-expr.c (gfc_conv_procedure_call): Handle temporaries for
      	arguments to elemental calls.
      	* trans-stmt.c (replace_ss): New function.
      	(gfc_conv_elemental_dependencies): Remove temporary loop handling.
      	Create a new ss for the temporary and replace the original one with it.
      	Remove fake array references. Recalculate all offsets.
      
      From-SVN: r180906
      Mikael Morin committed
    • trans-array.h (gfc_free_ss, [...]): New prototypes. · 121c82c9
      	* trans-array.h (gfc_free_ss, gfc_set_delta): New prototypes.
      	* trans-array.c (gfc_free_ss): Remove forward declaration.
      	Make non-static.
      	(set_delta, gfc_set_delta): Remove forward declaration.
      	Make non-static and rename the former to the later. Update uses.
      
      From-SVN: r180905
      Mikael Morin committed
  2. 03 Nov, 2011 9 commits