1. 28 Jun, 2018 22 commits
    • re PR target/86348 (ICE: in curr_insn_transform, at lra-constraints.c:3919:… · 81c8283f
      re PR target/86348 (ICE: in curr_insn_transform, at lra-constraints.c:3919: unable to generate reloads for: vec_extractv4si_0_zext_sse4)
      
      	PR target/86348
      	* config/i386/sse.md (*vec_extractv4si_0_zext_sse4): Use
      	alternative 0 in preferred_for_speed attribute.
      
      testsuite/ChangeLog:
      
      	PR target/86348
      	* gcc.target/i386/pr86348.c: New test.
      
      From-SVN: r262228
      Uros Bizjak committed
    • Fix insn length for pdp11 shift patterns. · 9cd1665b
      	* config/pdp11/pdp11-protos.h (pdp11_shift_length): New function.
      	* config/pdp11/pdp11.c (pdp11_shift_length): New function.
      	* config/pdp11/pdp11.h (ADJUST_INSN_LENGTH): Remove.
      	* config/pdp11/pdp11.md: Correct "length" attribute calculation
      	for shift insn patterns.
      
      From-SVN: r262227
      Paul Koning committed
    • re PR go/86343 (types built by GO share TYPE_FIELDS in unsupported way) · a0e8e630
      	PR go/86343
      	* go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Call
      	build_variant_type_copy rather than build_distinct_type_copy.
      
      From-SVN: r262225
      Ian Lance Taylor committed
    • [testsuite] Fix f16_mov_immediate_3.c · 42c5d121
      Fix and simplify the testcase so it generates dup even on latest trunk.
      
          testsuite/
      	* gcc.target/aarch64/f16_mov_immediate_3.c: Fix testcase.
      
      From-SVN: r262222
      Wilco Dijkstra committed
    • re PR fortran/82865 (Option -fdec collides with PDT) · 58b9de9e
      2018-06-28  Fritz Reese  <fritzoreese@gmail.com>
      
          gcc/fortran/ChangeLog:
      
      	PR fortran/82865
      	* decl.c (gfc_match_type): Refactor and check for PDT declarations.
      
          gcc/testsuite/ChangeLog:
      
      	PR fortran/82865
      	* gfortran.dg/dec_type_print_2.f03: New testcase.
      
      From-SVN: r262221
      Fritz Reese committed
    • Hide alt_dump_file within dumpfile.c · 29b54a9d
      This patch removes alt_dump_file from dumpfile.h, making it static
      within dumpfile.c.  This allows for changing how -fopt-info is
      implemented, and potentially adding other kinds of dump target, such
      as remarks or optimization records.
      
      Doing so requires changing the implementation of dump_enabled_p, so
      the patch changes this to a simple lookup of a boolean global, which
      is updated any time dump_file or alt_dump_file change.
      
      gcc/ChangeLog:
      	* cgraph.c (cgraph_node::get_body): Replace assignments to
      	"dump_file" with calls to set_dump_file.
      	* dumpfile.c (alt_dump_file): Make static, and group with...
      	(alt_flags): ...this definition.
      	(dumps_are_enabled): New variable.
      	(refresh_dumps_are_enabled): New function.
      	(set_dump_file): New function.
      	(set_alt_dump_file): New function.
      	(gcc::dump_manager::dump_start): Replace assignments to
      	"dump_file" and "alt_dump_file" with calls to set_dump_file and
      	set_alt_dump_file.
      	(gcc::dump_manager::dump_finish): Likewise.
      	* dumpfile.h (alt_dump_file): Delete decl.
      	(dumps_are_enabled): New variable decl.
      	(set_dump_file): New function decl.
      	(dump_enabled_p): Rewrite in terms of new "dumps_are_enabled"
      	global.
      	* tree-nested.c (lower_nested_functions): Replace assignments to
      	"dump_file" with calls to set_dump_file.
      
      From-SVN: r262220
      David Malcolm committed
    • tree-cfg.c (verify_gimple_in_cfg): Call verify_location on the goto_locus of… · f601629c
      tree-cfg.c (verify_gimple_in_cfg): Call verify_location on the goto_locus of each outgoing edge of each basic block.
      
      	* tree-cfg.c (verify_gimple_in_cfg): Call verify_location on the
      	goto_locus of each outgoing edge of each basic block.
      
      From-SVN: r262219
      Eric Botcazou committed
    • dwarf2out.c (decl_scope_table): Remove. · 291d3f4d
      2018-06-28  Richard Biener  <rguenther@suse.de>
      
      	* dwarf2out.c (decl_scope_table): Remove.
      	(push_decl_scope): Likewise.
      	(pop_decl_scope): Likewise.
      	(gen_type_die_for_member): Do not call push/pop_decl_scope.
      	(gen_struct_or_union_type_die): Likewise.
      	(gen_tagged_type_die): Likewise.
      	(dwarf2out_init): Do not initialize decl_scope_table.
      	(dwarf2out_c_finalize): Do not free it.
      
      From-SVN: r262218
      Richard Biener committed
    • dwarf2out.c (gen_subprogram_die): Use is_unit_die when deciding whether to not re-use a DIE. · 4ece5af3
      2018-06-28  Richard Biener  <rguenther@suse.de>
      
      	* dwarf2out.c (gen_subprogram_die): Use is_unit_die when
      	deciding whether to not re-use a DIE.
      
      From-SVN: r262217
      Richard Biener committed
    • * MAINTAINERS (write after approval): Add myself. · 8e236ddd
      From-SVN: r262216
      Jackson Woodruff committed
    • re PR c/55976 (-Werror=return-type should error on returning a value from a void function) · b62dc9ca
      2018-06-28  David Pagan  <dave.pagan@oracle.com>
      
      	PR c/55976
      	* gcc.dg/noncompile/pr55976-1.c: Add dg-prune-output for extraneous
      	message causing unexpected test FAIL.
      
      From-SVN: r262215
      David Pagan committed
    • Add missing header file inclusion. · 62bb4a4b
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* brigspec.c: Add missing header file inclusion.
      
      From-SVN: r262214
      Martin Liska committed
    • dwarf2out.c (gen_subprogram_die): Always re-use DIEs with an DW_AT_abstract_origin attribute. · 8a731f44
      2018-06-28  Richard Biener  <rguenther@suse.de>
      
      	* dwarf2out.c (gen_subprogram_die): Always re-use DIEs with an
      	DW_AT_abstract_origin attribute.
      
      From-SVN: r262213
      Richard Biener committed
    • Come up with jump_table ratio constants used in jump_table_cluster. · 1aabb71d
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* tree-switch-conversion.c (jump_table_cluster::can_be_handled):
              Use newly introduced constants.
      	* tree-switch-conversion.h (struct jump_table_cluster):
              Define max_ratio_for_size and max_ratio_for_speed.
      
      From-SVN: r262212
      Martin Liska committed
    • Fix clustering algorithm in switch expansion. · df7c7974
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* tree-switch-conversion.c (jump_table_cluster::find_jump_tables):
              Add new checking assert to catch invalid state.
      	(jump_table_cluster::can_be_handled): Handle single case
              clusters.
      	(jump_table_cluster::is_beneficial): Bail out for such case.
      	(bit_test_cluster::find_bit_tests):
              Add new checking assert to catch invalid state.
      	(bit_test_cluster::can_be_handled): Handle single case
              clusters.
      	(bit_test_cluster::is_beneficial): Bail out for such case.
      	(switch_decision_tree::analyze_switch_statement):
              Fix comment.
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* gcc.dg/tree-ssa/switch-1.c: New test.
      
      From-SVN: r262211
      Martin Liska committed
    • Come up with new --completion option. · d86c7648
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* common.opt: Introduce -completion option.
      	* gcc.c (driver_handle_option): Handle it.
      	(driver::main): Print completions if completion
              is set.
      	* opt-suggestions.c (option_proposer::get_completions):
              New function.
      	(option_proposer::suggest_completion): Likewise.
      	(option_proposer::find_param_completions): Likewise.
      	(verify_autocompletions): Likewise.
      	(test_completion_valid_options): Likewise.
      	(test_completion_valid_params): Likewise.
      	(in_completion_p): Likewise.
      	(empty_completion_p): Likewise.
      	(test_completion_partial_match): Likewise.
      	(test_completion_garbage): Likewise.
      	(opt_proposer_c_tests): Likewise.
      	* opt-suggestions.h: Declare new functions.
      	* opts.c (common_handle_option): Handle OPT__completion_.
      	* selftest-run-tests.c (selftest::run_tests): Add
              opt_proposer_c_tests.
      	* selftest.c (assert_str_startswith): New.
      	* selftest.h (assert_str_startswith): Likewise.
      	(opt_proposer_c_tests): New.
      	(ASSERT_STR_STARTSWITH): Likewise.
      
      From-SVN: r262210
      Martin Liska committed
    • Makefile.in: Add opt-suggestions.o. · 98086b2b
      .
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* Makefile.in: Add opt-suggestions.o.
      	* gcc-main.c: Include opt-suggestions.h.
      	* gcc.c (driver::driver): Likewise.
      	(driver::~driver): Remove m_option_suggestions.
      	(driver::build_option_suggestions): Moved to option_proposer.
      	(driver::suggest_option): Likewise.
      	(driver::handle_unrecognized_options): Use option_proposer.
      	* gcc.h (class driver): Add new memver m_option_proposer.
      	* opt-suggestions.c: New file.
      	* opt-suggestions.h: New file.
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* cppspec.c: Include opt-suggestions.h.
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* gfortranspec.c: Include opt-suggestions.h.
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* jit-playback.c: Include opt-suggestions.h.
      
      From-SVN: r262209
      Martin Liska committed
    • Introduce auto_string_vec class. · 3de37a5d
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* vec.h (class auto_string_vec): New (moved from auto_argvec).
      	(auto_string_vec::~auto_string_vec): Likewise.
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* jit-playback.c (class auto_argvec): Moved to vec.h.
      	(auto_argvec::~auto_argvec): Likewise.
      	(compile): Use the renamed name.
      	(invoke_driver): Likewise.
      
      From-SVN: r262208
      Martin Liska committed
    • tree-inline.c (remap_gimple_stmt): Force input_location on the new statement if… · fb18c0c9
      tree-inline.c (remap_gimple_stmt): Force input_location on the new statement if id->reset_location is true.
      
      	* tree-inline.c (remap_gimple_stmt): Force input_location on the new
      	statement if id->reset_location is true.
      	(copy_edges_for_bb): Do not set goto_locus on the new edges if
      	id->reset_location is true.
      	(copy_phis_for_bb): Force input_location on the arguments if
      	id->reset_location is true.
      	(expand_call_inline): Set id->reset_location if DECL_IGNORED_P
      	is set on the function to be inlined.
      	* tree-inline.h (struct copy_body_data): Move remapping_type_depth and
      	prevent_decl_creation_for_types fields up and add reset_location field.
      
      From-SVN: r262207
      Eric Botcazou committed
    • * doc/invoke.texi (Debugging Options): Add -gsplit-dwarf. · 09e1386f
      From-SVN: r262206
      Stephan Bergmann committed
    • lra-eliminations.c (update_reg_eliminate): Mark all spanning hard registers for Pmode. · 764df76c
      2018-06-23  Dimitar Dimitrov  <dimitar@dinux.eu>
      
      	* lra-eliminations.c (update_reg_eliminate): Mark all spanning hard
      	registers for Pmode.
      	* lra-lives.c (check_pseudos_live_through_calls): Mark all spanning
      	hard registers for the clobbered pseudo.
      
      From-SVN: r262205
      Dimitar Dimitrov committed
    • Daily bump. · 3d09a8ab
      From-SVN: r262203
      GCC Administrator committed
  2. 27 Jun, 2018 18 commits
    • C++: don't offer bogus "._0" suggestions (PR c++/86329) · 5da1234b
      PR c++/86329 reports that the C++ frontend can offer bogus suggestions like:
      
      #include <string>
      
      int compare()
      {
        return __n1 - __n2;
      }
      
      suggested.cc: In function 'int compare()':
      suggested.cc:5:10: error: '__n1' was not declared in this scope
         return __n1 - __n2;
                ^~~~
      suggested.cc:5:10: note: suggested alternative: '._61'
         return __n1 - __n2;
                ^~~~
                ._61
      suggested.cc:5:17: error: '__n2' was not declared in this scope
         return __n1 - __n2;
                       ^~~~
      suggested.cc:5:17: note: suggested alternative: '._72'
         return __n1 - __n2;
                       ^~~~
                       ._72
      
      The dot-prefixed names are an implementation detail of how we implement
      anonymous enums found in the header files, generated via
      anon_aggrname_format in make_anon_name.
      
      This patch uses anon_aggrname_p to filter them out when considering
      which names to suggest.
      
      gcc/cp/ChangeLog:
      	PR c++/86329
      	* name-lookup.c (consider_binding_level): Filter out names that
      	match anon_aggrname_p.
      
      gcc/testsuite/ChangeLog:
      	PR c++/86329
      	* g++.dg/lookup/pr86329.C: New test.
      
      From-SVN: r262199
      David Malcolm committed
    • Convert pdp11 back end to CCmode. · b4324a14
      	* common/config/pdp11/pdp11-common.c (pdp11_handle_option): Handle
      	mutually exclusive options.
      	* config/pdp11/constraints.md (h): New constraint.
      	(O): Update definition to match shift code generation.
      	(D): New constraint.
      	* config/pdp11/pdp11-modes.def (CCNZ): Define mode.
      	(CCFP): Remove.
      	* config/pdp11/pdp11-protos.h (int_no_side_effect_operand): New
      	function.
      	(output_jump): Change arguments.
      	(pdp11_fixed_cc_regs): New function.
      	(pdp11_cc_mode): Ditto.
      	(pdp11_expand_shift): Ditto.
      	(pdp11_assemble_shift): Ditto.
      	(pdp11_small_shift): Ditto.
      	(pdp11_branch_cost): Remove.
      	* config/pdp11/pdp11.c (pdp11_assemble_integer): Remove comments
      	from output.
      	(pdp11_register_move_cost): Update for CC registers.
      	(pdp11_rtx_costs): Add case for LSHIFTRT.
      	(pdp11_output_jump): Add CCNZ mode conditional branches.
      	(notice_update_cc_on_set): Remove.
      	(pdp11_cc_mode): New function.
      	(simple_memory_operand): Correct pre/post decrement case.
      	(no_side_effect_operand): New function.
      	(pdp11_regno_reg_class): Add CC_REGS class.
      	(pdp11_fixed_cc_regs): New function.
      	(pdp11_small_shift): New function.
      	(pdp11_expand_shift): New function to expand shift insns.
      	(pdp11_assemble_shift): New function to output shifts.
      	(pdp11_branch_cost): Remove.
      	(pdp11_modes_tieable_p): Make QI/HI modes tieable.
      	* config/pdp11/pdp11.h (SIZE_TYPE): Ensure 16-bit type.
      	(WCHAR_TYPE): Ditto.
      	(PTRDIFF_TYPE): Ditto.
      	(ADJUST_INSN_LENGTH): New macro.
      	(FIXED_REGISTERS): Add CC registers.
      	(CALL_USED_REGISTERS): Ditto.
      	(reg_class): Ditto.
      	(REG_CLASS_NAMES): Ditto.
      	(REG_CLASS_CONTENTS): Ditto.
      	(SELECT_CC_MODE): Use new function.
      	(TARGET_FLAGS_REGNUM): New macro.
      	(TARGET_FIXED_CONDITION_CODE_REGS): Ditto.
      	(cc0_reg_rtx): Remove.
      	(CC_STATUS_MDEP): Remove.
      	(CC_STATUS_MDEFP_INIT): Remove.
      	(CC_IN_FPU): Remove.
      	(NOTICE_UPDATE_CC): Remove.
      	(REGISTER_NAMES): Add CC registers.
      	(BRANCH_COST): Change to constant 1.
      	* config/pdp11/pdp11.md: Rewrite for CCmode condition code
      	handling.
      	* config/pdp11/pdp11.opt (mbcopy): Remove.
      	(mbcopy-builtin): Remove.
      	(mbranch-cheap): Remove.
      	(mbranch-expensive): Remove.
      	* config/pdp11/predicates.md (expand_shift_operand): Update to
      	match shift code generation.
      	(ccnz_operator): New predicate.
      	* doc/invoke.texi (PDP-11 Options): Remove deleted options
      	-mbcopy, -mbcopy-builtin, -mbranch-cheap, -mbranch-expensive.
      	Remove non-existent option -mabshi, -mno-abshi.  Document mutually
      	exclusive options.
      	* doc/md.texi (PDP-11): Document new D and h constraints.  Update
      	description of O constraint.
      
      From-SVN: r262198
      Paul Koning committed
    • Add test case that was supposed to be added in commit 255556 on 2017-12-11. · 356d5363
      gcc/testsuite/ChangeLog:
      
      2018-06-27  Carl Love  <cel@us.ibm.com>
      
      Add test case that was supposed to be added in commit 255556 on 2017-12-11.
      
      	* gcc.target/vsx-vector-abss.c: New file to test vec_abss.
      
      From-SVN: r262196
      Carl Love committed
    • Fix typo in libgcc/Makefile.in · b61c9b99
      	* Makefile.in (install_leaf): Use enable_gcov instead of
      	enable_libgcov.
      
      From-SVN: r262195
      Rainer Orth committed
    • stl_vector.h (struct _Vector_base<>::_Vector_impl_data): New. · e6cad987
      2018-06-27  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/bits/stl_vector.h
      	(struct _Vector_base<>::_Vector_impl_data): New.
      	(struct _Vector_base<>::_Vector_impl): Inherit from latter.
      	(_Vector_base<>::_Vector_impl::_M_swap_data): Move...
      	(_Vector_base<>::_Vector_impl_data::_M_swap_data): ...here.
      	(_Vector_base<>::_Vector_impl()): Add noexcept qualification.
      	(_Vector_base<>::_Vector_impl(_Vector_impl&&)): New.
      	(_Vector_base<>::_Vector_impl(_Tp_alloc_type&&, _Vector_impl&&)): New.
      	(_Vector_base(const allocator_type&, _Vector_base&&)): New, use latter.
      	(_Vector_base()): Default.
      	(_Vector_base(_Vector_base&&)): Default.
      	(_Vector_base(size_t)) [_GLIBCXX_INLINE_VERSION]: Delete.
      	(_Vector_base(_Tp_alloc_type&&)) [_GLIBCXX_INLINE_VERSION]: Delete.
      	(_Vector_base::_M_create_storage(size_t)): Make protected.
      	(vector()): Default.
      	(vector(vector&&)): Default.
      	(vector(vector&&, const allocator_type&, true_type)): New.
      	(vector(vector&&, const allocator_type&, false_type)): New.
      	(vector(vector&&, const allocator_type&)): Use latters.
      	(vector(_InputIte, _InputIte, const allocator_type&)): Call
      	_M_range_initialize directly.
      	* include/debug/vector
      	(vector(vector&&, const allocator_type&)): Add noexcept qualification.
      	* testsuite/23_containers/vector/allocator/default_init.cc: New.
      	* testsuite/23_containers/vector/cons/noexcept_move_construct.cc: Add
      	static assertions.
      
      From-SVN: r262194
      François Dumont committed
    • v850.md (addsi3_set_flags): New pattern. · f8dc0f2b
      	* config/v850/v850.md (addsi3_set_flags): New pattern.
      	(subsi3_set_flags, negsi2_set_flags, andsi3_set_flags): Likewise.
      	(iorsi3_set_flags, xorsi3_set_flags, one_cmplsi2_set_flags): Likewise.
      	(zero_extendhisi2_v850_set_flags): Likewise.
      	(zero_extendqisi2_v850_set_flags): Likewise.
      	(ashlsi3_set_flags, ashlsi3_v850e2_set_flags): Likewise.
      	(lshrsi3_set_flags, lshrsi3_v850e2_set_flags): Likewise.
      	(ashrsi3_set_flags, ashrsi3_v850e2_set_flags): Likewise.
      
      Co-Authored-By: Austin Law <austinklaw@gmail.com>
      
      From-SVN: r262192
      Jeff Law committed
    • v850-protos.h (notice_update_cc): Remove. · 1ec0eb08
      	* config/v850/v850-protos.h (notice_update_cc): Remove.
      	* config/v850/v850.c (v850_compare_op0, v850_compare_op1): Remove.
      	(v850_print_operand): Handle 'D' and "d".
      	(v850_select_cc_mode): Remove ATTRIBUTE_UNUSED for last argument.
      	Add handling of arithmetic/logical operations compared against zero.
      	(v850_gen_float_compare): Remove ATTRIBUTE_UNUSED for last argument.
      	Do not look at v850_compare_op, instead get mode from last argument.
      	(v850_gen_compare): Remove
      	(increment_stack): Use addsi3_clobber_flags to avoid splitting failure
      	after reload for prologue insns.
      	(expand_prologue): Account for CLOBBER of CC_REGNUM in various
      	patterns.
      	(construct_save_jarl): Likewise.
      	(TARGET_FLAGS_REGNUM): Define.
      	* config/v850/v850.h (v850_compare_op0, v850_compare_op1): Remove.
      	(NOTICE_UPDATE_CC): Remove.
      	* config/v850/v850.md (v850_tst1): Use (reg:CCZ CC_REGNUM) rather
      	than cc0.  Conditionalize on reload_completed.
      	(cmpsi_insn, setfcc_insn): Likewise.
      	(tst1 splitter): Turn into define_and_split which sets the flags
      	after reload.
      	(cstoresi4, cbranchsf4, cbranchdf4, cbranchsi4_insn): Likewise.
      	(cbranchsi4, branch_normal, branch_invert): Do not expose cc0 here.
      	(cstoresf4, cstoredf4): Clobber the flags.
      	(cmpsi, cmpsf, cmpdf): Remove expanders.
      	(setf_insn): Remove pattern.
      	(addsi3): Turn into define_and_split which clobbers the flags after
      	reload and a suitable pattern (addsi3_clobber_flags) for use after
      	reload.
      	(subsi3, negsi2, andsi3, iorsi3, xorsi3, one_cmplsi2) Likewise.
      	(ashlsi3, ashlsi3_v850e2, lshrsi3, lsh4si3_v850e2): Likewise.
      	(ashrsi3, ashrsi3_v850e2): Likewise.
      	(bins): Clobber the flags.
      	(movsicc_normal_cc, movsicc_normal, movsicc_tst1): Likewise.
      	(movsicc_tst1_revesed, sasf, swap and rotate patterns): Likewise.
      	(fix_loop_counter, call_internal_short, call_internal_long): Likewise.
      	(call_value_internal_short, call_value_internal_long): Likewise.
      	(callt_save_interrupt, callt_return_interrupt): Likewise.
      	(save_interrupt, return_interrupt): Likewise.
      	(callt_save_all_interrupt, save_all_interrupt): Likewise.
      	(_save_all_interrupt, callt_restore_all_interrupt): Likewise.
      	(restore_all_interrupt, _restore_all_interrupt): Likewise.
      	(All FP comparisons): Only allow after reload has completed.
      	(trfsr): Likewise.
      	(divh, divhu): Tweak output template.
      	(branch_z_normal, branch_z_invert): Remove
      	(branch_nz_normal, branch_nz_invert): Likewise.
      	(extendhisi_insn, extendqisi_insn): Do not clobber flags.
      
      Co-Authored-By: Austin Law <austinklaw@gmail.com>
      
      From-SVN: r262190
      Jeff Law committed
    • v850-modes.def (CCZ, CCNZ): Add new modes. · 03e32fb7
      	* config/v850/v850-modes.def (CCZ, CCNZ): Add new modes.
      	* config/v850/v850.c (notice_update_cc): Remove.
      	* config/v850/v850.h  (CC_OVERFLOW_UNUSABLE): Remove
      	(CC_NO_CARRY): Likewise.
      	(NOTICE_UPDATE_CC): Define to nothing.
      	* config/v850/v850.md: Remove block comment on cc0 handling
      	Remove "cc" attribute from all patterns.  Remove cc_status handling
      	from all patterns.  Minor formatting fixes.
      
      Co-Authored-By: Austin Law <austinklaw@gmail.com>
      
      From-SVN: r262189
      Jeff Law committed
    • Avoid crash on friend in nested class template. · 8945521a
      	* name-lookup.c (do_pushtag): If we skip a class level, also skip
      	its template level.
      
      From-SVN: r262188
      Jason Merrill committed
    • [AArch64] Add support for Arm Cortex-A76 · 25846b50
      The Cortex-A76 is an Armv8.2-A processor with dotproduct and FP16 support.
      It can be paired with the Cortex-A55 and hence the option
      -mcpu/-mtune=cortex-a76.cortex-a55 is also introduced.
      
      Bootstrapped and tested on aarch64-none-linux-gnu. 
      
      	* config/aarch64/aarch64-cores.def (cortex-a76): New entry.
      	(cortex-a76.cortex-a55): Likewise.
      	* config/aarch64/aarch64-tune.md: Regenerate.
      	* doc/invoke.texi (AArch64 Options): Document cortex-a76 and
      	cortex-a76.cortex-a55.
      
      From-SVN: r262186
      Kyrylo Tkachov committed
    • t-v850 (MULTILIB_OPTIONS): Remove 8byte-align. · 979bcc99
      	* config/v850/t-v850 (MULTILIB_OPTIONS): Remove 8byte-align.
      	(MULTILIB_DIRNAMES): Similarly.
      
      From-SVN: r262185
      Jeff Law committed
    • Add std::__is_byte<std::byte> specialization · cd7ec27c
      	* include/bits/cpp_type_traits.h [__cplusplus >= 201703]
      	(__is_byte<byte>): Define specialization for std::byte.
      
      From-SVN: r262182
      Jonathan Wakely committed
    • gimple.h (gimple_return_retbnd): Delete. · ed510b16
      	* gimple.h (gimple_return_retbnd): Delete.
      	(gimple_return_set_retbnd): Likewise.
      	* cgraphunit.c (cgraph_node::expand_thunk): Remove call to
      	gimple_return_set_retbnd.
      	* gimple-pretty-print.c (dump_gimple_return): Remove call to
      	gimple_return_retbnd and adjust.
      	* tree-inline.h (struct copy_body_data): Remove retbnd field.
      	* tree-inline.c (remap_gimple_stmt): Remove handling of retbnd.
      	Explicitly return NULL in a couple more cases.  Move assertion
      	on debug statements and remove unreachable code.
      	(reset_debug_binding): Do not test id->retbnd.
      	(expand_call_inline): Do not set it.
      
      From-SVN: r262181
      Eric Botcazou committed
    • add support for --disable-gcov · 1765b023
      For some targets (in my case VxWorks 5.5), libgcov does not compile due
      to missing functions and macros such as getpid() and F_OK.
      
      Incidentally, gcc/Makefile.in already contains comments such as
      
      # Install gcov if it was compiled.
      
      but there is no logic in place to actually allow gcov to not be
      compiled.
      
      So add an option for disabling build and install of libgcov and the
      related host tools.
      
      From-SVN: r262180
      Rasmus Villemoes committed
    • [arm] Add support for Arm Cortex-A76 · ed4e2a17
      The Cortex-A76 is an Armv8.2-A processor with dotproduct and FP16 support.
      It can be paired with the Cortex-A55 and hence the option
      -mcpu/-mtune=cortex-a76.cortex-a55 is also introduced.
      
      Bootstrapped and tested on arm-none-linux-gnueabihf.
      
      	* config/arm/arm-cpus.in (cortex-a76): New entry.
      	(cortex-a76.cortex-a55): Likewise.
      	* config/arm/arm-tables.opt: Regenerate.
      	* config/arm/arm-tune.md: Likewise.
      	* config/arm/driver-arm.c (arm_cpu_table): Add Cortex-A76 entry.
      	* doc/invoke.texi (ARM Options): Document cortex-a76 and
      	cortex-a76.cortex-a55.
      
      From-SVN: r262179
      Kyrylo Tkachov committed
    • Add SIMD to REG pattern for movhf without armv8.2-a support for AArch64 · d89fe63e
      This fixes a regression where we don't have an instruction for pre Armv8.2-a
      to do a move of an fp16 value from a GP reg to a SIMD reg.
      
      This patch adds that pattern to movhf_aarch64 using a dup and only selectes it
      using a very low priority.
      
      This fixes an ICE at -O0.
      
      gcc/
      2018-06-20  Tamar Christina  <tamar.christina@arm.com>
      
      	PR target/85769
      	* config/aarch64/aarch64.md (*movhf_aarch64): Add dup v0.4h pattern.
      
      gcc/testsuite/
      2018-06-20  Tamar Christina  <tamar.christina@arm.com>
      
      	PR target/85769
      	* gcc.target/aarch64/f16_mov_immediate_3.c: New.
      
      From-SVN: r262178
      Tamar Christina committed
    • fixincludes: Add missing hunk to tests/base/ioLib.h · 0e97b84b
      When adding the vxworks_iolib_include_unistd hack I failed to add the
      appropriate hunk to the tests/base/ioLib.h file, causing "make
      check-fixincludes" to fail.
      
      From-SVN: r262177
      Rasmus Villemoes committed
    • [aarch64] Fix obsolete comment about X30 · 643ef957
      r217431 changed X30 as caller-saved in CALL_USE_REGISTERS because of
      which this comment about X30 not being marked as call-clobbered is no
      longer accurate.  Fixed to describe the current state more accurately.
      
      	* config/aarch64/aarch64.h (CALL_USE_REGISTERS): Fix obsolete
      	comment.
      	(EPILOGUE_USES): Likewise.
      
      From-SVN: r262176
      Siddhesh Poyarekar committed