- 04 Nov, 2011 31 commits
-
-
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 -
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 -
* config/c6x/t-elf (LIB2ADDEH): Set. * config/c6x/t-c6x-elf: Remove. From-SVN: r180942
Rainer Orth committed -
* 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 -
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 -
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 -
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 -
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 -
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 -
* 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 -
* 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 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 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 -
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 -
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 -
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 -
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 -
* config/sh/t-sh: Use $(gcc_compile) instead of $(compile). From-SVN: r180921
Kaz Kojima committed -
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. Use it. From-SVN: r180919
Mikael Morin committed -
* 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. From-SVN: r180917
Mikael Morin committed -
From-SVN: r180916
GCC Administrator committed -
* 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. (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. * 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. 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. 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. From-SVN: r180907
Mikael Morin committed -
* 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, 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
-
- 03 Nov, 2011 9 commits
-
-
* trans.h (gfc_inline_intrinsic_function_p): Move prototype... * gfortran.h (gfc_inline_intrinsic_function_p): ... here. * dependency.c (gfc_check_argument_var_dependency): Check dependencies of inline intrinsics' arguments. From-SVN: r180904
Mikael Morin committed -
* trans-array.c (gfc_trans_preloop_setup): New pointers to outer dimension's ss and loop. Use them. From-SVN: r180903
Mikael Morin committed -
* trans-array.c (outermost_loop): New function. (gfc_trans_array_constructor, gfc_set_vector_loop_bounds, gfc_add_loop_ss_code): Put generated code out of the outermost loop. From-SVN: r180902
Mikael Morin committed -
* trans-array.c (constant_array_constructor_loop_size): Handle multiple loops. From-SVN: r180901
Mikael Morin committed -
* trans-array.c (get_rank, get_loop_upper_bound_for_array): New functions. (gfc_trans_array_constructor): Handle multiple loops. From-SVN: r180900
Mikael Morin committed -
* trans.h (struct gfc_loopinfo): New field parent. * trans-array.c (gfc_cleanup_loop): Free nested loops. (gfc_add_ss_to_loop): Set nested_loop's parent loop. (gfc_trans_array_constructor): Update assertion. (gfc_conv_loop_setup): Ditto. From-SVN: r180899
Mikael Morin committed -
* trans-array.c (gfc_add_loop_ss_code): Skip non-nestedmost ss. Call recursively gfc_add_loop_ss_code for all the nested loops. (gfc_conv_ss_startstride): Only get the descriptor for the outermost ss. Call recursively gfc_conv_ss_startstride for all the nested loops. (set_loop_bounds): Call recursively for all the nested loops. (set_delta): Ditto. From-SVN: r180898
Mikael Morin committed -
* trans.h (struct gfc_loopinfo): New fields nested and next. * trans-array.c (gfc_add_ss_to_loop): Update list of nested list if ss has non-null nested_ss field. From-SVN: r180897
Mikael Morin committed -
* trans-array.c (gfc_trans_create_temp_array): Loop over the parents. From-SVN: r180895
Mikael Morin committed
-