1. 26 Sep, 2016 21 commits
    • read-rtl.c: split out read_rtx_operand from read_rtx_code · f22735ae
      gcc/ChangeLog:
      	* read-rtl.c (read_rtx_code): Rename local "i" to "idx", and use
      	"c" instead when parsing characters.  Move operand parsing into...
      	(read_rtx_operand): ...this new function, renaming "i" to "idx",
      	and tightening the scope of various locals.
      
      From-SVN: r240502
      David Malcolm committed
    • configure.ac: Disable "sim" directory for arc*-*-*. · 2fd88f4f
      2016-09-26  Anton Kolesov  <Anton.Kolesov@synopsys.com>
      
      	* configure.ac: Disable "sim" directory for arc*-*-*.
      	* conifgure: Regenerated.
      
      From-SVN: r240501
      Anton Kolesov committed
    • cygming.h (ASM_OUTPUT_DWARF_OFFSET): Fix typo. · cfff6cdd
      2016-09-26  LH Mouse  <lh_mouse@126.com>
      
      	* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Fix typo.
      
      From-SVN: r240500
      Liu Hao committed
    • c-lex.c (c_common_has_attribute): Handle attribute fallthrough. · c6147dc4
      	* c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
      
      	* system.h: Use __has_attribute to check whether the fallthrough
      	attribute is supported.
      
      	* g++.dg/cpp1z/feat-cxx1z.C: Test attribute fallthrough.
      
      From-SVN: r240499
      Marek Polacek committed
    • ipa-inline-analysis.c (find_foldable_builtin_expect): Use gimple_call_internal_p. · 8e4284d0
      	* ipa-inline-analysis.c (find_foldable_builtin_expect): Use
      	gimple_call_internal_p.
      	* ipa-split.c (find_return_bb): Likewise.
      	(execute_split_functions): Likewise.
      	* omp-low.c (dump_oacc_loop_part): Likewise.
      	(oacc_loop_xform_head_tail): Likewise.
      	* predict.c (predict_loops): Likewise.
      	* sanopt.c (pass_sanopt::execute): Likewise.
      	* tree-cfg.c (get_abnormal_succ_dispatcher): Likewise.
      	* tree-parloops.c (oacc_entry_exit_ok_1): Likewise.
      	* tree-stdarg.c (gimple_call_ifn_va_arg_p): Remove function.
      	(expand_ifn_va_arg_1): Use gimple_call_internal_p.
      	(expand_ifn_va_arg): Likewise.
      	* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
      	(optimize_mask_stores): Likewise.
      	* tree-vect-stmts.c (vect_simd_lane_linear): Likewise.
      	(vect_transform_stmt): Likewise.
      	* tree-vectorizer.c (vect_loop_vectorized_call): Likewise.
      	* tsan.c (instrument_memory_accesses): Likewise.
      
      From-SVN: r240498
      Marek Polacek committed
    • Fix typo in date. · 6e139966
      From-SVN: r240497
      David Edelsohn committed
    • [regrename][sel-sched] Fix bogus use of HARD_FRAME_POINTER_REGNUM (was: Fix arm bootstrap) · a943bb7f
      	* regrename.c (rename_chains): Check
      	HARD_FRAME_POINTER_IS_FRAME_POINTER rather than
      	HARD_FRAME_POINTER_REGNUM when picking unavailable registers.
      	* sel-sched.c (mark_unavailable_hard_regs): Likewise.
      
      Co-Authored-By: Alexander Monakov <amonakov@ispras.ru>
      
      From-SVN: r240496
      Kyrylo Tkachov committed
    • S/390: Add missing fallthrough comments. · 1d92cba9
      gcc/ChangeLog:
      
      2016-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* config/s390/s390.c (s390_rtx_costs): Add /* fallthrough */.
      	(s390_sched_score): Likewise.
      
      From-SVN: r240495
      Andreas Krebbel committed
    • Fix documentation of gcov tool · c1c6ca63
      	* doc/gcov.texi: Update program output of gcov tool.
      
      From-SVN: r240494
      Martin Liska committed
    • re PR fortran/48298 ([F03] User-Defined Derived-Type IO (DTIO)) · 9beb81ed
      2016-09-26  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/48298
      	* interface.c (gfc_find_specific_dtio_proc) : Return NULL if
      	the derived type is broken, as indicated by a flavor other than
      	FL_DERIVED.
      
      From-SVN: r240493
      Paul Thomas committed
    • Remove HIST_TYPE_CONST_DELTA counter type (PR gcov-profile/23332) · 32824208
      	PR gcov-profile/23332
      	* profile.c (instrument_values): Do not handle
      	HIST_TYPE_CONST_DELTA.
      	* tree-profile.c (gimple_gen_const_delta_profiler):
      	Remove.
      	* value-prof.c (dump_histogram_value): Do not handle
      	HIST_TYPE_CONST_DELTA.
      	(stream_in_histogram_value): Likewise.
      	(gimple_find_values_to_profile): Likewise.
      	* value-prof.h (enum hist_type): Likewise.
      
      From-SVN: r240492
      Martin Liska committed
    • Fix handling of -fsanitize-recover* options. · 5cc6c41c
      	* common.opt: Exclude SANITIZE_UNREACHABLE and SANITIZE_RETURN
      	from default sanitize recover values.
      	* doc/invoke.texi: Fix documentation related to -fsanitize=leak,
      	-fsanitize=address, -fsanitize=thread and -fsanitize-recover.
      	* flag-types.h: Replace couple of 1 << x to 1UL << x, make it
      	consistent.
      	* opts.c (finish_options): Do a generic loop over options
      	that can be recovered.
      	(parse_sanitizer_options): Exclude SANITIZE_UNREACHABLE and
      	SANITIZE_RETURN.
      	(common_handle_option): Likewise.
      	* opts.h: Declare can_recover to sanitizer_opts_s.
      	* c-c++-common/ubsan/sanitize-recover-1.c: New test.
      	* c-c++-common/ubsan/sanitize-recover-2.c: New test.
      	* c-c++-common/ubsan/sanitize-recover-3.c: New test.
      	* c-c++-common/ubsan/sanitize-recover-4.c: New test.
      	* c-c++-common/ubsan/sanitize-recover-5.c: New test.
      	* c-c++-common/ubsan/sanitize-recover-6.c: New test.
      	* c-c++-common/ubsan/sanitize-recover-7.c: New test.
      	* c-c++-common/ubsan/sanitize-recover-8.c: New test.
      	* c-c++-common/ubsan/sanitize-recover-9.c: New test.
      
      From-SVN: r240491
      Martin Liska committed
    • target.def (elf_flags_numeric): Change documentation to present tense. · 759a6472
      2016-09-26  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      
          * target.def(elf_flags_numeric): Change documentation to
          present tense.
          * doc/tm.texi: Regenerate.
      
      From-SVN: r240490
      Andre Vieira committed
    • init.c (expand_default_init): Fix } indentation. · c0cdf62c
      	* init.c (expand_default_init): Fix } indentation.
      	* method.c (process_subob_fn): Simplify control structure to
      	remove gotos.
      	(implicitly_declare_fn): Remove duplicated lambda ctor check.
      
      From-SVN: r240489
      Nathan Sidwell committed
    • Remove redefinition of __cpp_lib_array_constexpr · 1a08d2da
      	* include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
      	redefine macro defined in <bits/stl_iterator.h>.
      
      From-SVN: r240488
      Jonathan Wakely committed
    • Add assertions to extract(const_iterator) functions · 976160b9
      	* include/bits/stl_map.h (map::extract(const_iterator)): Assert that
      	iterator is not past-the-end.
      	* include/bits/stl_multimap.h (multimap::extract(const_iterator)):
      	Likewise.
      	* include/bits/stl_multiset.h (multiset::extract(const_iterator)):
      	Likewise.
      	* include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
      	* include/bits/unordered_map.h (unordered_map::extract(const_iterator))
      	(unordered_multimap::extract(const_iterator)): Likewise.
      	* include/bits/unordered_set.h (unordered_set::extract(const_iterator))
      	(unordered_multiset::extract(const_iterator)): Likewise.
      
      From-SVN: r240487
      Jonathan Wakely committed
    • re PR libstdc++/77717… · a38814c0
      re PR libstdc++/77717 (testsuite/21_strings/basic_string_view/operations/compare/char/1.cc makes undefined memcmp call)
      
      	PR libstdc++/77717
      	* testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
      	Fix an out-of-bounds access.
      
      From-SVN: r240486
      Ville Voutilainen committed
    • Implement -Wimplicit-fallthrough. · 81fea426
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r240485
      Marek Polacek committed
    • dwarf2out.c (stripattributes): Remove unused function. · 392fa55c
      2016-09-26  Richard Biener  <rguenther@suse.de>
      
      	* dwarf2out.c (stripattributes): Remove unused function.
      	(DEBUG_NORM_MACINFO_SECTION): Rename to DEBUG_MACINFO_SECTION.
      	Push dwarf_split_debug_info handling into init_sections_and_labels.
      	(DEBUG_NORM_MACRO_SECTION): Likewise to DEBUG_MACRO_SECTION.
      	(DEBUG_MACRO_SECTION_FLAGS): Remove.
      	(debug_macinfo_section_name): New global.
      	(output_macinfo): Use debug_macinfo_section_name.
      	(init_sections_and_labels): Split out section and label generation
      	from dwarf2out_init.  Set debug_macinfo_section_name.
      	(dwarf2out_init): Move text section label generation and emission
      	to ...
      	(dwarf2out_assembly_start): ... here.
      	(dwarf2out_finish): Call init_sections_and_labels before DWARF
      	output starts.
      
      From-SVN: r240484
      Richard Biener committed
    • re PR debug/77692 (gcc.dg/debug/dwarf2/const-2b.c FAILs) · e6358ebd
      2016-09-26  Richard Biener  <rguenther@suse.de>
      
      	PR debug/77692
      	* cgraphunit.c (analyze_functions): Before early removing
      	global vars calls the late_global_decl debug handler mark
      	the variable as readonly.
      
      From-SVN: r240483
      Richard Biener committed
    • Daily bump. · ec0dba2b
      From-SVN: r240482
      GCC Administrator committed
  2. 25 Sep, 2016 8 commits
    • debug.cc: Include debug/vector. · d8bbd665
      2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
      
      	* src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
      	functional.
      	(get_safe_base_mutex): Get mutex based on address lowest non nil bits.
      	* testsuite/23_containers/vector/debug/mutex_association.cc: New.
      
      From-SVN: r240479
      François Dumont committed
    • bitset (bitset::reference::reference(const _Base_ref&, bitset*)): Remove __unused__ attribute. · 5d045324
      2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/debug/bitset (bitset::reference::reference(const _Base_ref&,
      	bitset*)): Remove __unused__ attribute.
      	* include/debug/safe_base.h (_Safe_iterator_base): Make
      	_Safe_sequence_base a friend.
      	(_Safe_iterator_base::_M_attach): Make protected.
      	(_Safe_iterator_base::_M_attach_single): Likewise.
      	(_Safe_iterator_base::_M_detach): Likewise.
      	(_Safe_iterator_base::_M_detach_single): Likewise.
      	(_Safe_sequence_base): Make _Safe_iterator_base a friend.
      	(_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
      	(_Safe_sequence_base::_M_swap): Make protected.
      	(_Safe_sequence_base::_M_attach): Make private.
      	(_Safe_sequence_base::_M_attach_single): Likewise.
      	(_Safe_sequence_base::_M_detach): Likewise.
      	(_Safe_sequence_base::_M_detach_single): Likewise.
      	* include/debug/safe_container.h
      	(_Safe_container::_Safe_container(_Safe_container&&)): Make default.
      	* include/debug/safe_iterator.h
      	(_Safe_iterator::operator++()): Name __scoped_lock instance.
      	* include/debug/safe_iterator.tcc: Remove trailing line.
      	* include/debug/safe_unordered_base.h
      	(_Safe_local_iterator_base::_M_attach): Make protected.
      	(_Safe_local_iterator_base::_M_attach_single): Likewise.
      	(_Safe_local_iterator_base::_M_detach): Likewise.
      	(_Safe_local_iterator_base::_M_detach_single): Likewise.
      	(_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
      	(_Safe_unordered_container_base::_M_attach_local): Make private.
      	(_Safe_unordered_container_base::_M_attach_local_single): Likewise.
      	(_Safe_unordered_container_base::_M_detach_local): Likewise.
      	(_Safe_unordered_container_base::_M_detach_local_single): Likewise.
      
      From-SVN: r240478
      François Dumont committed
    • re PR fortran/77429 (ICE in gfc_check_dependency, at fortran/dependency.c:1261) · 9b597c1f
      2016-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/77429 
      	* dependency.c (gfc_check_dependency):  Convert gcc_assert() to
      	a conditional and possible call to  gfc_internal_error().
      
      2016-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/77429 
      	* gfortran.dg/pr77429.f90: New test.
      
      From-SVN: r240477
      Steven G. Kargl committed
    • re PR fortran/77694 (ICE in optimize_binop_array_assignment, at fortran/frontend-passes.c:1080) · f1c7e7f1
      2016-09-22  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/77694
      	* frontend-passes.c (optimize_binop_array_assignment): Check pointer
      	for NULL.
      
      2016-09-22  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/77694
      	* gfortran.dg/pr77694.f90: New test.
      
      From-SVN: r240476
      Steven G. Kargl committed
    • * gcc.target/i386/pr77621.c (dg-options): Add -mno-avx. · 5335c35f
      From-SVN: r240474
      Uros Bizjak committed
    • algo.h: Generalize usage of std::__iterator_category. · edc69abb
      2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/parallel/algo.h: Generalize usage of std::__iterator_category.
      	Adjust whitespaces.
      
      From-SVN: r240473
      François Dumont committed
    • This fixes a fallout that actually goes back to 5.0 but went unnoticed. · 50c6dd20
      The costs for movt and movrt type of insns were not correctly reported
      and ifcvt thus made some bad choices for SH.  A new cset_zero pattern
      variant is also required to fix the matching for some recent changes
      in the middle end.
       
      gcc/
      	PR target/51244
      	* config/sh/sh.c (sh_movt_set_dest, sh_movrt_set_dest): Add overloads.
      	(sh_rtx_costs): Handle SET of movt and movrt patterns.
      	* cnofig/sh/sh-protos.h (sh_movt_set_dest, sh_movrt_set_dest): Forward
      	declare new overloads.
      	* config/sh/sh.md (*cset_zero): Add variant that takes a treg_set_expr
      	operand.
      
      gcc/testsuite/
      	PR target/51244
      	* gcc.target/sh/pr51244-11.c: Add more detailed expected insn matching.
      
      From-SVN: r240471
      Oleg Endo committed
    • Daily bump. · eaaa68f3
      From-SVN: r240470
      GCC Administrator committed
  3. 24 Sep, 2016 7 commits
  4. 23 Sep, 2016 4 commits
    • lang.opt, [...]: New flag -fdec-static. · 34d567d1
      2016-09-23  Fritz Reese  <fritzoreese@gmail.com>
      
      	gcc/fortran/
      	* lang.opt, invoke.texi, gfortran.texi: New flag -fdec-static.
      	* options.c (set_dec_flags): Set -fdec-static with -fdec.
      	* gfortran.h (symbol_attribute): New attribute automatic.
      	* gfortran.h (gfc_add_automatic): New prototype.
      	* match.h (gfc_match_automatic, gfc_match_static): New functions.
      	* decl.c (gfc_match_automatic, gfc_match_static): Ditto.
      	* symbol.c (gfc_add_automatic): Ditto.
      	* decl.c (match_attr_spec): Match AUTOMATIC and STATIC decls.
      	* parse.c (decode_specification_statement, decode_statement): Ditto.
      	* resolve.c (apply_default_init_local, resolve_fl_variable_derived,
      	resolve_symbol): Support for automatic attribute.
      	* symbol.c (check_conflict, gfc_copy_attr, gfc_is_var_automatic):
      	Ditto.
      	* trans-decl.c (gfc_finish_var_decl): Ditto.
      
      	gcc/testsuite/gfortran.dg/
      	* dec_static_1.f90, dec_static_2.f90, dec_static_3.f90,
      	dec_static_4.f90: New testcases.
      
      From-SVN: r240458
      Fritz Reese committed
    • re PR fortran/48298 ([F03] User-Defined Derived-Type IO (DTIO)) · 4a8d4422
      2016-09-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/48298
      	* io/inquire.c (inquire_via_unit): Adjust error check for the
      	two possible internal unit KINDs.
      	* io/io.h: Adjust defines for is_internal_unit and
      	is_char4_unit. (gfc_unit): Add internal unit data to structure.
      	(get_internal_unit): Change declaration to set_internal_unit.
      	(free_internal_unit): Change name to stash_internal_unit_number.
      	(get_unique_unit_number): Adjust parameter argument.
      	Define IOPARM_DT_HAS_UDTIO. (gfc_saved_unit): New structure.
      	* io/list_read.c (next_char_internal): Use is_char4_unit.
      	* io/open.c (st_open): Adjust call to get_unique_unit_number.
      	* io/transfer.c (write_block): Use is_char4_unit.
      	(data_transfer_init): Update check for unit numbers.
      	(st_read_done): Free the various allocated memories used for the
      	internal units and stash the negative unit number and pointer to unit
      	structure to allow reuse. (st_write_done): Likewise stash the freed
      	unit.
      	* io/unit.c: Create a fixed size buffer of 16 gfc_saved_unit's to use
      	as a stack to save newunit unit numbers and unit structure for reuse.
      	(get_external_unit): Change name to get_gfc_unit to better
      	reflect what it does. (find_unit): Change call to get_gfc_unit.
      	(find_or_create_unit): Likewise. (get_internal_unit): Change
      	name to set_internal_unit. Move internal unit from the dtp
      	structure to the gfc_unit structure so that it can be passed to
      	child I/O statements through the UNIT.
      	(free_internal_unit): Change name to stash_internal_unit_number.
      	Push the common.unit number onto the newunit stack, saving it
      	for possible reuse later. (get_unit): Set the internal unit
      	KIND. Use get_unique_unit_number to get a negative unit number
      	for the internal unit. Use get_gfc_unit to get the unit structure
      	and use set_internal_unit to initialize it.
      	(init_units): Initialize the newunit stack.
      	(get_unique_unit_number): Check the stack for an available unit
      	number and use it. If none there get the next most negative
      	number. (close_units): Free any unit structures pointed to from the save
      	stack.
      
      2016-09-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/48298
      	* gfortran.h (gfc_dt): Add *udtio.
      	* ioparm.def: Add bit IOPARM_dt_f2003 to align with library use of bit
      	25. Add IOPARM_dt_dtio bit to common flags.
      	* resolve.c (resolve_transfer): Set dt->udtio to expression.
      	* io.c (gfc_match_inquire): Adjust error message for internal
      	unit KIND.
      	* libgfortran.h: Adjust defines for GFC_INTERNAL_UNIT4,
      	GFC_INTERNAL_UNIT, and GFC_INVALID_UNIT.
      	* trans-io.c (build_dt): Set common_unit to reflect the KIND of
      	the internal unit. Set mask bit for presence of dt->udtio.
      
      2016-09-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/48298
      	* gfortran.dg/negative_unit_check.f90: Update test.
      	* gfortran.dg/dtio_14.f90: New test.
      
      From-SVN: r240456
      Jerry DeLisle committed
    • rs6000.md (cmpmemsi): New define_expand. · 9f38dde2
      	* config/rs6000/rs6000.md (cmpmemsi): New define_expand.
      	* config/rs6000/rs6000.c (expand_block_compare): New function used by
      	cmpmemsi pattern to do builtin expansion of memcmp ().
      	(compute_current_alignment): Add helper function for
      	expand_block_compare used to compute alignment as the compare proceeds.
      	(select_block_compare_mode): Used by expand_block_compare to select
      	the mode used for reading the next chunk of bytes in the compare.
      	(do_load_for_compare): Used by expand_block_compare to emit the load
      	insns for the compare.
      	(rs6000_emit_dot_insn): Moved this function to avoid a forward
      	reference from expand_block_compare ().
      	* config/rs6000/rs6000-protos.h (expand_block_compare): Add a
      	prototype for this function.
      	* config/rs6000/rs6000.opt (mblock-compare-inline-limit): Add a new
      	target option for controlling how much code inline expansion of
      	memcmp() will be allowed to generate.
      
      From-SVN: r240455
      Aaron Sawdey committed