Skip to content
Snippets Groups Projects
  1. Dec 15, 2016
    • David Malcolm's avatar
      Introduce selftest::locate_file · ecfc21ff
      David Malcolm authored
      gcc/ChangeLog:
      	* Makefile.in (SELFTEST_FLAGS): Add path argument to -fself-test.
      	(s-selftest): Add dependency on the selftests data directory.
      	* common.opt (fself-test): Rename to...
      	(fself-test=): ...this, documenting the meaning of the argument.
      	* selftest-run-tests.c (along): Likewise.
      	* selftest-run-tests.c: Include "options.h".
      	(selftest::run_tests): Initialize selftest::path_to_selftest_files
      	from flag_self_test.
      	* selftest.c (selftest::path_to_selftest_files): New global.
      	(selftest::locate_file): New function.
      	(selftest::test_locate_file): New function.
      	(selftest_c_tests): Likewise.
      	(selftest::selftest_c_tests): Call test_locate_file.
      	* selftest.h (selftest::locate_file): New decl.
      	(selftest::path_to_selftest_files): New decl.
      
      gcc/testsuite/ChangeLog:
      	PR target/78213
      	* gcc.dg/cpp/pr71591.c: Add a fake value for the argument of
      	-fself-test.
      	* gcc.dg/pr78213.c: Disable this test.
      	* selftests/example.txt: New file.
      
      From-SVN: r243681
      ecfc21ff
    • Joseph Myers's avatar
      * es.po: Update. · e98ac258
      Joseph Myers authored
      From-SVN: r243679
      e98ac258
    • GCC Administrator's avatar
      Daily bump. · e8243797
      GCC Administrator authored
      From-SVN: r243678
      e8243797
  2. Dec 14, 2016
    • Andrew Pinski's avatar
      aarch64-cores.def: Add -1 as the variant to all of the cores. · e8fcc9fa
      Andrew Pinski authored
      2016-12-14  Andrew Pinski  <apinski@cavium.com>
      
              * config/aarch64/aarch64-cores.def: Add -1 as the variant to all
              of the cores.
              (thunderx): Update to include LSE by default.
              (thunderxt88p1): New core.
              (thunderxt88): New core.
              (thunderxt81): New core.
              (thunderxt83): New core.
              * config/aarch64/driver-aarch64.c (struct aarch64_core_data):
              Add variant field.
              (ALL_VARIANTS): New define.
              (AARCH64_CORE): Support VARIANT operand.
              (cpu_data): Likewise.
              (host_detect_local_cpu): Parse variant field of /proc/cpuinfo.
              Combine the arch and single core case and support variant searching.
              * common/config/aarch64/aarch64-common.c (AARCH64_CORE):
              Add VARIANT operand.
              * config/aarch64/aarch64-opts.h (AARCH64_CORE): Likewise.
              * config/aarch64/aarch64.c (AARCH64_CORE): Likewise.
              * config/aarch64/aarch64.h (AARCH64_CORE): Likewise.
              * config/aarch64/aarch64-tune.md: Regenerate.
              * doc/invoke.texi (AARCH64/mtune): Document thunderxt88,
              thunderxt88p1, thunderxt81, thunderxt83 as available options.
      
      From-SVN: r243675
      e8fcc9fa
    • Martin Jambor's avatar
      Coding style fixes · 01914336
      Martin Jambor authored
      2016-12-14  Martin Jambor  <mjambor@suse.cz>
      
      	    * omp-offload.c: Fix coding style.
      	    * omp-expand.c: Likewise.
      	    * omp-general.c: Likewise.
      	    * omp-grid.c: Likewise.
      	    * omp-low.c: Fix coding style of parts touched by the
      	      previous splitting patch.
      
      From-SVN: r243674
      01914336
    • Martin Jambor's avatar
      Split omp-low into multiple files · 629b3d75
      Martin Jambor authored
      2016-12-14  Martin Jambor  <mjambor@suse.cz>
      
      	* omp-general.h: New file.
      	* omp-general.c: New file.
      	* omp-expand.h: Likewise.
      	* omp-expand.c: Likewise.
      	* omp-offload.h: Likewise.
      	* omp-offload.c: Likewise.
      	* omp-grid.c: Likewise.
      	* omp-grid.c: Likewise.
      	* omp-low.h: Include omp-general.h and omp-grid.h.  Removed includes
      	of params.h, symbol-summary.h, lto-section-names.h, cilk.h, tree-eh.h,
      	ipa-prop.h, tree-cfgcleanup.h, cfgloop.h, except.h, expr.h, stmt.h,
      	varasm.h, calls.h, explow.h, dojump.h, flags.h, tree-into-ssa.h,
      	tree-cfg.h, cfganal.h, alias.h, emit-rtl.h, optabs.h, expmed.h,
      	alloc-pool.h, cfghooks.h, rtl.h and memmodel.h.
      	(omp_find_combined_for): Declare.
      	(find_omp_clause): Renamed to omp_find_clause and moved to
      	omp-general.h.
      	(free_omp_regions): Renamed to omp_free_regions and moved to
      	omp-expand.h.
      	(replace_oacc_fn_attrib): Renamed to oacc_replace_fn_attrib and moved
      	to omp-general.h.
      	(set_oacc_fn_attrib): Renamed to oacc_set_fn_attrib and moved to
      	omp-general.h.
      	(build_oacc_routine_dims): Renamed to oacc_build_routine_dims and
      	moved to omp-general.h.
      	(get_oacc_fn_attrib): Renamed to oacc_get_fn_attrib and moved to
      	omp-general.h.
      	(oacc_fn_attrib_kernels_p): Moved to omp-general.h.
      	(get_oacc_fn_dim_size): Renamed to oacc_get_fn_dim_size and moved to
      	omp-general.c.
      	(omp_expand_local): Moved to omp-expand.h.
      	(make_gimple_omp_edges): Renamed to omp_make_gimple_edges and moved to
      	omp-expand.h.
      	(omp_finish_file): Moved to omp-offload.h.
      	(default_goacc_validate_dims): Renamed to
      	oacc_default_goacc_validate_dims and moved to omp-offload.h.
      	(offload_funcs, offload_vars): Moved to omp-offload.h.
      	* omp-low.c: Include omp-general.h, omp-offload.h and omp-grid.h.
      	(omp_region): Moved to omp-expand.c.
      	(omp_for_data_loop): Moved to omp-general.h.
      	(omp_for_data): Likewise.
      	(oacc_loop): Moved to omp-offload.c.
      	(oacc_loop_flags): Moved to omp-general.h.
      	(offload_funcs, offload_vars): Moved to omp-offload.c.
      	(root_omp_region): Moved to omp-expand.c.
      	(omp_any_child_fn_dumped): Likewise.
      	(find_omp_clause): Renamed to omp_find_clause and moved to
      	omp-general.c.
      	(is_combined_parallel): Moved to omp-expand.c.
      	(is_reference): Renamed to omp_is_reference and and moved to
      	omp-general.c.
      	(adjust_for_condition): Renamed to omp_adjust_for_condition and moved
      	to omp-general.c.
      	(get_omp_for_step_from_incr): Renamed to omp_get_for_step_from_incr
      	and moved to omp-general.c.
      	(extract_omp_for_data): Renamed to omp_extract_for_data and moved to
      	omp-general.c.
      	(workshare_safe_to_combine_p): Moved to omp-expand.c.
      	(omp_adjust_chunk_size): Likewise.
      	(get_ws_args_for): Likewise.
      	(get_base_type): Removed.
      	(dump_omp_region): Moved to omp-expand.c.
      	(debug_omp_region): Likewise.
      	(debug_all_omp_regions): Likewise.
      	(new_omp_region): Likewise.
      	(free_omp_region_1): Likewise.
      	(free_omp_regions): Renamed to omp_free_regions and moved to
      	omp-expand.c.
      	(find_combined_for): Renamed to omp_find_combined_for, made global.
      	(build_omp_barrier): Renamed to omp_build_barrier and moved to
      	omp-general.c.
      	(omp_max_vf): Moved to omp-general.c.
      	(omp_max_simt_vf): Likewise.
      	(gimple_build_cond_empty): Moved to omp-expand.c.
      	(parallel_needs_hsa_kernel_p): Likewise.
      	(expand_omp_build_assign): Moved declaration to omp-expand.c.
      	(expand_parallel_call): Moved to omp-expand.c.
      	(expand_cilk_for_call): Likewise.
      	(expand_task_call): Likewise.
      	(vec2chain): Likewise.
      	(remove_exit_barrier): Likewise.
      	(remove_exit_barriers): Likewise.
      	(optimize_omp_library_calls): Likewise.
      	(expand_omp_regimplify_p): Likewise.
      	(expand_omp_build_assign): Likewise.
      	(expand_omp_taskreg): Likewise.
      	(oacc_collapse): Likewise.
      	(expand_oacc_collapse_init): Likewise.
      	(expand_oacc_collapse_vars): Likewise.
      	(expand_omp_for_init_counts): Likewise.
      	(expand_omp_for_init_vars): Likewise.
      	(extract_omp_for_update_vars): Likewise.
      	(expand_omp_ordered_source): Likewise.
      	(expand_omp_ordered_sink): Likewise.
      	(expand_omp_ordered_source_sink): Likewise.
      	(expand_omp_for_ordered_loops): Likewise.
      	(expand_omp_for_generic): Likewise.
      	(expand_omp_for_static_nochunk): Likewise.
      	(find_phi_with_arg_on_edge): Likewise.
      	(expand_omp_for_static_chunk): Likewise.
      	(expand_cilk_for): Likewise.
      	(expand_omp_simd): Likewise.
      	(expand_omp_taskloop_for_outer): Likewise.
      	(expand_omp_taskloop_for_inner): Likewise.
      	(expand_oacc_for): Likewise.
      	(expand_omp_for): Likewise.
      	(expand_omp_sections): Likewise.
      	(expand_omp_single): Likewise.
      	(expand_omp_synch): Likewise.
      	(expand_omp_atomic_load): Likewise.
      	(expand_omp_atomic_store): Likewise.
      	(expand_omp_atomic_fetch_op): Likewise.
      	(expand_omp_atomic_pipeline): Likewise.
      	(expand_omp_atomic_mutex): Likewise.
      	(expand_omp_atomic): Likewise.
      	(oacc_launch_pack): and moved to omp-general.c, made public.
      	(OACC_FN_ATTRIB): Likewise.
      	(replace_oacc_fn_attrib): Renamed to oacc_replace_fn_attrib and moved
      	to omp-general.c.
      	(set_oacc_fn_attrib): Renamed to oacc_set_fn_attrib and moved to
      	omp-general.c.
      	(build_oacc_routine_dims): Renamed to oacc_build_routine_dims and
      	moved to omp-general.c.
      	(get_oacc_fn_attrib): Renamed to oacc_get_fn_attrib and moved to
      	omp-general.c.
      	(oacc_fn_attrib_kernels_p): Moved to omp-general.c.
      	(oacc_fn_attrib_level): Moved to omp-offload.c.
      	(get_oacc_fn_dim_size): Renamed to oacc_get_fn_dim_size and moved to
      	omp-general.c.
      	(get_oacc_ifn_dim_arg): Renamed to oacc_get_ifn_dim_arg and moved to
      	omp-general.c.
      	(mark_loops_in_oacc_kernels_region): Moved to omp-expand.c.
      	(grid_launch_attributes_trees): Likewise.
      	(grid_attr_trees): Likewise.
      	(grid_create_kernel_launch_attr_types): Likewise.
      	(grid_insert_store_range_dim): Likewise.
      	(grid_get_kernel_launch_attributes): Likewise.
      	(get_target_argument_identifier_1): Likewise.
      	(get_target_argument_identifier): Likewise.
      	(get_target_argument_value): Likewise.
      	(push_target_argument_according_to_value): Likewise.
      	(get_target_arguments): Likewise.
      	(expand_omp_target): Likewise.
      	(grid_expand_omp_for_loop): Moved to omp-grid.c.
      	(grid_arg_decl_map): Likewise.
      	(grid_remap_kernel_arg_accesses): Likewise.
      	(grid_expand_target_grid_body): Likewise.
      	(expand_omp): Renamed to omp_expand and moved to omp-expand.c.
      	(build_omp_regions_1): Moved to omp-expand.c.
      	(build_omp_regions_root): Likewise.
      	(omp_expand_local): Likewise.
      	(build_omp_regions): Likewise.
      	(execute_expand_omp): Likewise.
      	(pass_data_expand_omp): Likewise.
      	(pass_expand_omp): Likewise.
      	(make_pass_expand_omp): Likewise.
      	(pass_data_expand_omp_ssa): Likewise.
      	(pass_expand_omp_ssa): Likewise.
      	(make_pass_expand_omp_ssa): Likewise.
      	(grid_lastprivate_predicate): Renamed to
      	omp_grid_lastprivate_predicate and moved to omp-grid.c, made public.
      	(grid_prop): Moved to omp-grid.c.
      	(GRID_MISSED_MSG_PREFIX): Likewise.
      	(grid_safe_assignment_p): Likewise.
      	(grid_seq_only_contains_local_assignments): Likewise.
      	(grid_find_single_omp_among_assignments_1): Likewise.
      	(grid_find_single_omp_among_assignments): Likewise.
      	(grid_find_ungridifiable_statement): Likewise.
      	(grid_parallel_clauses_gridifiable): Likewise.
      	(grid_inner_loop_gridifiable_p): Likewise.
      	(grid_dist_follows_simple_pattern): Likewise.
      	(grid_gfor_follows_tiling_pattern): Likewise.
      	(grid_call_permissible_in_distribute_p): Likewise.
      	(grid_handle_call_in_distribute): Likewise.
      	(grid_dist_follows_tiling_pattern): Likewise.
      	(grid_target_follows_gridifiable_pattern): Likewise.
      	(grid_remap_prebody_decls): Likewise.
      	(grid_var_segment): Likewise.
      	(grid_mark_variable_segment): Likewise.
      	(grid_copy_leading_local_assignments): Likewise.
      	(grid_process_grid_body): Likewise.
      	(grid_eliminate_combined_simd_part): Likewise.
      	(grid_mark_tiling_loops): Likewise.
      	(grid_mark_tiling_parallels_and_loops): Likewise.
      	(grid_process_kernel_body_copy): Likewise.
      	(grid_attempt_target_gridification): Likewise.
      	(grid_gridify_all_targets_stmt): Likewise.
      	(grid_gridify_all_targets): Renamed to omp_grid_gridify_all_targets
      	and moved to omp-grid.c, made public.
      	(make_gimple_omp_edges): Renamed to omp_make_gimple_edges and moved to
      	omp-expand.c.
      	(add_decls_addresses_to_decl_constructor): Moved to omp-offload.c.
      	(omp_finish_file): Likewise.
      	(oacc_thread_numbers): Likewise.
      	(oacc_xform_loop): Likewise.
      	(oacc_default_dims, oacc_min_dims): Likewise.
      	(oacc_parse_default_dims): Likewise.
      	(oacc_validate_dims): Likewise.
      	(new_oacc_loop_raw): Likewise.
      	(new_oacc_loop_outer): Likewise.
      	(new_oacc_loop): Likewise.
      	(new_oacc_loop_routine): Likewise.
      	(finish_oacc_loop): Likewise.
      	(free_oacc_loop): Likewise.
      	(dump_oacc_loop_part): Likewise.
      	(dump_oacc_loop): Likewise.
      	(debug_oacc_loop): Likewise.
      	(oacc_loop_discover_walk): Likewise.
      	(oacc_loop_sibling_nreverse): Likewise.
      	(oacc_loop_discovery): Likewise.
      	(oacc_loop_xform_head_tail): Likewise.
      	(oacc_loop_xform_loop): Likewise.
      	(oacc_loop_process): Likewise.
      	(oacc_loop_fixed_partitions): Likewise.
      	(oacc_loop_auto_partitions): Likewise.
      	(oacc_loop_partition): Likewise.
      	(default_goacc_fork_join): Likewise.
      	(default_goacc_reduction): Likewise.
      	(execute_oacc_device_lower): Likewise.
      	(default_goacc_validate_dims): Likewise.
      	(default_goacc_dim_limit): Likewise.
      	(pass_data_oacc_device_lower): Likewise.
      	(pass_oacc_device_lower): Likewise.
      	(make_pass_oacc_device_lower): Likewise.
      	(execute_omp_device_lower): Likewise.
      	(pass_data_omp_device_lower): Likewise.
      	(pass_omp_device_lower): Likewise.
      	(make_pass_omp_device_lower): Likewise.
      	(pass_data_omp_target_link): Likewise.
      	(pass_omp_target_link): Likewise.
      	(find_link_var_op): Likewise.
      	(pass_omp_target_link::execute): Likewise.
      	(make_pass_omp_target_link): Likewise.
      
      	* Makefile.in (OBJS): Added omp-offload.o, omp-expand.o, omp-general.o
      	and omp-grid.o.
      	(GTFILES): Added omp-offload.h, omp-offload.c and omp-expand.c, removed
      	omp-low.h.
      	* gimple-fold.c: Include omp-general.h instead of omp-low.h.
      	(fold_internal_goacc_dim): Adjusted calls to
      	get_oacc_ifn_dim_arg and get_oacc_fn_dim_size to use their new names.
      	* gimplify.c: Include omp-low.h.
      	(omp_notice_variable): Adjust the call to get_oacc_fn_attrib to use
      	its new name.
      	(gimplify_omp_task): Adjusted calls to find_omp_clause to use its new
      	name.
      	(gimplify_omp_for): Likewise.
      	* lto-cgraph.c: Include omp-offload.h instead of omp-low.h.
      	* toplev.c: Include omp-offload.h instead of omp-low.h.
      	* tree-cfg.c: Include omp-general.h instead of omp-low.h.  Also
      	include omp-expand.h.
      	(make_edges_bb): Adjusted the call to make_gimple_omp_edges to use its
      	new name.
      	(make_edges): Adjust the call to free_omp_regions to use its new name.
      	* tree-parloops.c: Include omp-general.h.
      	(create_parallel_loop): Adjusted the call to set_oacc_fn_attrib to use
      	its new name.
      	(parallelize_loops): Adjusted the call to get_oacc_fn_attrib to use
      	its new name.
      	* tree-ssa-loop.c: Include omp-general.h instead of omp-low.h.
      	(gate_oacc_kernels): Adjusted the call to get_oacc_fn_attrib to use
      	its new name.
      	* tree-vrp.c: Include omp-general.h instead of omp-low.h.
      	(extract_range_basic): Adjusted calls to get_oacc_ifn_dim_arg and
      	get_oacc_fn_dim_size to use their new names.
      	* varpool.c: Include omp-offload.h instead of omp-low.h.
      	* gengtype.c (open_base_files): Replace omp-low.h with omp-offload.h in
      	ifiles.
      	* config/nvptx/nvptx.c: Include omp-general.c.
      	(nvptx_expand_call): Adjusted the call to get_oacc_fn_attrib to use
      	its new name.
      	(nvptx_reorg): Likewise.
      	(nvptx_record_offload_symbol): Likewise.
      
      gcc/c-family:
      	* c-omp.c: Include omp-general.h instead of omp-low.h.
      	(c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
      	name.
      
      gcc/c/
      	* c-parser.c: Include omp-general.h and omp-offload.h instead of
      	omp-low.h.
      	(c_finish_oacc_routine): Adjusted call to
      	get_oacc_fn_attrib, build_oacc_routine_dims and replace_oacc_fn_attrib
      	to use their new names.
      	(c_parser_oacc_enter_exit_data): Adjusted call to find_omp_clause to
      	use its new name.
      	(c_parser_oacc_update): Likewise.
      	(c_parser_omp_simd): Likewise.
      	(c_parser_omp_target_update): Likewise.
      	* c-typeck.c: Include omp-general.h instead of omp-low.h.
      	(c_finish_omp_cancel): Adjusted call to find_omp_clause to use its new
      	name.
      	(c_finish_omp_cancellation_point): Likewise.
      	* gimple-parser.c: Do not include omp-low.h
      
      gcc/cp/
      	* parser.c: Include omp-general.h and omp-offload.h instead of
      	omp-low.h.
      	(cp_parser_omp_simd): Adjusted calls to find_omp_clause to use its new
      	name.
      	(cp_parser_omp_target_update): Likewise.
      	(cp_parser_oacc_declare): Likewise.
      	(cp_parser_oacc_enter_exit_data): Likewise.
      	(cp_parser_oacc_update): Likewise.
      	(cp_finalize_oacc_routine): Adjusted call to get_oacc_fn_attrib,
      	build_oacc_routine_dims and replace_oacc_fn_attrib to use their new
      	names.
      	* semantics.c: Include omp-general insteda of omp-low.h.
      	(finish_omp_for): Adjusted calls to find_omp_clause to use its new
      	name.
      	(finish_omp_cancel): Likewise.
      	(finish_omp_cancellation_point): Likewise.
      
      fortran/
      	* trans-openmp.c: Include omp-general.h.
      
      From-SVN: r243673
      629b3d75
    • Martin Sebor's avatar
      PR middle-end/78786 - GCC hangs/out of memory calling sprintf with large precision · cfce1a4a
      Martin Sebor authored
      gcc/ChangeLog:
      
      	PR middle-end/78786
      	* gimple-ssa-sprintf.c (target_dir_max): New macro.
      	(get_mpfr_format_length): New function.
      	(format_integer): Use HOST_WIDE_INT instead of int.
      	(format_floating_max): Same.
      	(format_floating): Call get_mpfr_format_length.
      	(format_directive): Use target_dir_max.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/78786
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-7.c: New test.
      
      From-SVN: r243672
      cfce1a4a
    • Jakub Jelinek's avatar
      re PR target/78791 (ACATS cxf2001 failure) · 80008279
      Jakub Jelinek authored
      	PR target/78791
      	* config/i386/i386.h (enum ix86_stack_slot): Add SLOT_STV_TEMP.
      	* config/i386/i386.c (dimode_scalar_chain::make_vector_copies,
      	dimode_scalar_chain::convert_reg): Use SLOT_STV_TEMP instead of
      	SLOT_TEMP.
      
      	* gcc.c-torture/execute/pr78791.c: New test.
      	* gcc.target/i386/pr78791.c: New test.
      
      From-SVN: r243671
      80008279
    • François Dumont's avatar
      stl_tree.h (_Rb_tree_impl(const _Key_compare&, const _Node_allocator&): Restore before C++11 mode. · b9588893
      François Dumont authored
      2016-12-14  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/bits/stl_tree.h
      	(_Rb_tree_impl(const _Key_compare&, const _Node_allocator&): Restore
      	before C++11 mode.
      
      From-SVN: r243670
      b9588893
    • Marek Polacek's avatar
      re PR c++/72775 (internal compiler error: in finish_expr_stmt, at cp/semantics.c:677) · 964b79eb
      Marek Polacek authored
      	PR c++/72775
      	* init.c (perform_member_init): Diagnose member initializer for
      	flexible array member. 
      
      	* g++.dg/ext/flexary12.C: Adjust dg-error.
      	* g++.dg/ext/flexary20.C: New.
      	* g++.dg/ext/flexary21.C: New.
      
      From-SVN: r243669
      964b79eb
    • Uros Bizjak's avatar
      re PR target/59874 (Missing builtin (__builtin_clzs) when compiling with g++) · cc99421e
      Uros Bizjak authored
      	PR target/59874
      	* config/i386/i386-builtin.def: Add __builtin_clzs and __builtin_ctzs.
      	(ix86_fold_builtin): Handle IX86_BUILTIN_CTZS and IX86_BUILTIN_CLZS.
      	* config/i386/i386.md (*ctzhi2): New insn_and_split pattern.
      	(*clzhi2): Ditto.
      
      testsuite/ChangeLog
      
      	PR target/59874
      	* gcc.target/i386/pr59874-1.c: New test.
      	* gcc.target/i386/pr59874-2.c: Ditto.
      
      From-SVN: r243668
      cc99421e
    • David Edelsohn's avatar
      pr78515.c: Add -Wno-psabi for AIX. · d3cab14a
      David Edelsohn authored
              * gcc.dg/torture/pr78515.c: Add -Wno-psabi for AIX.
              * gcc.dg/tree-ssa/forwprop-35.c: Add -Wno-psabi for AIX.
              * gcc.dg/pr69634.c: Add -Wno-psabi for AIX.
      
      From-SVN: r243666
      d3cab14a
    • Jakub Jelinek's avatar
      re PR debug/77844 (Compilation of simple C++ example exhaust memory) · 53cfcb2e
      Jakub Jelinek authored
      	PR debug/77844
      	* valtrack.c: Include rtl-iter.h.
      	(struct rtx_subst_pair): Add insn field.
      	(propagate_for_debug_subst): If pair->to contains at least 2
      	regs, create a DEBUG_INSN with a debug temp before pair->insn
      	and replace from with the debug temp instead of pair->to.
      	(propagate_for_debug): Initialize p.insn.
      	* combine.c (insn_uid_check): New inline function.
      	(INSN_COST, LOG_LINKS): Use it instead of INSN_UID.
      	(find_single_use, combine_instructions,
      	cant_combine_insn_p, try_combine): Use NONDEBUG_INSN_P instead of
      	INSN_P.
      
      	* g++.dg/opt/pr77844.C: New test.
      
      From-SVN: r243662
      53cfcb2e
    • Martin Sebor's avatar
      PR c/78673 - sprintf missing attribute nonnull on destination argument · 474da67e
      Martin Sebor authored
      PR c/78673 - sprintf missing attribute nonnull on destination argument
      PR c/17308 - nonnull attribute not as useful as it could be
      
      gcc/ChangeLog:
      
      	PR c/17308
      	* builtin-attrs.def (ATTR_NONNULL_1_1, ATTR_NONNULL_1_2): Defined.
      	(ATTR_NONNULL_1_3, ATTR_NONNULL_1_4, ATTR_NONNULL_1_5): Same.
      	(ATTR_NOTHROW_NONNULL_1_1, ATTR_NOTHROW_NONNULL_1_2): Same.
      	(ATTR_NOTHROW_NONNULL_1_3, ATTR_NOTHROW_NONNULL_1_4): Same.
      	(ATTR_NOTHROW_NONNULL_1_5): Same.
      	(ATTR_NONNULL_1_FORMAT_PRINTF_1_2): Same.
      	(ATTR_NONNULL_1_FORMAT_PRINTF_2_0): Same.
      	(ATTR_NONNULL_1_FORMAT_PRINTF_2_3): Same.
      	(ATTR_NONNULL_1_FORMAT_PRINTF_3_0): Same.
      	(ATTR_NONNULL_1_FORMAT_PRINTF_3_4): Same.
      	(ATTR_NONNULL_1_FORMAT_PRINTF_4_0): Same.
      	(ATTR_NONNULL_1_FORMAT_PRINTF_4_5): Same.
      	* builtins.c (validate_arg): Add argument.  Treat null pointers
      	passed to nonnull arguments as invalid.
      	(validate_arglist): Same.
      	* builtins.def (fprintf, fprintf_unlocked): Add nonnull attribute.
      	(printf, printf_unlocked, sprintf. vfprintf, vsprintf): Same.
      	(__sprintf_chk, __vsprintf_chk, __fprintf_chk, __vfprintf_chk): Same.
      	* calls.c (get_nonnull_ags, maybe_warn_null_arg): New functions.
      	(initialize_argument_information): Diagnose null pointers passed to
      	arguments declared nonnull.
      	* calls.h (get_nonnull_args): Declared.
      
      gcc/c-family/ChangeLog:
      
      	PR c/17308
      	* c-common.c (check_nonnull_arg): Disable when optimization
      	is enabled.
      
      gcc/testsuite/ChangeLog:
      
      	PR c/17308
      	* gcc.dg/builtins-nonnull.c: New test.
      	* gcc.dg/nonnull-4.c: New test.
      
      From-SVN: r243661
      474da67e
    • Nathan Sidwell's avatar
      re PR c++/78701 (ICE: unexpected expression N of kind template_parm_index) · b4ba0852
      Nathan Sidwell authored
      	PR c++/78701
      	* pt.c (type_unification_real): Check tsubst arg doesn't have
      	remaining template parms before converting it.
      
      	PR c++/78701
      	* g++.dg/cpp0x/pr78701.C: New.
      
      From-SVN: r243657
      b4ba0852
    • Nathan Sidwell's avatar
      re PR c++/69481 (ICE with C++11 alias using with templates) · fa0c02c3
      Nathan Sidwell authored
      	PR c++/69481
      	* cp-tree.h (TYPE_TEMPLATE_INFO_MAYBE_ALIAS): Always use
      	TYPE_ALIAS_TEMPLATE_INFO for aliases.
      
      From-SVN: r243656
      fa0c02c3
    • Michael Meissner's avatar
      rs6000.c (rs6000_split_vec_extract_var): On ISA 3.0/power9, add support to use... · 16370e79
      Michael Meissner authored
      rs6000.c (rs6000_split_vec_extract_var): On ISA 3.0/power9, add support to use the VEXTU{B,H,W}{L,R}X extract instructions.
      
      [gcc]
      2016-12-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_split_vec_extract_var): On ISA
      	3.0/power9, add support to use the VEXTU{B,H,W}{L,R}X extract
      	instructions.
      	* config/rs6000/vsx.md (VSr2): Add IEEE 128-bit floating point
      	type constraint registers.
      	(VSr3): Likewise.
      	(FL_CONV): New mode iterator for binary floating types that have a
      	direct conversion from 64-bit integer to floating point.
      	(vsx_extract_<mode>_p9): Add support for the ISA 3.0/power9
      	VEXTU{B,H,W}{L,R}X extract instructions.
      	(vsx_extract_<mode>_p9 splitter): Add splitter to load up the
      	extract byte position into the GPR if we are using the
      	VEXTU{B,H,W}{L,R}X extract instructions.
      	(vsx_extract_<mode>_di_p9): Support extracts to GPRs.
      	(vsx_extract_<mode>_store_p9): Support extracting to GPRs so that
      	we can use reg+offset address instructions.
      	(vsx_extract_<mode>_var): Support extracts to GPRs.
      	(vsx_extract_<VSX_EXTRACT_I:mode>_<SDI:mode>_var): New combiner
      	insn to combine vector extracts with zero_extend.
      	(vsx_ext_<VSX_EXTRACT_I:VS_scalar>_fl_<FL_CONV:mode>): Optimize
      	extracting a small integer vector element and converting it to a
      	floating point type.
      	(vsx_ext_<VSX_EXTRACT_I:VS_scalar>_ufl_<FL_CONV:mode>): Likewise.
      	(UNSPEC_XXEXTRACTUW): New unspec.
      	(UNSPEC_XXINSERTW): Likewise.
      	(vextract4b): Add support for the vec_vextract4b built-in
      	function.
      	(vextract4b_internal): Likewise.
      	(vinsert4b): Add support for the vec_insert4b built-in function.
      	Include both a version that inserts element 1 from a V4SI object
      	and one that inserts a DI object.
      	(vinsert4b_internal): Likewise.
      	(vinsert4b_di): Likewise.
      	(vinsert4b_di_internal): Likewise.
      	* config/rs6000/predicates.md (const_0_to_11_operand): New
      	predicate, match 0..11.
      	* config/rs6000/rs6000-builtin.def (BU_P9V_VSX_3): Set built-in
      	type to ternary, not binary.
      	(BU_P9V_64BIT_VSX_3): Likewise.
      	(P9V_BUILTIN_VEXTRACT4B): Add support for vec_vinsert4b and
      	vec_extract4b non-overloaded built-in functions.
      	(P9V_BUILTIN_VINSERT4B): Likewise.
      	(P9V_BUILTIN_VINSERT4B_DI): Likewise.
      	(P9V_BUILTIN_VEC_VEXTULX): Move to section that adds 2 operand ISA
      	3.0 built-in functions.
      	(P9V_BUILTIN_VEC_VEXTURX): Likewise.
      	(P9V_BUILTIN_VEC_VEXTRACT4B): Add support for overloaded
      	vec_insert4b and vec_extract4 built-in functions.
      	(P9V_BUILTIN_VEC_VINSERT4B): Likewise.
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
      	overloaded support for vec_vinsert4b and vec_extract4b.
      	* config/rs6000/rs6000.c (altivec_expand_builtin): Add checks for
      	the vec_insert4b and vec_extract4b byte number being a constant in
      	the range 0..11.
      	* config/rs6000/altivec.h (vec_vinsert4b): Support vec_vinsert4b
      	and vec_extract4b built-in functions.
      	* doc/extend.doc (PowerPC VSX built-in functions): Document
      	vec_insert4b and vec_extract4b.
      
      [gcc/testsuite]
      2016-12-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc/testsuite/gcc.target/powerpc/vec-extract.h: If DO_TRACE is
      	defined, add tracing of the various extracts to stderr.  Add
      	support for tests that convert the result to another type.
      	* gcc/testsuite/gcc.target/powerpc/vec-extract-v2df.c: Likewise.
      	* gcc/testsuite/gcc.target/powerpc/vec-extract-v4sf.c: Likewise.
      	* gcc/testsuite/gcc.target/powerpc/vec-extract-v4si-df.c: Add new
      	tests that do an extract and then convert the values double.
      	* gcc/testsuite/gcc.target/powerpc/vec-extract-v4siu-df.c: Likewise.
      	* gcc/testsuite/gcc.target/powerpc/vec-extract-v16qiu-df.c: Likewise.
      	* gcc/testsuite/gcc.target/powerpc/vec-extract-v16qi-df.c: Likewise.
      	* gcc/testsuite/gcc.target/powerpc/vec-extract-v8hiu-df.c: Likewise.
      	* gcc/testsuite/gcc.target/powerpc/vec-extract-v8hi-df.c: Likewise.
      	* gcc.target/powerpc/p9-extract-1.c: Update test to check for
      	VEXTU{B,H,W}{L,R}X instructions being generated by default instead
      	of VEXTRACTU{B,H} and XXEXTRACTUW.
      	* gcc.target/powerpc/p9-extract-3.c: New test for combination of
      	vec_extract and convert to floating point.
      	* gcc.target/powerpc/p9-vinsert4b-1.c: New test for vec_vinsert4b
      	and vec_extract4b.
      	* gcc.target/powerpc/p9-vinsert4b-2.c: Likewise.
      
      From-SVN: r243653
      16370e79
    • Jonathan Wakely's avatar
      Make printers use singular noun for a single element · d33c00e1
      Jonathan Wakely authored
      	* python/libstdcxx/v6/printers.py (num_elements): New function.
      	(StdMapPrinter.to_string, StdSetPrinter.to_string)
      	(StdDequePrinter.to_string, Tr1UnorderedSetPrinter.to_string)
      	(Tr1UnorderedMapPrinter.to_string): Use num_elements.
      	* testsuite/libstdc++-prettyprinters/cxx11.cc: Adjust expected results
      	to use singular noun when there is only one element.
      	* testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/tr1.cc: Likewise.
      
      From-SVN: r243652
      d33c00e1
    • Jonathan Wakely's avatar
      Make printers detect invalid debug mode iterators · 3c760f4a
      Jonathan Wakely authored
      	PR libstdc++/59170
      	* python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter): Use
      	_M_sequence and _M_version to detect invalid iterators.
      	* testsuite/libstdc++-prettyprinters/debug.cc: Test debug mode vector
      	and test invalid iterators.
      	* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: New test.
      
      From-SVN: r243650
      3c760f4a
    • Toma Tabacu's avatar
      MIPS: Remove redundant dg-skip-if from mips16-attributes.c. · 54601417
      Toma Tabacu authored
      gcc/testsuite
      
      	* gcc.target/mips/mips16-attributes.c: Remove dg-skip-if for
      	-mmicromips.
      
      From-SVN: r243649
      54601417
    • Andre Vehreschild's avatar
      re PR fortran/78780 ([Coarray] ICE in conv_caf_send, at fortran/trans-intrinsic.c:1936) · 8c92e452
      Andre Vehreschild authored
      gcc/testsuite/ChangeLog:
      
      2016-12-14  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/78780
      	* gfortran.dg/coarray/alloc_comp_5.f90: New test.
      	* gfortran.dg/coarray_42.f90: New test.
      
      
      gcc/fortran/ChangeLog:
      
      2016-12-14  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/78780
      	* trans-expr.c (gfc_trans_assignment_1): Improve check whether detour
      	caf-runtime routines is needed.
      
      From-SVN: r243648
      8c92e452
    • Andre Vehreschild's avatar
      re PR fortran/78672 (Gfortran test suite failures with a sanitized compiler) · eb401400
      Andre Vehreschild authored
      gcc/fortran/ChangeLog:
      
      2016-12-14  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/78672
      	* array.c (gfc_find_array_ref): Add flag to return NULL when no ref is
      	found instead of erroring out.
      	* data.c (gfc_assign_data_value): Only constant expressions are valid
      	for initializers.
      	* gfortran.h: Reflect change of gfc_find_array_ref's signature.
      	* interface.c (compare_actual_formal): Access the non-elemental
      	array-ref.  Prevent taking a REF_COMPONENT for a REF_ARRAY.  Correct
      	indentation.
      	* module.c (load_omp_udrs): Clear typespec before reading into it.
      	* trans-decl.c (gfc_build_qualified_array): Prevent accessing the array
      	when it is a coarray.
      	* trans-expr.c (gfc_conv_cst_int_power): Use wi::abs()-function instead
      	of crutch preventing sanitizer's bickering here.
      	* trans-stmt.c (gfc_trans_deallocate): Only get data-component when it
      	is a descriptor-array here.
      
      From-SVN: r243647
      eb401400
    • Jakub Jelinek's avatar
      re PR target/78796 (TLS fails to link on aarch64 with -mcmodel=large) · e397febf
      Jakub Jelinek authored
      	PR target/78796
      	* gcc.dg/tls/pr78796.c: New test.
      
      From-SVN: r243645
      e397febf
    • Richard Biener's avatar
      re PR tree-optimization/78731 (Possible bug with switch when optimization is turned on.) · 007e18eb
      Richard Biener authored
      2016-12-14  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/78731
      	* gcc.dg/torture/pr78731.c: New testcase.
      
      From-SVN: r243644
      007e18eb
    • Martin Liska's avatar
      Print 2 digits after decimal delimiter for BB frequencies · e19ef86d
      Martin Liska authored
      	* gimple-pretty-print.c (dump_probability): New function.
      	(dump_edge_probability): Use the function.
      	(dump_gimple_label): Likewise.
      	(dump_gimple_bb_header): Likewise.
      	* gcc.dg/tree-ssa/20040703-1.c: Update scanned pattern.
      	* gcc.dg/tree-ssa/dump-2.c: Likewise.
      
      From-SVN: r243643
      e19ef86d
    • Martin Liska's avatar
      Enhance analyze_brprob script · ca3b6071
      Martin Liska authored
      	* analyze_brprob.py: Add new column to output and new sorting
      	option. Fix coding style to not exceed 80 characters.
      	* analyze_brprob_spec.py: Add new sorting
      	option. Fix coding style to not exceed 80 characters.
      
      From-SVN: r243640
      ca3b6071
    • Toma Tabacu's avatar
      MIPS: Force assembly output for msa-builtins-err.c. · 998f4f30
      Toma Tabacu authored
      gcc/testsuite
      
      	* gcc.target/mips/msa-builtins-err.c (dg-options): Add 
      	-ffat-lto-objects option.
      
      From-SVN: r243639
      998f4f30
    • Prathamesh Kulkarni's avatar
      tree-ssa-strlen.c (fold_strstr_to_memcmp): New function. · 3b1970cb
      Prathamesh Kulkarni authored
      
      2016-12-14  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      	    Jakub Jelinek  <jakub@redhat.com>
      
      	* tree-ssa-strlen.c (fold_strstr_to_memcmp): New function.
      	(strlen_optimize_stmt): Call fold_strstr_to_memcmp.
      
      testsuite/
      	* gcc.dg/strlenopt-30.c: New test-case.
      
      Co-Authored-By: default avatarJakub Jelinek <jakub@redhat.com>
      
      From-SVN: r243633
      3b1970cb
    • Eric Botcazou's avatar
      lra-constraints.c (process_address_1): Do not attempt to decompose addresses... · 164f0634
      Eric Botcazou authored
      lra-constraints.c (process_address_1): Do not attempt to decompose addresses for MEMs that satisfy fixed-form constraints.
      
      	* lra-constraints.c (process_address_1): Do not attempt to decompose
      	addresses for MEMs that satisfy fixed-form constraints.
      
      From-SVN: r243632
      164f0634
    • Richard Biener's avatar
      re PR tree-optimization/78788 (ICE (segfault) on s390x-linux-gnu) · 253c0172
      Richard Biener authored
      2016-12-14  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/78788
      	* tree-vrp.c (set_value_range): Allow [-INF(OVF), +INF(OVF)].
      	(set_and_canonicalize_value_range): Do not drop the above to
      	VARYING.
      
      	* gcc.dg/torture/pr78788.c: New testcase.
      
      From-SVN: r243631
      253c0172
    • GCC Administrator's avatar
      Daily bump. · 803312a7
      GCC Administrator authored
      From-SVN: r243629
      803312a7
  3. Dec 13, 2016
    • Nathan Sidwell's avatar
      re PR c++/69481 (ICE with C++11 alias using with templates) · 5bfd81e7
      Nathan Sidwell authored
      	cp/
      	PR c++/69481
      	* cp-tree.h (TYPE_TEMPLATE_INFO): Remove alias type checking.
      	(TYPE_ALIAS_TEMPLATE_INFO): New.
      	(TYPE_TEMPLATE_INFO_MAYBE_ALIAS): New.  Use those macros.
      	* error.c (dump_alias_template_specialization): Adjust.
      	* pt.c (maybe_process_partial_specialization)
      	iterative_has_template_arg, find_parameter_packs_r,
      	alias_template_specialization_p, dependent_alias_template_spec_p,
      	get_underlying_template, lookup_template_class_1, unify): Adjust
      	template using decl access.
      
      	testsuite/
      	PR c++/69481
      	* g++.dg/cpp0x/pr69481.C: New.
      (--This line, and those below, will be ignored--
      
      M    gcc/testsuite/ChangeLog
      A    gcc/testsuite/g++.dg/cpp0x/pr69481.C
      M    gcc/cp/cp-tree.h
      M    gcc/cp/error.c
      M    gcc/cp/ChangeLog
      M    gcc/cp/pt.c
      
      From-SVN: r243624
      5bfd81e7
    • Bill Schmidt's avatar
      rs600.c (rs6000_builtin_vectorization_cost): Adjust unaligned load cost. · 2de1796a
      Bill Schmidt authored
      2016-12-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/rs600.c (rs6000_builtin_vectorization_cost):
      	Adjust unaligned load cost.
      
      From-SVN: r243623
      2de1796a
    • Janus Weil's avatar
      re PR fortran/78798 ([cleanup] some int-valued functions should be bool) · 7a28353e
      Janus Weil authored
      2016-12-13  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/78798
      	* gfortran.h (gfc_is_constant_expr, gfc_is_formal_arg,
      	gfc_is_compile_time_shape): Return bool instead of int.
      	* array.c (gfc_is_compile_time_shape): Ditto.
      	* expr.c (gfc_is_constant_expr): Ditto.
      	* resolve.c (gfc_is_formal_arg): Ditto. Make formal_arg_flag bool.
      
      From-SVN: r243621
      7a28353e
    • Ian Lance Taylor's avatar
      libgo: fixes for Solaris build · c3c54e0f
      Ian Lance Taylor authored
          
          Don't put m[0-4] in runtime.inc.
          
          Pass -mclear-hwcap to the linker if supported.
          
          From Rainer Orth.
          
          Reviewed-on: https://go-review.googlesource.com/34331
      
      From-SVN: r243619
      c3c54e0f
    • Uros Bizjak's avatar
      re PR target/78794 (We noticed ~9% regression in 32-bit mode for 462.libquntum... · 80e66af3
      Uros Bizjak authored
      re PR target/78794 (We noticed ~9% regression in 32-bit mode for 462.libquntum on Avoton after r243202)
      
      	PR target/78794
      	* config/i386/i386.c (dimode_scalar_chain::compute_convert_gain):
      	Calculate additional gain for andnot for targets without BMI.
      
      testsuite/ChangeLog:
      
      	PR target/78794
      	* gcc.target/i386/pr78794.c: New test.
      
      From-SVN: r243615
      80e66af3
    • Andre Vehreschild's avatar
      re PR fortran/77785 ([Coarray] ICE in gfc_get_caf_token_offset, at fortran/trans-expr.c:1990) · 6479f45b
      Andre Vehreschild authored
      gcc/fortran/ChangeLog:
      
      2016-12-13  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/77785
      	* resolve.c (resolve_symbol): Correct attr lookup to the _data
      	component.
      	* trans-array.c (gfc_alloc_allocatable_for_assignment): Indirect ref
      	pointers and references before retrieving the caf-token.
      
      gcc/testsuite/ChangeLog:
      
      2016-12-13  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/77785
      	* gfortran.dg/coarray_38.f90: Added expecting error message.
      	* gfortran.dg/coarray_41.f90: New test.
      	* gfortran.dg/coarray_class_2.f90: New test.
      
      From-SVN: r243614
      6479f45b
    • Carl Love's avatar
      rs6000-c.c: Add built-in support for vector float vec_pack (vector double... · b37a5b97
      Carl Love authored
      gcc/ChangeLog:
      
      2016-12-13  Carl Love  <cel@us.ibm.com>
      
         * config/rs6000/rs6000-c.c: Add built-in support for
         vector float vec_pack (vector double, vector double)
         vector double vec_sld (vector double, vector double)
         * config/rs6000/rs6000.c: Add icode check for vsldoi_v2df to allow
         4-bit unsigned literal.
         * config/rs6000/rs6000-builtin.def: Add definition for VSLDOI_2DF
         * doc/extend.texi: Update the built-in documentation file for the
         new powerpc vec_pack and vec_sld built-ins.
      
      gcc/testsuite/ChangeLog:
      
      2016-12-13 Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/builtins-3.c: Add new test of the test suite
      	file.
      	* gcc.target/powerpc/builtins-3-p8.c: Add new test of the test suite
      	file.
      
      From-SVN: r243612
      b37a5b97
    • Martin Liska's avatar
      Add sanopt for ASAN_MARK poison and unpoison. · 2f75d6eb
      Martin Liska authored
      	* sanopt.c (sanopt_optimize_walker): Set contains_asan_mark.
      	(sanopt_optimize): Add new argument.
      	(sanitize_asan_mark_unpoison): New function.
      	(maybe_contains_asan_check): Likewise.
      	(sanitize_asan_mark_poison): Likewise.
      	(pass_sanopt::execute): Call the new functions.
      
      From-SVN: r243611
      2f75d6eb
    • Martin Liska's avatar
      Fill bitregion_{start,end} in store_constructor (PR tree-optimization/78428) · 437df9f9
      Martin Liska authored
      	* expr.c (store_constructor_field): Add new arguments to the
      	function.
      	(store_constructor): Set up bitregion_end and add
      	gcc_unreachable to fields that have either non-constant size
      	or (and) offset.
      	* gcc.dg/tree-ssa/pr78428.c: New test.
      
      From-SVN: r243610
      437df9f9
Loading