1. 17 Jun, 2014 10 commits
    • re PR target/61483 ([AArch64] builtin va_start incorrectly initializes the field… · 3abf17cf
      re PR target/61483 ([AArch64] builtin va_start incorrectly initializes the field of va_list for incoming unnamed arguments on the stack)
      
      gcc/
      
      	PR target/61483
      	* config/aarch64/aarch64.c (aarch64_layout_arg): Add new local
      	variable 'size'; calculate 'size' right in the front; use
      	'size' to compute 'nregs' (when 'allocate_ncrn != 0') and
      	pcum->aapcs_stack_words.
      
      gcc/testsuite/
      
      	PR target/61483
      	* gcc.target/aarch64/aapcs64/type-def.h (struct hfa_fx2_t): New type.
      	* gcc.target/aarch64/aapcs64/va_arg-13.c: New test.
      	* gcc.target/aarch64/aapcs64/va_arg-14.c: Ditto.
      	* gcc.target/aarch64/aapcs64/va_arg-15.c: Ditto.
      
      From-SVN: r211733
      Yufeng Zhang committed
    • msp430.md (mulhisi3): Add a NOP after the DINT. · ba3cf9f1
      	* config/msp430/msp430.md (mulhisi3): Add a NOP after the DINT.
      	(umulhi3, mulsidi3, umulsidi3): Likewise.
      
      From-SVN: r211730
      Nick Clifton committed
    • re PR lto/61012 (lto1: errors during merging of translation units (error:… · f807ce54
      re PR lto/61012 (lto1: errors during merging of translation units (error: variable ‘link’ redeclared as function))
      
      2014-06-17  Richard Biener  <rguenther@suse.de>
      
      	PR lto/61012
      	* gcc.dg/lto/pr61526_0.c: New testcase.
      	* gcc.dg/lto/pr61526_1.c: Likewise.
      
      From-SVN: r211728
      Richard Biener committed
    • [PR middle-end/61508] fold-const.c:14863:55: error: cannot convert 'const char*' to 'const_tree · 7a75b6e2
      	gcc/
      	* fold-const.c (fold_checksum_tree) <TS_DECL_WITH_VIS>: Remove
      	check for section name.
      
      From-SVN: r211727
      Thomas Schwinge committed
    • tree-ssa-propagate.c: Include domwalk.h. · ec18e2eb
      2014-06-17  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-propagate.c: Include domwalk.h.
      	(substitute_and_fold): Outline main worker into a domwalker ...
      	(substitute_and_fold_dom_walker::before_dom_children): ... here.
      	Schedule stmts we can fully propagate for removal.  Remove
      	poor-mans DCE.
      	(substitute_and_fold): Apply a dominator walk to perform
      	substitution.  Process stmts scheduled for removal here.
      
      	* gcc.dg/tree-ssa/20041122-1.c: Adjust.
      	* gcc.dg/tree-ssa/forwprop-21.c: Likewise.
      	* gcc.dg/tree-ssa/vrp35.c: Revert previous adjustments.
      	* gcc.dg/tree-ssa/vrp36.c: Likewise.
      	* gcc.dg/vect/nodump-forwprop-22.c: Adjust.
      
      From-SVN: r211725
      Richard Biener committed
    • tree-ssa-loop-im.c (determine_max_movement): Adjust cost of PHI node moving. · a4ab23b6
      2014-06-17  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-loop-im.c (determine_max_movement): Adjust cost
      	of PHI node moving.
      
      	* gcc.dg/tree-ssa/ssa-lim-12.c: New testcase.
      
      From-SVN: r211724
      Richard Biener committed
    • Rotate ChangeLog for 2013. · 31107d5d
      From-SVN: r211722
      Richard Sandiford committed
    • Introduce xmallocarray, an overflow checking variant of xmalloc. · 92e6f3a4
      2014-06-17  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* libgfortran.h (xmallocarray): New prototype.
      	* runtime/memory.c (xmallocarray): New function.
      	(xcalloc): Check for nonzero separately instead of multiplying.
      	* generated/*.c: Regenerated.
      	* intrinsics/cshift0.c (cshift0): Call xmallocarray instead of
      	xmalloc.
      	* intrinsics/eoshift0.c (eoshift0): Likewise.
      	* intrinsics/eoshift2.c (eoshift2): Likewise.
      	* intrinsics/pack_generic.c (pack_internal): Likewise.
      	(pack_s_internal): Likewise.
      	* intrinsics/reshape_generic.c (reshape_internal): Likewise.
      	* intrinsics/spread_generic.c (spread_internal): Likewise.
      	(spread_internal_scalar): Likewise.
      	* intrinsics/string_intrinsics_inc.c (string_trim): Likewise.
      	(string_minmax): Likewise.
      	* intrinsics/transpose_generic.c (transpose_internal): Likewise.
      	* intrinsics/unpack_generic.c (unpack_internal): Likewise.
      	* io/list_read.c (nml_touch_nodes): Don't cast xmalloc return value.
      	* io/transfer.c (st_set_nml_var): Call xmallocarray instead of
      	xmalloc.
      	* io/unit.c (get_internal_unit): Likewise.
      	(filename_from_unit): Don't cast xmalloc return value.
      	* io/write.c (nml_write_obj): Likewise, formatting.
      	* m4/bessel.m4 (bessel_jn_r'rtype_kind`): Call xmallocarray
      	instead of xmalloc.
      	(besse_yn_r'rtype_kind`): Likewise.
      	* m4/cshift1.m4 (cshift1): Likewise.
      	* m4/eoshift1.m4 (eoshift1): Likewise.
      	* m4/eoshift3.m4 (eoshift3): Likewise.
      	* m4/iforeach.m4: Likewise.
      	* m4/ifunction.m4: Likewise.
      	* m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code):
      	Likewise.
      	* m4/in_pack.m4 (internal_pack_'rtype_ccode`): Likewise.
      	* m4/matmul.m4 (matmul_'rtype_code`): Likewise.
      	* m4/matmull.m4 (matmul_'rtype_code`): Likewise.
      	* m4/pack.m4 (pack_'rtype_code`): Likewise.
      	* m4/reshape.m4 (reshape_'rtype_ccode`): Likewise.
      	* m4/shape.m4 (shape_'rtype_kind`): Likewise.
      	* m4/spread.m4 (spread_'rtype_code`): Likewise.
      	(spread_scalar_'rtype_code`): Likewise.
      	* m4/transpose.m4 (transpose_'rtype_code`): Likewise.
      	* m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
      	(unpack1_'rtype_code`): Likewise.
      	* runtime/convert_char.c (convert_char1_to_char4): Likewise.
      	(convert_char4_to_char1): Simplify.
      	* runtime/environ.c (init_unformatted): Call xmallocarray instead
      	of xmalloc.
      	* runtime/in_pack_generic.c (internal_pack): Likewise.
      
      From-SVN: r211721
      Janne Blomqvist committed
    • Daily bump. · d69d4bf5
      From-SVN: r211720
      GCC Administrator committed
    • arm.c (arm_atomic_assign_expand_fenv): call default_atomic_assign_expand_fenv… · 5db37871
      arm.c (arm_atomic_assign_expand_fenv): call default_atomic_assign_expand_fenv for !TARGET_HARD_FLOAT.
      
      gcc/
      2014-06-17  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* config/arm/arm.c (arm_atomic_assign_expand_fenv): call
      	default_atomic_assign_expand_fenv for !TARGET_HARD_FLOAT.
      	(arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
      	__builtins_arm_get_fpscr only when TARGET_HARD_FLOAT.
      	* config/arm/vfp.md (set_fpscr): Make pattern conditional on
      	TARGET_HARD_FLOAT.
      	(get_fpscr) : Likewise.
      
      From-SVN: r211717
      Kugan Vivekanandarajah committed
  2. 16 Jun, 2014 22 commits
  3. 15 Jun, 2014 8 commits
    • c-common.c (handle_tls_model_attribute): Use set_decl_tls_model. · 56363ffd
      	* c-family/c-common.c (handle_tls_model_attribute): Use set_decl_tls_model.
      	* cgraph.h (struct varpool_node): Add tls_model.
      	* tree.c (decl_tls_model, set_decl_tls_model): New functions.
      	* tree.h (DECL_TLS_MODEL): Update.
      	(DECL_THREAD_LOCAL_P): Check that variable is static.
      	(decl_tls_model): Declare.
      	(set_decl_tls_model): Declare.
      	* tree-emutls.c (get_emutls_init_templ_addr): First build decl and then
      	set symbol prorperties.
      	(get_emutls_init_templ_addr): Cleanup.
      	(new_emutls_decl): Update.
      	* lto-cgraph.c (lto_output_varpool_node): Stream TLS model
      	(lto_input_varpool_node): Likewise.
      	* lto-streamer-out.c (hash_tree): Likewise.
      	* tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
      	not stream DECL_TLS_MODEL.
      	* tree-profile.c (init_ic_make_global_vars): Use
      	set_decl_tls_model.
      	* tree-core.h (tree_decl_with_vis): Remove tls_model;
      	update comments.
      
      	* c-parser.c (c_parser_omp_threadprivate): Likewise.
      	* c-decl.c (merge_decls): Likewise.
      
      	* decl.c (duplicate_decls): Use set_decl_tls_model.
      	(grokdeclarator): Likewise.
      	* semantics.c (finish_id_expression): Check TLS only for
      	static variables.
      	(finish_omp_threadprivate): Use decl_default_tls_model.
      	* decl2.c (get_guard): Likewise.
      	* call.c (make_temporary_var_for_ref_to_temp): Likewise.
      
      	* gcc-interface/utils.c (process_attributes): Use
      	set_decl_tls_model.
      
      	* trans-common.c (build_common_decl): Use
      	set_decl_tls_model.
      	* trans-decl.c (gfc_finish_var_decl): Likewise.
      	(get_proc_pointer_decl): Likewise.
      
      	* lto.c (compare_tree_sccs_1): Do not compare DECL_TLS_MODEL.
      
      From-SVN: r211689
      Jan Hubicka committed
    • re PR fortran/28484 ([F03] system_clock with real-type count_rate does not compile) · a416c4c7
      	PR fortran/28484
      	PR fortran/61429
      
      	* check.c (gfc_check_system_clock): Improve checking of arguments.
      	* intrinsic.texi: Update doc of SYSTEM_CLOCK.
      	* iresolve.c (gfc_resolve_system_clock): Choose library function
      	used depending on argument kinds.
      	* trans-decl.c (gfc_build_intrinsic_function_decls): Build
      	decls for system_clock_4 and system_clock_8.
      	* trans-intrinsic.c (conv_intrinsic_system_clock): New function.
      	(gfc_conv_intrinsic_subroutine): Call conv_intrinsic_system_clock.
      	* trans.h (gfor_fndecl_system_clock4, gfor_fndecl_system_clock8):
      	New variables.
      
      	* gfortran.dg/system_clock_1.f90: New file.
      	* gfortran.dg/system_clock_2.f90: New file.
      
      From-SVN: r211686
      Francois-Xavier Coudert committed
    • re PR libfortran/60468 (./fpu-target.h:93:3: error: unknown type name 'choke') · 6faf4751
      	PR libfortran/60468
      	* configure.ac: Include <math.h> when checking for
      	fp_except_t and fp_rnd_t types.
      	* configure: Regenerate.
      
      From-SVN: r211685
      Francois-Xavier Coudert committed
    • df.h (DF_REF_REG_USE_P, [...]): Remove null checks. · 3bb5c996
      gcc/
      	* df.h (DF_REF_REG_USE_P, DF_MWS_REG_USE_P): Remove null checks.
      
      From-SVN: r211684
      Richard Sandiford committed
    • df.h (df_mw_hardreg, [...]): Add a link pointer. · b512946c
      gcc/
      	* df.h (df_mw_hardreg, df_base_ref): Add a link pointer.
      	(df_insn_info): Turn defs, uses, eq_uses and mw_hardregs into linked
      	lists.
      	(df_scan_bb_info): Likewise artificial_defs and artificial_uses.
      	(DF_REF_NEXT_LOC, DF_MWS_NEXT): New macros.
      	(FOR_EACH_INSN_INFO_DEF, FOR_EACH_INSN_INFO_USE)
      	(FOR_EACH_INSN_INFO_EQ_USE, FOR_EACH_INSN_INFO_MW)
      	(FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF)
      	(df_get_artificial_defs, df_get_artificial_uses)
      	(df_single_def, df_single_use): Update accordingly.
      	(df_refs_chain_dump): Take the first element in a linked list as
      	parameter, rather than a pointer to an array of pointers.
      	* df-core.c (df_refs_chain_dump, df_mws_dump): Likewise.
      	* df-problems.c (df_rd_bb_local_compute_process_def): Likewise.
      	(df_chain_create_bb_process_use): Likewise.
      	(df_md_bb_local_compute_process_def): Likewise.
      	* fwprop.c (process_defs, process_uses): Likewise.
      	(register_active_defs, update_uses): Likewise.
      	(forward_propagate_asm): Update for new df_ref linking.
      	* df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): Delete.
      	(df_null_ref_rec, df_null_mw_rec): Likewise.
      	(df_scan_free_internal): Don't free df_ref and df_mw_hardreg lists
      	explicitly.
      	(df_scan_free_bb_info): Remove check for null artificial_defs.
      	(df_install_ref_incremental): Adjust for new df_ref linking.
      	Use a single-element insertion rather than a full sort.
      	(df_ref_chain_delete_du_chain): Take the first element
      	in a linked list as parameter, rather than a pointer to an array of
      	pointers.
      	(df_ref_chain_delete, df_mw_hardreg_chain_delete): Likewise.
      	(df_add_refs_to_table, df_refs_verify, df_mws_verify): Likewise.
      	(df_insn_info_delete): Remove check for null defs and call to
      	df_scan_free_mws_vec.
      	(df_insn_rescan): Initialize df_ref and df_mw_hardreg lists to
      	null rather than df_null_*_rec.
      	(df_insn_rescan_debug_internal): Likewise, and update null
      	checks in the same way.  Remove check for null defs.
      	(df_ref_change_reg_with_loc_1): Fix choice of list for defs.
      	Move a single element rather doing a full sort.
      	(df_mw_hardreg_chain_delete_eq_uses): Adjust for new df_mw_hardreg
      	linking.
      	(df_notes_rescan): Likewise.  Use a merge rather than a full sort.
      	Initialize df_ref and df_mw_hardreg lists to null rather than
      	df_null_*_rec.
      	(df_ref_compare): Take df_refs as parameter, transferring the
      	old interface to...
      	(df_ref_ptr_compare): ...this new function.
      	(df_sort_and_compress_refs): Update accordingly.
      	(df_mw_compare): Take df_mw_hardregs as parameter, transferring the
      	old interface to...
      	(df_mw_ptr_compare): ...this new function.
      	(df_sort_and_compress_mws): Update accordingly.
      	(df_install_refs, df_install_mws): Return a linked list rather than
      	an array of pointers.
      	(df_refs_add_to_chains): Assert that old lists are empty rather
      	than freeing them.
      	(df_insn_refs_verify): Don't handle null defs speciailly.
      	* web.c (union_match_dups): Update for new df_ref linking.
      
      From-SVN: r211683
      Richard Sandiford committed
    • df.h (df_ref_create, [...]): Delete. · 5a474220
      gcc/
      	* df.h (df_ref_create, df_ref_remove): Delete.
      	* df-scan.c (df_ref_create, df_ref_compress_rec): Likewise.
      	(df_ref_remove): Likewise.
      
      From-SVN: r211682
      Richard Sandiford committed
    • df.h (df_single_def, [...]): New functions. · 74e59b6c
      gcc/
      	* df.h (df_single_def, df_single_use): New functions.
      	* ira.c (find_moveable_pseudos): Use them.
      
      From-SVN: r211681
      Richard Sandiford committed
    • df.h (FOR_EACH_INSN_INFO_MW): New macro. · fc8e9f58
      gcc/
      	* df.h (FOR_EACH_INSN_INFO_MW): New macro.
      	* df-problems.c (df_note_bb_compute): Use it.
      	* regstat.c (regstat_bb_compute_ri): Likewise.
      
      From-SVN: r211680
      Richard Sandiford committed