1. 10 Oct, 2016 15 commits
    • [4/4] ARMv8.2-A testsuite for new scalar intrinsics · 174e0b00
      gcc/testsuite/
      
      	* gcc.target/aarch64/advsimd-intrinsics/unary_scalar_op.inc: Support FMT64.
      	* gcc.target/aarch64/advsimd-intrinsics/vabdh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcageh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcagth_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcaleh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcalth_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vceqh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vceqzh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcgeh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcgezh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcgth_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcgtzh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcleh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vclezh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vclth_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcltzh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtah_s16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtah_s64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtah_u16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtah_u64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_s16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_s64_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_u16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_u64_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_s16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_s64_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_u16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_u64_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_s16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_s64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_u16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_u64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_s16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_s64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_u16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_u64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_s16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_s64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_u16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_u64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_s16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_s64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_u16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_u64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtph_s16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtph_s64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtph_u16_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtph_u64_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vfmash_lane_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmaxh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vminh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmulh_lane_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmulxh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmulxh_lane_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrecpeh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrecpsh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrecpxh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrsqrteh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrsqrtsh_f16_1.c: New.
      
      From-SVN: r240924
      Jiong Wang committed
    • [3/4] ARMv8.2-A testsuite for new vector intrinsics · 4bc63138
      gcc/testsuite/
      
      	* gcc.target/aarch64/advsimd-intrinsics/vdiv_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vfmas_lane_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vfmas_n_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmaxnmv_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmaxv_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vminnmv_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vminv_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmul_lane_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmulx_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmulx_n_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vpminmaxnm_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrndi_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vsqrt_f16_1.c: New.
      
      From-SVN: r240923
      Jiong Wang committed
    • [2/4] ARMv8.2-A testsuite for new data movement intrinsics · 8f3edb07
      gcc/testsuite/
      
      	* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (FP16_SUPPORTED):
      	Enable AArch64.
      	* gcc.target/aarch64/advsimd-intrinsics/vdup_lane.c: Add support for
      	vdup*_laneq.
      	* gcc.target/aarch64/advsimd-intrinsics/vduph_lane.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vtrn_half.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vuzp_half.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vzip_half.c: New.
      
      From-SVN: r240922
      Jiong Wang committed
    • [1/4] ARMv8.2-A FP16 testsuite selector · 6e49f922
      gcc/testsuite/
      
      	* target-supports.exp (add_options_for_arm_v8_2a_fp16_scalar): Mention
      	AArch64 support.
      	(add_options_for_arm_v8_2a_fp16_neon): Likewise.
      	(check_effective_target_arm_v8_2a_fp16_scalar_ok_nocache): Support
      	AArch64 targets.
      	(check_effective_target_arm_v8_2a_fp16_neon_ok_nocache): Support
      	AArch64 targets.
      	(check_effective_target_arm_v8_2a_fp16_scalar_hw): Support AArch64
      	targets.
      	(check_effective_target_arm_v8_2a_fp16_neon_hw): Likewise.
      
      From-SVN: r240921
      Jiong Wang committed
    • Define std::allocator<T>::is_always_equal · 46942c81
      	* include/bits/allocator.h (allocator<T>::is_always_equal): Define.
      	* testsuite/20_util/allocator/requirements/typedefs.cc: Test for
      	is_always_equal.
      	* testsuite/util/testsuite_allocator.h
      	(uneq_allocator::is_always_equal): Define as false_type.
      
      From-SVN: r240920
      Jonathan Wakely committed
    • LWG 2733, LWG 2759 reject bool in gcd and lcm · f2e79496
      	* include/experimental/numeric (gcd, lcm): Make bool arguments
      	ill-formed.
      	* include/std/numeric (gcd, lcm): Likewise.
      	* testsuite/26_numerics/gcd/gcd_neg.cc: New test.
      	* testsuite/26_numerics/lcm/lcm_neg.cc: New test.
      
      From-SVN: r240919
      Jonathan Wakely committed
    • re PR target/77738 (Invalid initialisation of ar.lc register) · fee13acd
      PR target/77738
      * config/ia64/ia64.md ("doloop_end"): Reject if mode of loop
      pseudo is not DImode.
      
      From-SVN: r240918
      Andreas Schwab committed
    • Add noexcept to enable_shared_from_this::weak_from_this · 208b8b69
      	* include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
      	Add noexcept.
      	* include/bits/shared_ptr_base.h
      	(__enable_shared_from_this::weak_from_this): Likewise.
      	* testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
      	Test exception-specification of weak_from_this.
      
      From-SVN: r240917
      Jonathan Wakely committed
    • [ARC] Disable compact casesi patterns for arcv2 · 30102051
      gcc/
      2016-05-09  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* common/config/arc/arc-common.c (arc_option_optimization_table):
      	Remove compact casesi option.
      	* config/arc/arc.c (arc_override_options): Use compact casesi
      	option only for pre-ARCv2 cores.
      	* doc/invoke.texi (mcompact-casesi): Update text.
      
      From-SVN: r240916
      Claudiu Zissulescu committed
    • decl.c (gnat_to_gnu_entity): Put volatile qualifier on types at the very end of the processing. · 41683e1a
      	* gcc-interface/decl.c (gnat_to_gnu_entity): Put volatile qualifier
      	on types at the very end of the processing.
      	(gnat_to_gnu_param): Remove redundant test.
      	(change_qualified_type): Do nothing for unconstrained array types.
      
      From-SVN: r240915
      Eric Botcazou committed
    • utils2.c (find_common_type): Do not return the LHS type if it's an array with… · 036a2fa2
      utils2.c (find_common_type): Do not return the LHS type if it's an array with non-constant lower bound and...
      
      	* gcc-interface/utils2.c (find_common_type): Do not return the LHS type
      	if it's an array with non-constant lower bound and the RHS type is an
      	array with a constant one.
      
      From-SVN: r240913
      Eric Botcazou committed
    • utils.c (convert): For a biased input type, convert the bias itself to the base… · 55cfd746
      utils.c (convert): For a biased input type, convert the bias itself to the base type before adding it.
      
      	* gcc-interface/utils.c (convert): For a biased input type, convert
      	the bias itself to the base type before adding it.
      
      From-SVN: r240910
      Eric Botcazou committed
    • * config-lang.in (lang_requires_boot_languages): Delete. · f47ef399
      From-SVN: r240909
      Eric Botcazou committed
    • rs6000.h (TARGET_EFFICIENT_OVERLAPPING_UNALIGNED): Add macro to say we can… · 87b44b83
      rs6000.h (TARGET_EFFICIENT_OVERLAPPING_UNALIGNED): Add macro to say we can efficiently handle overlapping unaligned loads.
      
      2016-10-09  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.h (TARGET_EFFICIENT_OVERLAPPING_UNALIGNED): 
      	Add macro to say we can efficiently handle overlapping unaligned
      	loads.
      	* config/rs6000/rs6000.c (expand_block_compare): Avoid generating
      	poor code for processors older than p8.
      
      From-SVN: r240908
      Aaron Sawdey committed
    • Daily bump. · 4815e7d4
      From-SVN: r240907
      GCC Administrator committed
  2. 09 Oct, 2016 9 commits
    • * gen-pass-instances.awk: Remove GNUism. · 772ebeb5
      From-SVN: r240904
      Eric Botcazou committed
    • ipa-prop.c (ipcp_transform_function): Set fields m_vr and bits to NULL of… · 676b4899
      ipa-prop.c (ipcp_transform_function): Set fields m_vr and bits to NULL of (*ipcp_transformations)][node->uid].
      
      2016-10-09  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	* ipa-prop.c (ipcp_transform_function): Set fields m_vr and bits to NULL of
      	(*ipcp_transformations)][node->uid].
      
      From-SVN: r240903
      Prathamesh Kulkarni committed
    • PR 67585 Handle EINTR · b9233944
      Many POSIX systems have the bad habit of not restarting interrupted
      syscalls. On these systems it's up to the user to check for an error
      with errno == EINTR and restart manually. This patch does this for
      libgfortran, so that GFortran users don't have to do it.
      
      2016-10-09  Janne Blomqvist  <jb@gcc.gnu.org>
      
              PR libfortran/67585
              * io/io.h: TEMP_FAILURE_RETRY: Define macro if not found.
              * io/unix.c (raw_read): Handle EINTR.
              (raw_write): Check for return value -1.
              (raw_seek): Handle EINTR.
              (raw_tell): Likewise.
              (raw_size): Likewise.
              (raw_truncate): Likewise.
              (raw_close): Likewise.
              (buf_flush): Call raw_seek instead of lseek.
              (buf_read): Likewise.
              (buf_write): Likewise.
              (fd_to_stream): Handle EINTR.
              (tempfile_open): Likewise.
              (regular_file2): Likewise.
              (compare_file_filename): Likewise.
              (find_file): Likewise.
              (inquire_sequential): Likewise.
              (inquire_direct): Likewise.
              (inquire_formatted): Likewise.
      
      From-SVN: r240902
      Janne Blomqvist committed
    • pa.h (BIGGEST_ALIGNMENT): Adjust comment. · df74f099
      	* config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
      	(MALLOC_ABI_ALIGNMENT): Define.
      
      From-SVN: r240901
      John David Anglin committed
    • tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. · 8813a647
      	* tree-ssa.c (target_for_debug_bind, verify_phi_args,
      	ssa_undefined_value_p, maybe_optimize_var): Use VAR_P and/or
      	VAR_OR_FUNCTION_DECL_P macros.
      	* tree-chkp.c (chkp_register_var_initializer, chkp_make_static_bounds,
      	chkp_get_bounds_for_decl_addr, chkp_parse_array_and_component_ref,
      	chkp_find_bounds_1): Likewise.
      	* ipa-polymorphic-call.c (decl_maybe_in_construction_p): Likewise.
      	* hsa-gen.c (get_symbol_for_decl): Likewise.
      	* cgraphunit.c (check_global_declaration, analyze_functions,
      	handle_alias_pairs, thunk_adjust, cgraph_node::expand_thunk):
      	Likewise.
      	* gimple-fold.c (can_refer_decl_in_current_unit_p,
      	canonicalize_constructor_val, gimple_get_virt_method_for_vtable):
      	Likewise.
      	* tree.c (set_decl_section_name, copy_node_stat,
      	need_assembler_name_p, free_lang_data_in_decl, find_decls_types_r,
      	merge_dllimport_decl_attributes, handle_dll_attribute,
      	decl_init_priority_insert, auto_var_in_fn_p, array_at_struct_end_p,
      	verify_type): Likewise.
      	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior,
      	find_explicit_erroneous_behavior): Likewise.
      	* sdbout.c (sdbout_toplevel_data, sdbout_late_global_decl): Likewise.
      	* ipa.c (process_references): Likewise.
      	* tree-chkp-opt.c (chkp_get_check_result): Likewise.
      	* varasm.c (get_block_for_decl, use_blocks_for_decl_p, make_decl_rtl,
      	notice_global_symbol, assemble_variable, mark_decl_referenced,
      	build_constant_desc, output_constant_def_contents, do_assemble_alias,
      	make_decl_one_only, default_section_type_flags,
      	categorize_decl_for_section, default_encode_section_info): Likewise.
      	* trans-mem.c (requires_barrier): Likewise.
      	* gimple-expr.c (mark_addressable): Likewise.
      	* cfgexpand.c (add_scope_conflicts_1, expand_one_var,
      	expand_used_vars_for_block, clear_tree_used, stack_protect_decl_p,
      	expand_debug_expr): Likewise.
      	* tree-dump.c (dequeue_and_dump): Likewise.
      	* ubsan.c (instrument_bool_enum_load): Likewise.
      	* tree-pretty-print.c (print_declaration): Likewise.
      	* simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
      	* tree-ssa-uninit.c (warn_uninitialized_vars): Likewise.
      	* asan.c (asan_protect_global, instrument_derefs): Likewise.
      	* tree-into-ssa.c (rewrite_stmt, maybe_register_def,
      	pass_build_ssa::execute): Likewise.
      	* var-tracking.c (var_debug_decl, track_expr_p): Likewise.
      	* tree-ssa-loop-ivopts.c (force_expr_to_var_cost, split_address_cost):
      	Likewise.
      	* ipa-split.c (test_nonssa_use, consider_split, mark_nonssa_use):
      	Likewise.
      	* tree-inline.c (insert_debug_decl_map, remap_ssa_name,
      	can_be_nonlocal, remap_decls, copy_debug_stmt,
      	initialize_inlined_parameters, add_local_variables,
      	reset_debug_binding, replace_locals_op): Likewise.
      	* dse.c (can_escape): Likewise.
      	* ipa-devirt.c (compare_virtual_tables, referenced_from_vtable_p):
      	Likewise.
      	* tree-diagnostic.c (default_tree_printer): Likewise.
      	* tree-streamer-in.c (unpack_ts_decl_common_value_fields,
      	unpack_ts_decl_with_vis_value_fields,
      	lto_input_ts_decl_common_tree_pointers): Likewise.
      	* builtins.c (builtin_save_expr, fold_builtin_expect,
      	readonly_data_expr): Likewise.
      	* tree-ssa-structalias.c (new_var_info, get_constraint_for_ssa_var,
      	create_variable_info_for, set_uids_in_ptset, visit_loadstore):
      	Likewise.
      	* gimple-streamer-out.c (output_gimple_stmt): Likewise.
      	* gimplify.c (force_constant_size, gimplify_bind_expr,
      	gimplify_decl_expr, gimplify_var_or_parm_decl,
      	gimplify_compound_lval, gimplify_init_constructor,
      	gimplify_modify_expr, gimplify_asm_expr, gimplify_oacc_declare,
      	gimplify_type_sizes): Likewise.
      	* cgraphbuild.c (record_reference, record_type_list, mark_address,
      	mark_load, mark_store, pass_build_cgraph_edges::execute): Likewise.
      	* tree-ssa-live.c (mark_all_vars_used_1, remove_unused_scope_block_p,
      	remove_unused_locals): Likewise.
      	* tree-ssa-alias.c (ptr_deref_may_alias_decl_p, ptrs_compare_unequal,
      	ref_maybe_used_by_call_p_1, call_may_clobber_ref_p_1): Likewise.
      	* function.c (instantiate_expr, instantiate_decls_1,
      	setjmp_vars_warning, add_local_decl): Likewise.
      	* alias.c (ao_ref_from_mem, get_alias_set, compare_base_symbol_refs):
      	Likewise.
      	* tree-stdarg.c (find_va_list_reference, va_list_counter_struct_op,
      	va_list_ptr_read, va_list_ptr_write, check_all_va_list_escapes,
      	optimize_va_list_gpr_fpr_size): Likewise.
      	* tree-nrv.c (pass_nrv::execute): Likewise.
      	* tsan.c (instrument_expr): Likewise.
      	* tree-ssa-dce.c (remove_dead_stmt): Likewise.
      	* vtable-verify.c (verify_bb_vtables): Likewise.
      	* tree-dfa.c (ssa_default_def, set_ssa_default_def,
      	get_ref_base_and_extent): Likewise.
      	* toplev.c (wrapup_global_declaration_1, wrapup_global_declaration_2):
      	Likewise.
      	* tree-sra.c (static bool constant_decl_p, find_var_candidates,
      	analyze_all_variable_accesses): Likewise.
      	* tree-nested.c (get_nonlocal_debug_decl,
      	convert_nonlocal_omp_clauses, note_nonlocal_vla_type,
      	note_nonlocal_block_vlas, convert_nonlocal_reference_stmt,
      	get_local_debug_decl, convert_local_omp_clauses,
      	convert_local_reference_stmt, nesting_copy_decl, remap_vla_decls):
      	Likewise.
      	* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Likewise.
      	* stmt.c (decl_overlaps_hard_reg_set_p): Likewise.
      	* dbxout.c (dbxout_late_global_decl, dbxout_type_fields,
      	dbxout_symbol, dbxout_common_check): Likewise.
      	* expr.c (expand_assignment, expand_expr_real_2, expand_expr_real_1,
      	string_constant): Likewise.
      	* hsa.c (hsa_get_declaration_name): Likewise.
      	* passes.c (rest_of_decl_compilation): Likewise.
      	* tree-ssanames.c (make_ssa_name_fn): Likewise.
      	* tree-streamer-out.c (pack_ts_decl_common_value_fields,
      	pack_ts_decl_with_vis_value_fields,
      	write_ts_decl_common_tree_pointers): Likewise.
      	* stor-layout.c (place_field): Likewise.
      	* symtab.c (symtab_node::maybe_create_reference,
      	symtab_node::verify_base, symtab_node::make_decl_local,
      	symtab_node::copy_visibility_from,
      	symtab_node::can_increase_alignment_p): Likewise.
      	* dwarf2out.c (add_var_loc_to_decl, tls_mem_loc_descriptor,
      	decl_by_reference_p, reference_to_unused, rtl_for_decl_location,
      	fortran_common, add_location_or_const_value_attribute,
      	add_scalar_info, add_linkage_name, set_block_abstract_flags,
      	local_function_static, gen_variable_die, dwarf2out_late_global_decl,
      	optimize_one_addr_into_implicit_ptr,
      	optimize_location_into_implicit_ptr): Likewise.
      	* gimple-low.c (record_vars_into): Likewise.
      	* ipa-visibility.c (update_vtable_references): Likewise.
      	* tree-ssa-address.c (fixed_address_object_p, copy_ref_info):
      	Likewise.
      	* lto-streamer-out.c (tree_is_indexable, get_symbol_initial_value,
      	DFS::DFS_write_tree_body, write_symbol): Likewise.
      	* langhooks.c (lhd_warn_unused_global_decl,
      	lhd_set_decl_assembler_name): Likewise.
      	* attribs.c (decl_attributes): Likewise.
      	* except.c (output_ttype): Likewise.
      	* varpool.c (varpool_node::get_create, ctor_for_folding,
      	varpool_node::assemble_decl, varpool_node::create_alias): Likewise.
      	* fold-const.c (fold_unary_loc): Likewise.
      	* ipa-prop.c (ipa_compute_jump_functions_for_edge,
      	ipa_find_agg_cst_from_init): Likewise.
      	* omp-low.c (expand_omp_regimplify_p, expand_omp_taskreg,
      	expand_omp_target, lower_omp_regimplify_p,
      	grid_reg_assignment_to_local_var_p, grid_remap_prebody_decls,
      	find_link_var_op): Likewise.
      	* tree-chrec.c (chrec_contains_symbols): Likewise.
      	* tree-cfg.c (verify_address, verify_expr, verify_expr_location_1,
      	gimple_duplicate_bb, move_stmt_op, replace_block_vars_by_duplicates,
      	execute_fixup_cfg): Likewise.
      
      From-SVN: r240900
      Jakub Jelinek committed
    • re PR tree-optimization/77901 (ICE in tree-sse-reassoc,c:2881) · 4dfb8a2a
      	PR tree-optimization/77901
      	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Only optimize
      	if ranges[i].exp is SSA_NAME when looking for >= and only when
      	ranges[i].exp is NULL or SSA_NAME when looking for the other
      	comparison.
      
      	* gcc.c-torture/compile/pr77901.c: New test.
      
      From-SVN: r240899
      Jakub Jelinek committed
    • ipa-cp.c (ipcp_alignment_lattice): Remove. · 67b97478
      2016-10-09  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	* ipa-cp.c (ipcp_alignment_lattice): Remove.
      	(ipcp_param_lattices): Remove field alignment.
      	(print_all_lattices): Remove call to ipcp_alignment_lattice::print.
      	(set_all_contains_variable): Remove call to
      	ipcp_alignment_lattice::set_to_bottom.
      	(initialize_node_lattices): Likewise.
      	(propagate_alignment_accross_jump_function): Remove.
      	(propagate_constants_accross_call): Remove call to
      	propagate_alignment_accross_jump_function.
      	(ipcp_store_alignment_results): Remove.
      	(ipcp_driver): Remove call to ipcp_store_alignment_results.
      	(propagate_bits_accross_jump_function): Handle ancestor jump function.
      	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Remove
      	pretty-printing of alignment jump function.
      	(ipa_set_jf_unknown): Remove assignment to jfunc->alignment.known.
      	(ipa_compute_jump_functions_for_edge): Adjust ipa_bits jump function for
      	alignments and remove computing ipa_alignment jump function.
      	(ipa_node_params_t::duplicate): Remove copying of src_trans->alignments.
      	(ipa_write_jump_functions): Remove streaming for ipa_alignment.
      	(ipa_read_jump_function): Remove reading of ipa_alignment.
      	(write_ipcp_transformation_info): Remove streaming for alignment
      	propagation summary.
      	(read_ipcp_transformation_info): Remove reading of alignment
      	propagation summary. 
      	(ipcp_update_alignments): Remove.
      	(ipcp_update_bits): Adjust to set alignment for parameters of pointer
      	type.
      	(ipcp_transform_function): Remove call to ipcp_update_alignments()
      	and remove assignment to (*ipcp_transformations)[node->uid].alignments.
      	* ipa-prop.h (ipa_alignment): Remove.
      	(ipa_jump_func): Remove field alignment.
      	(ipcp_transformation_summary): Remove field alignments. 
      	* doc/invoke.texi: Mark fipa-cp-alignment as obsolete.
      	* opts.c (default_options_table): Remove entry for fipa-cp-alignment.
      	(enable_fdo_optimizations): Remove checking for fipa-cp-alignment.
      
      testsuite/
      	* gcc.dg/ipa/propalign-1.c: Adjust scan-ipa-dump.
      	* gcc.dg/ipa/propalign-2.c: Likewise
      	* gcc.dg/ipa/propalign-3.c: Likewise.
      	* gcc.dg/ipa/propalign-4.c: Likewise.
      	* gcc.dg/ipa/propalign-5.c: Likewise.
      
      From-SVN: r240898
      Prathamesh Kulkarni committed
    • * cp-gimplify.c (cp_fold): Add variable name. · e525cfa7
      From-SVN: r240897
      Jason Merrill committed
    • Daily bump. · 51e95f4e
      From-SVN: r240896
      GCC Administrator committed
  3. 08 Oct, 2016 11 commits
    • Delay folding of bool conversion into COND_EXPR. · 627be19f
      gcc/c-family/
      	* c-common.c (c_common_truthvalue_conversion): Don't distribute
      	into COND_EXPR in C++.
      gcc/cp/
      	* cp-gimplify.c (cp_fold): Distribute cp_truthvalue_conversion
      	into COND_EXPR.
      
      From-SVN: r240893
      Jason Merrill committed
    • sparc.h (FIXED_REGISTERS): Add %icc. · 490a6733
      	* config/sparc/sparc.h (FIXED_REGISTERS): Add %icc.
      
      	* config/visium/visium.c (visium_expand_int_cstore): Revert latest
      	change.
      	(visium_expand_fp_cstore): Likewise.
      
      From-SVN: r240892
      Eric Botcazou committed
    • diagnostic-core.h (warning_at_rich_loc_n): Declare. · a5fb7ad2
      2016-10-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	* diagnostic-core.h (warning_at_rich_loc_n): Declare.
      	* diagnostic.c (warning_at_rich_loc_n): New function.
      	(diagnostic_n_impl_richloc): Likewise.
      	(diagnostic_n_impl): Move most of the function to
      	diagnostic_n_impl_richloc and call it.
      
      From-SVN: r240891
      Prathamesh Kulkarni committed
    • utils.c (convert): Add missing break. · 9c453de7
      	* gcc-interface/utils.c (convert) <VECTOR_CST>: Add missing break.
      
      	Revert
      	2016-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      
      	* gcc-interface/decl.c: Fix fall through comment formatting.
      	* gcc-interface/misc.c: Likewise.
      	* gcc-interface/trans.c: Likewise.
      	* gcc-interface/utils.c: Likewise.
      	* gcc-interface/utils2.c: Likewise.
      
      From-SVN: r240890
      Eric Botcazou committed
    • Further P0135 refinement. · 36cbfdb0
      	* call.c (build_user_type_conversion_1): Consider conversions from
      	a single element in an initializer-list.
      	(build_temp): Undo early_elide_copy change.
      	(build_over_call): Check that we don't try to copy a TARGET_EXPR
      	in C++17 mode.  Set user_conv_p here.
      	(convert_like_real): Not here.
      	(check_self_delegation): Split out from...
      	(build_special_member_call): ...here.  Handle C++17 copy elision.
      	* cvt.c (early_elide_copy): Remove.
      	(ocp_convert): Undo early_elide_copy change.
      	* except.c (build_throw): Likewise.
      	* init.c (expand_default_init): Likewise.
      	* typeck.c (cp_build_modify_expr): Likewise.
      
      From-SVN: r240889
      Jason Merrill committed
    • gen-pass-instances.awk: Rewritten. · 80994c46
      	* gen-pass-instances.awk: Rewritten.
      	* Makefile.in (pass-instances.def): Depend on $(PASSES_EXTRA), pass
      	$(PASSES_EXTRA) after passes.def to the script.
      	* config/i386/t-i386 (PASSES_EXTRA): Add i386-passes.def.
      	* config/i386/i386-passes.def: New file.
      	* config/i386/i386-protos.h (make_pass_insert_vzeroupper,
      	make_pass_stv): Declare.
      	* config/i386/i386.c (pass_stv::pass_stv): Initialize timode_p to
      	false.
      	(pass_stv::gate): Depending on timode_p member require TARGET_64BIT
      	or !TARGET_64BIT.
      	(pass_stv::clone, pass_stv::set_pass_param): New methods.
      	(pass_stv::timode_p): New non-static data member.
      	(ix86_option_override): Don't register passes here.
      
      From-SVN: r240888
      Jakub Jelinek committed
    • gen-pass-instances.awk: Rewritten. · 478167be
      	* gen-pass-instances.awk: Rewritten.
      	* Makefile.in (pass-instances.def): Depend on $(PASSES_EXTRA), pass
      	$(PASSES_EXTRA) after passes.def to the script.
      	* config/i386/t-i386 (PASSES_EXTRA): Add i386-passes.def.
      	* config/i386/i386-passes.def: New file.
      	* config/i386/i386-protos.h (make_pass_insert_vzeroupper,
      	make_pass_stv): Declare.
      	* config/i386/i386.c (pass_stv::pass_stv): Initialize timode_p to
      	false.
      	(pass_stv::gate): Depending on timode_p member require TARGET_64BIT
      	or !TARGET_64BIT.
      	(pass_stv::clone, pass_stv::set_pass_param): New methods.
      	(pass_stv::timode_p): New non-static data member.
      	(ix86_option_override): Don't register passes here.
      
      From-SVN: r240887
      Jakub Jelinek committed
    • invoke.texi: Document accepting Else, fallthrough. · ee19ef45
      	* doc/invoke.texi: Document accepting Else, fallthrough.
      
      	* lex.c (fallthrough_comment_p): Accept Else, fallthrough.
      
      	* c-c++-common/Wimplicit-fallthrough-23.c (foo): Add further tests.
      
      From-SVN: r240886
      Jakub Jelinek committed
    • invoke.texi (-Wimplicit-fallthrough): Document FALLTHRU comment style changes. · 81b02905
      	* doc/invoke.texi (-Wimplicit-fallthrough): Document FALLTHRU comment
      	style changes.
      
      	* lex.c (fallthrough_comment_p): Extend to handle more common FALLTHRU
      	comment styles.
      
      	* c-c++-common/Wimplicit-fallthrough-23.c (foo): Add further tests.
      
      From-SVN: r240885
      Jakub Jelinek committed
    • c-lex.c (c_lex_with_flags): For CPP_COMMENT token with PREV_FALLTHROUGH... · 7bad794a
      	* c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
      	token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
      	CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
      
      	* doc/invoke.texi (-Wimplicit-fallthrough): Document the accepted
      	FALLTHRU comment styles.
      
      	* lex.c (fallthrough_comment_p): Fix off-by-one size comparison
      	errors, cleanup.
      	(_cpp_lex_direct): Allow arbitrary comments in between
      	fallthrough_comment_p comment and following token.
      
      	* c-c++-common/Wimplicit-fallthrough-23.c: New test.
      	* c-c++-common/Wimplicit-fallthrough-24.c: New test.
      
      From-SVN: r240884
      Jakub Jelinek committed
    • Daily bump. · 6dc29c6d
      From-SVN: r240882
      GCC Administrator committed
  4. 07 Oct, 2016 5 commits
    • aarch64-arches.def (AARCH64_ARCH): #undef at the end. · cd8b19af
      2016-10-07  Andrew Pinski  <apinski@cavium.com>
      
              * config/aarch64/aarch64-arches.def (AARCH64_ARCH): #undef at the end.
              * config/aarch64/aarch64-cores.def (AARCH64_CORE): Likewise.
              * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR): Likewise.
              * config/aarch64/aarch64-option-extensions.def (AARCH64_OPT_EXTENSION): Likewise.
              * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION): Likewise.
              * config/aarch64/aarch64-opts.h (AARCH64_CORE): Don't #undef here.
              (AARCH64_ARCH): Likewise.
              * common/config/aarch64/aarch64-common.c (AARCH64_OPT_EXTENSION): Likewise.
              (AARCH64_CORE): Likewise.
              (AARCH64_ARCH): Likewise.
              * config/aarch64/aarch64-protos.h (AARCH64_FUSION_PAIR): Likewise.
              (AARCH64_EXTRA_TUNING_OPTION): Likewise.
              * config/aarch64/aarch64.c (AARCH64_FUION_PAIR): Likewise.
              (AARCH64_EXTRA_TUNING_OPTION): Likewise.
              (AARCH64_ARCH): Likewise.
              (AARCH64_CORE): Likewise.
              * config/aarch64/aarch64.h (AARCH64_CORE): Likewise.
              * config/aarch64/driver-aarch64.c (AARCH64_OPT_EXTENSION): Likewise.
              (AARCH64_CORE): Likewise.
              (AARCH64_ARCH): Likewise.
      
      From-SVN: r240876
      Andrew Pinski committed
    • Fix ICE due to map typespecs with different sized charlens being copied. · 56d3a930
      2016-10-07  Fritz Reese  <fritzoreese@gmail.com>
      
      Fix ICE due to map typespecs with different sized charlens being copied.
      
      	gcc/fortran/
      	* interface.c (compare_components): Check charlen for BT_CHAR.
      
      	gcc/testsuite/gfortran.dg/
      	* dec_union_11.f90: New testcase.
      
      From-SVN: r240875
      Fritz Reese committed
    • re PR c++/64433 (Segmentation fault while compiling) · 45e2bf2e
      	cp/
      	PR c++/64433
      	DR1658, DR1611
      	* init.c (emit_mem_initializers): Don't construct vbases of
      	abstract classes.
      	(push_base_cleanups): Don't push vbase cleanups for abstract class
      	when in C++14 mode.
      	* method.c (synthethesized_method_walk): Don't walk vbases of
      	abstract classes when in C++14 mode.
      
      	testsuite/
      	PR c++/66443
      	* g++.dg/cpp0x/pr66443-cxx11.C: New.
      	* g++.dg/cpp0x/pr66443-cxx11-2.C: New.
      	* g++.dg/cpp1y/pr66443-cxx14.C: New
      	* g++.dg/cpp1y/pr66443-cxx14-2.C: New.
      	* g++.dg/cpp1y/pr66443-cxx14-3.C: New.
      
      From-SVN: r240874
      Nathan Sidwell committed
    • Implement LWG2296 helper intrinsic c-family/ · be845b04
      	Implement LWG2296 helper intrinsic
      c-family/
      	* c-common.h (enum rid): Add RID_ADDRESSOF.
      	* c-common.c (c_common_reswords): Add __builtin_addressof.
      cp/
      	* parser.c (cp_parser_postfix_expression): Handle RID_ADDRESSOF.
      	* cp-objcp-common.c (cp_common_init_ts): Handle ADDRESSOF_EXPR.
      	* constexpr.c (potential_constant_expression_1): Likewise.
      	* error.c (dump_expr): Likewise.
      	* typeck.c (cp_build_addressof): New function.
      	* cp-tree.h (cp_build_addressof): Declare.
      	* cxx-pretty-print.h (pp_cxx_addressof_expression): Declare.
      	* cp-tree.def (ADDRESSOF_EXPR): New tree code.
      	* cxx-pretty-print.c (cxx_pretty_printer::primary_expression): Handle
      	ADDRESSOF_EXPR.  Add __builtin_addressof and
      	__has_unique_object_representations into syntax in function comment.
      	(pp_cxx_addressof_expression): New function.
      	* pt.c (tsubst_copy_and_build): Handle ADDRESSOF_EXPR.
      testsuite/
      	* g++.dg/cpp0x/addressof1.C: New test.
      	* g++.dg/cpp0x/addressof2.C: New test.
      
      From-SVN: r240873
      Jakub Jelinek committed
    • rs6000-c.c (rs6000_cpu_cpp_builtins): Split -mfloat128 into -mfloat128-type that… · 08213983
      rs6000-c.c (rs6000_cpu_cpp_builtins): Split -mfloat128 into -mfloat128-type that enables the IEEE 128-bit floating...
      
      [gcc]
      2016-10-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Split
      	-mfloat128 into -mfloat128-type that enables the IEEE 128-bit
      	floating point type infrastructre, and -mfloat128 that enables the
      	keyword.  Define __FLOAT128__ if -mfloat128, and __FLOAT128_TYPE__
      	if -mfloat128-type.  Define __ibm128 to be long double by default.
      	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Print whether
      	the IEEE 128-bit floating point type infrastructure should
      	automatically be enabled.
      	(rs6000_init_hard_regno_mode_ok): Switch to use -mfloat128-type
      	instead of -mfloat128 to enable KFmode.
      	(rs6000_option_override_internal): Split the option -mfloat128
      	into -mfloat128-type and -mfloat128.  On Linux PowerPC 64-bit
      	systems, automatically set -mfloat128-type, but don't enable it on
      	other operating systems.  Move setting the long double size and
      	IEEE quad support before the IEEE 128-bit floating point changes.
      	(rs6000_init_builtins): Do not create a unique type for __ibm128
      	if long double is IBM extended double, instead rely on __ibm128
      	being defined as 'long double'.  If -mfloat128-type and not
      	-mfloat128, create the KFmode type with an undocumented __ieee128
      	keyword.
      	(rs6000_init_libfuncs): Use -mfloat128-type instead of
      	-mfloat128 for tests about the types, but keep tests for
      	-mfloat128 to enable the keyword support.
      	(rs6000_complex_function_value): Likewise.
      	(rs6000_scalar_mode_supported_p): Likewise.
      	(rs6000_floatn_mode): Likewise.
      	(rs6000_c_mode_for_suffix): Likewise.
      	(rs6000_opt_masks): Add -mfloat128-type.
      	* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add support for
      	-mfloat128-type being split from -mfloat128.  Add
      	-mfloat128-hardware, which was missing.
      	* config/rs6000/rs6000.opt (-mfloat128): Split -mfloat128 into
      	-mfloat128 and -mfloat128-type:
      	(-mfloat128-type): Likewise.
      	* config/rs6000/linux64.h (TARGET_FLOAT128_ENABLE_TYPE): Define so
      	that 64-bit Linux systems with enable -mfloat128-type by default
      	on VSX systems.
      	* config/rs6000/rs6000.h (TARGET_FLOAT128_ENABLE_TYPE): Likewise.
      	(FLOAT128_VECTOR_P): Switch IEEE 128-bit floating points to use
      	-mfloat128-type instead of -mfloat128.
      	(FLOAT128_2REG_P): Likewise.
      	(MASK_FLOAT128_TYPE): Likewise.
      	(ALTIVEC_ARG_MAX_RETURN): Likewise.
      	(RS6000_BTM_FLOAT128): Likewise.
      	(TARGET_FLOAT128): Poison old identifiers.
      	(OPTION_MASK_FLOAT128): Likewise.
      	(MASK_FLOAT128): Likewise.
      	* config/rs6000/rs6000.md (FP): Likewise.
      	(FLOAT128): Likewise.
      	(fix_trunc<mode>di2): Likewise.
      	(fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
      	(floatdi<mode>2): Likewise.
      	(floatuns<SDI:mode><IEEE128:mode>2): Likewise.
      	(neg<mode>2, FLOAT128 iterator): Likewise.
      	(abs<mode>2, FLOAT128 iterator): Likewise.
      	(ieee_128bit_negative_zero): Likewise.
      	(ieee_128bit_vsx_neg<mode>2): Likewise.
      	(ieee_128bit_vsx_neg<mode>2_internal): Likewise.
      	(ieee_128bit_vsx_abs<mode>2): Likewise.
      	(ieee_128bit_vsx_abs<mode>2_internal): Likewise.
      	(ieee_128bit_vsx_nabs<mode>2): Likewise.
      	(ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
      	(extendiftf2): Likewise.
      	(extendifkf2): Likewise.
      	(extendtfkf2): Likewise.
      	(trunciftf2): Likewise.
      	(truncifkf2): Likewise.
      	(trunckftf2): Likewise.
      	(trunctfif2): Likewise.
      	(extendkftf2): Likewise.
      	(trunctfkf2): Likewise.
      
      [gcc/testsuite]
      2016-10-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/float128-type-1.c: New test to check that
      	PowerPC 64-bit Linux enables -mfloat128-type by default.
      	* gcc.target/powerpc/float128-type-2.c: Likewise.
      	* gcc.target/powerpc/float128-mix.c: Change error message to
      	reflect that __ibm128 is now #define'ed to be long double.
      
      From-SVN: r240872
      Michael Meissner committed