1. 17 Jun, 2014 4 commits
    • 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 11 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
    • df.h (FOR_EACH_ARTIFICIAL_USE, [...]): New macros. · 292321a5
      gcc/
      	* df.h (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF): New macros.
      	* cse.c (cse_extended_basic_block): Use them.
      	* dce.c (mark_artificial_use): Likewise.
      	* df-problems.c (df_rd_simulate_artificial_defs_at_top): Likewise.
      	(df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
      	(df_chain_remove_problem, df_chain_bb_dump): Likewise.
      	(df_word_lr_bb_local_compute, df_note_bb_compute): Likewise.
      	(df_simulate_initialize_backwards): Likewise.
      	(df_simulate_finalize_backwards): Likewise.
      	(df_simulate_initialize_forwards): Likewise.
      	(df_md_simulate_artificial_defs_at_top): Likewise.
      	* df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
      	* regrename.c (init_rename_info): Likewise.
      	* regstat.c (regstat_bb_compute_ri): Likewise.
      	(regstat_bb_compute_calls_crossed): Likewise.
      
      From-SVN: r211679
      Richard Sandiford committed
    • df.h (DF_INSN_INFO_MWS, [...]): New macros. · bfac633a
      gcc/
      	* df.h (DF_INSN_INFO_MWS, FOR_EACH_INSN_INFO_DEF): New macros.
      	(FOR_EACH_INSN_INFO_USE, FOR_EACH_INSN_INFO_EQ_USE): Likewise.
      	(FOR_EACH_INSN_DEF, FOR_EACH_INSN_USE, FOR_EACH_INSN_EQ_USE): Likewise.
      	* auto-inc-dec.c (find_inc, merge_in_block): Use them.
      	* combine.c (create_log_links): Likewise.
      	* compare-elim.c (find_flags_uses_in_insn): Likewise.
      	(try_eliminate_compare): Likewise.
      	* cprop.c (make_set_regs_unavailable, mark_oprs_set): Likewise.
      	* dce.c (deletable_insn_p, find_call_stack_args): Likewise.
      	(remove_reg_equal_equiv_notes_for_defs): Likewise.
      	(reset_unmarked_insns_debug_uses, mark_reg_dependencies): Likewise.
      	(word_dce_process_block, dce_process_block): Likewise.
      	* ddg.c (def_has_ccmode_p): Likewise.
      	* df-core.c (df_bb_regno_first_def_find): Likewise.
      	(df_bb_regno_last_def_find, df_find_def, df_find_use): Likewise.
      	* df-problems.c (df_rd_simulate_one_insn): Likewise.
      	(df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
      	(df_chain_remove_problem, df_chain_insn_top_dump): Likewise.
      	(df_chain_insn_bottom_dump, df_word_lr_bb_local_compute): Likewise.
      	(df_word_lr_simulate_defs, df_word_lr_simulate_uses): Likewise.
      	(df_remove_dead_eq_notes, df_note_bb_compute): Likewise.
      	(df_simulate_find_defs, df_simulate_find_uses): Likewise.
      	(df_simulate_find_noclobber_defs, df_simulate_defs): Likewise.
      	(df_simulate_uses, df_md_simulate_one_insn): Likewise.
      	* df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
      	* fwprop.c (local_ref_killed_between_p): Likewise.
      	(all_uses_available_at, free_load_extend): Likewise.
      	* gcse.c (update_bb_reg_pressure, calculate_bb_reg_pressure): Likewise.
      	* hw-doloop.c (scan_loop): Likewise.
      	* ifcvt.c (dead_or_predicable): Likewise.
      	* init-regs.c (initialize_uninitialized_regs): Likewise.
      	* ira-lives.c (mark_hard_reg_early_clobbers): Likewise.
      	(process_bb_node_lives): Likewise.
      	* ira.c (compute_regs_asm_clobbered, build_insn_chain): Likewise.
      	(find_moveable_pseudos): Likewise.
      	* loop-invariant.c (check_dependencies, record_uses): Likewise.
      	* recog.c (peep2_find_free_register): Likewise.
      	* ree.c (get_defs): Likewise.
      	* regstat.c (regstat_bb_compute_ri): Likewise.
      	(regstat_bb_compute_calls_crossed): Likewise.
      	* sched-deps.c (find_inc, find_mem): Likewise.
      	* sel-sched-ir.c (maybe_downgrade_id_to_use): Likewise.
      	(maybe_downgrade_id_to_use, setup_id_reg_sets): Likewise.
      	* shrink-wrap.c (requires_stack_frame_p): Likewise.
      	(prepare_shrink_wrap): Likewise.
      	* store-motion.c (compute_store_table, build_store_vectors): Likewise.
      	* web.c (union_defs, pass_web::execute): Likewise.
      	* config/i386/i386.c (increase_distance, insn_defines_reg): Likewise.
      	(insn_uses_reg_mem, ix86_ok_to_clobber_flags): Likewise.
      
      From-SVN: r211678
      Richard Sandiford committed
    • Daily bump. · 2c73339a
      From-SVN: r211676
      GCC Administrator committed
  4. 14 Jun, 2014 3 commits
    • re PR c++/33101 ([DR 577] allow typedefs for void in empty parameter list) · 045af2d7
      /cp
      2014-06-14  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/33101
      	* decl.c (grokparms): Improve error message about void parameters.
      	* error.c (type_to_string): Fix aka cut off code.
      
      /testsuite
      2014-06-14  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/33101
      	* g++.dg/other/void3.C: New.
      	* g++.dg/conversion/err-recover1.C: Update.
      
      From-SVN: r211673
      Paolo Carlini committed
    • any (any_cast): Combine duplicate doxygen comments. · fb3bc977
      	* include/experimental/any (any_cast): Combine duplicate doxygen
      	comments.
      	* include/experimental/string_view (basic_string_view): Update
      	doxygen comment.
      	* include/std/bitset (bitset): Move to Doxygen 'utilities' group.
      	* include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
      	(dynamic_bitset): Improve Doxygen comments.
      	* include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
      	comment.
      
      From-SVN: r211672
      Jonathan Wakely committed
    • api.xml: Link to more recent API docs. · 10d43d2f
      	* doc/xml/api.xml: Link to more recent API docs.
      	* include/bits/allocator.h: Fix link in doxygen comment.
      	* include/bits/char_traits.h: Likewise.
      	* include/bits/ios_base.h: Likewise.
      	* include/bits/stl_map.h: Likewise.
      	* include/bits/stl_multimap.h: Likewise.
      	* include/bits/stl_multiset.h: Likewise.
      	* include/bits/stl_set.h: Likewise.
      	* include/bits/unordered_map.h: Likewise.
      	* include/bits/unordered_set.h: Likewise.
      	* include/ext/mt_allocator.h: Likewise.
      	* include/std/fstream: Likewise.
      	* include/std/iosfwd: Likewise.
      	* include/std/ostream: Likewise.
      	* include/std/sstream: Likewise.
      	* include/std/streambuf: Likewise.
      	* doc/html/*: Regenerate.
      
      From-SVN: r211671
      Jonathan Wakely committed