1. 29 Jul, 2019 1 commit
  2. 28 Jul, 2019 8 commits
    • Release cgraph_{node,edge} via ggc_free (PR ipa/89330). · fe248a88
      2019-07-28  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/89330
      	* cgraph.c (symbol_table::create_edge): Always allocate
      	a cgraph_edge.
      	(symbol_table::free_edge): Store summary_id to
      	edge_released_summary_ids if != -1;
      	* cgraph.h (NEXT_FREE_NODE): Remove.
      	(SET_NEXT_FREE_NODE): Likewise.
      	(NEXT_FREE_EDGE): Likewise.
      	(symbol_table::release_symbol): Store summary_id to
      	cgraph_released_summary_ids if != -1;
      	(symbol_table::allocate_cgraph_symbol): Always allocate
      	a cgraph_node.
      
      From-SVN: r273857
      Martin Liska committed
    • Fix g++.dg/lto/pr89330 on Solaris · 4f394a9e
      	* g++.dg/lto/pr89330_0.C (dg-lto-options): Add -fPIC.
      	Require fpic support.
      
      From-SVN: r273856
      Rainer Orth committed
    • [RS6000] rs6000_output_mi_thunk tidy · aef57966
      Since svn r123193 (git 327202e27a) the comment about scratch regs was
      no longer correct, and I think gen_sibcall could have been used even
      then.
      
      	* gcc/config/rs6000/rs6000-call.c (rs6000_output_mi_thunk): Use
      	gen_sibcall.
      
      From-SVN: r273855
      Alan Modra committed
    • [RS6000] PR91135, __linux__ not defined with -mcall-aixdesc on 9.x and ppc64 · 295ac7c7
      This patch makes the obvious fix for PR91135, and deletes extraneous
      copies of GNU_USER_TARGET_D_OS_VERSIONS that appear in rs6000/linux.h
      and rs6000/linux64.h.  Since all configurations using either of these
      files also include linux.h there is no need to duplicate the macro.
      
      	PR target/91135
      	* config/rs6000/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Don't
      	define.
      	* config/rs6000/linux64.h (TARGET_OS_CPP_BUILTINS): Invoke
      	GNU_USER_TARGET_OS_CPP_BUILTINS for aixdesc abi.
      	(GNU_USER_TARGET_D_OS_VERSIONS): Don't define.
      
      From-SVN: r273854
      Alan Modra committed
    • [RS6000] Make assembler command line cpu match default for gcc · 8d852645
      When gcc is configured using --with-cpu=<cpu>, the specified cpu
      effectively becomes a default -mcpu=<cpu> passed to gcc.  This then
      affects the cpu passed to gas via ASM_CPU_SPEC.  If gcc is not
      configured using --with-cpu then the cpu passed to gas is that given
      by ASM_DEFAULT_SPEC, which currently does not match the default flags
      selected in default64.h.  This patch makes ASM_DEFAULT_SPEC agree with
      TARGET_DEFAULT flags.
      
      rs6000/default64.h appears in three places in config.gcc, the first
      one immediately followed by rs6000/freebsd64.h in $tm_file, and the
      other two immediately followed by rs6000/linux64.h.  To be able to
      define ASM_DEFAULT_SPEC in rs6000/default64.h we don't want to
      redefine in the other two files.  rs6000/freebsd64.h is easy since
      that file is always preceded by rs6000/default64.h, but
      rs6000/linux64.h can appear without rs6000/default64.h (a
      powerpc*-linux config where the default is -m32).  In that case we
      will have TARGET_DEFAULT flags of 0 (from rs6000/sysv4.h) and want to
      use -mppc without -m64 and -mppc64 with -m64.  This can be done by
      using the rs6000/rtems.h ASM_DEFAULT_SPEC in rs6000/sysv4.h, a change
      that won't affect sysv4 configurations where -m64 is invalid.
      
      The patch also introduces ASM_DEFAULT_EXTRA for the altivec variant
      targets so as to enable -maltivec by default.
      
      	PR target/91050
      	* config/rs6000/sysv4.h (ASM_DEFAULT_SPEC): Modify if -m64.
      	* config/rs6000/default64.h (ASM_DEFAULT_SPEC): Define.
      	* config/rs6000/freebsd64.h (ASM_DEFAULT_SPEC): Don't define.
      	* config/rs6000/linux64.h (ASM_DEFAULT_SPEC): Likewise.
      	* config/rs6000/rtems.h (ASM_DEFAULT_SPEC): Likewise.
      	* config/rs6000/rs6000.h (ASM_DEFAULT_EXTRA): Define and use
      	in asm_default spec.
      	* config/rs6000/eabialtivec.h (ASM_DEFAULT_EXTRA): Redefine.
      	* config/rs6000/linuxaltivec.h (ASM_DEFAULT_EXTRA): Redefine.
      
      From-SVN: r273853
      Alan Modra committed
    • documentation_hacking.xml: Fix broken reference to the Doxygen manual. · c5993c9a
      	* doc/xml/manual/documentation_hacking.xml: Fix broken reference
      	to the Doxygen manual. Avoid a "here" link on the way.
      	Fix another broken link to Doxygen docblocks.
      
      From-SVN: r273852
      Gerald Pfeifer committed
    • Daily bump. · 93ca0712
      From-SVN: r273850
      GCC Administrator committed
  3. 27 Jul, 2019 2 commits
    • [Darwin, PPC, testsuite] Fix fail for bmi2-bzhi64-1a.c · 5bca9dd4
      This test is failing with older cpus because the included header needs both
      altivec and vsx to be enabled to succeed in compiling.  Without this (if these
      are not defaults for the cpu) there are errors like:
      
      In file included from ... x86intrin.h:41,
                       from ... bmi2-bzhi64-1a.c:6:
       ... xmmintrin.h: In function '_mm_loadu_ps':
       ... xmmintrin.h:122:11: 
      error: incompatible types when returning type 'int' but '__m128' {aka '__vector(4) float'} was expected
      <snip>
       ... xmmintrin.h: In function '_mm_cvtps_pi32':
       ... xmmintrin.h:996:3: 
      error: use of 'long long' in AltiVec types is invalid without '-mvsx'
      <snip>
      
      Fixed by adding -maltivec -mvsx to the options.
      
      gcc/testsuite/
      
      2019-07-27  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.target/powerpc/bmi2-bzhi64-1a.c: Add options to enable altivec
      	and vsx.
      
      From-SVN: r273844
      Iain Sandoe committed
    • Daily bump. · eebbac58
      From-SVN: r273843
      GCC Administrator committed
  4. 26 Jul, 2019 7 commits
    • [Darwin, testsuite] Handle Darwin's size command. · 4f67cda8
      Darwin's "size" command has a different header line, reflecting the Mach-O
      section naming conventions.  This causes tests using the command to fail
      because scanasm.exp expects and checks specific layout of the header line.
      
      gcc/testsuite/
      
      2019-07-26  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* lib/scanasm.exp (object-size): Handle Darwin's size command.
      
      From-SVN: r273839
      Iain Sandoe committed
    • Define __cpp_lib_endian feature test macro · a5378f9b
      This macro was added as part of moving std::endian from <type_traits> to
      <bit>.
      
      	* include/std/bit (__cpp_lib_endian): Define.
      	* include/std/version (__cpp_lib_endian): Define.
      	* testsuite/26_numerics/endian/2.cc: New.
      	* testsuite/26_numerics/endian/3.cc: New.
      	* testsuite/26_numerics/endian/4.cc: New.
      
      From-SVN: r273828
      Jonathan Wakely committed
    • AArch64: Make processing less fragile in config.gcc · 3644cadf
      Due to config.gcc all the options need to be on one line because of the grep
      lines which would select only the first line of the option.
      
      This causes it not to select the right bits on options that are spread over
      multiple lines when the --with-arch configure option is used.  The issue happens
      silently and you just get a compiler with an incorrect set of default flags.
      
      The current rules are quite rigid:
      
         1) No space between the AARCH64_OPT_EXTENSION and the opening (.
         2) No space between the opening ( and the extension name.
         3) No space after the extension name before the ,.
         4) Spaces are only allowed after a , and around |.
      
      This patch makes this a lot less fragile by using the C pre-processor to flatten
      the list and then provides much more flexible regex using group matching to
      process the options instead of string replacement.  This removes all the
      restrictions above and makes the code a bit more readable.
      
      gcc/ChangeLog:
      
      	PR target/89517
      	* config.gcc: Relax parsing of AARCH64_OPT_EXTENSION.
      	* config/aarch64/aarch64-option-extensions.def: Add new comments
      	and restore easier to read options.
      
      From-SVN: r273827
      Tamar Christina committed
    • Add rules to strip away unneeded type casts in expressions · 8f5331b2
      This patch moves part of the type conversion code from convert.c to match.pd
      because match.pd is able to apply these transformations in the presence of
      intermediate temporary variables.
      
      Concretely it makes both these cases behave the same
      
        float e = (float)a * (float)b;
        *c = (_Float16)e;
      
      and 
      
        *c = (_Float16)((float)a * (float)b);
      
      gcc/ChangeLog:
      
      	* convert.c (convert_to_real_1): Move part of conversion code...
      	* match.pd: ...To here.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/type-convert-var.c: New test.
      
      From-SVN: r273826
      Tamar Christina committed
    • [PR 89330] Remove non-useful speculations from new_edges · 4517b378
      2019-07-26  Martin Jambor  <mjambor@suse.cz>
      
      	PR ipa/89330
      	* ipa-inline-transform.c (check_speculations_1): New function.
      	(push_all_edges_in_set_to_vec): Likewise.
      	(check_speculations): Use check_speculations_1, new parameter
      	new_edges.
      	(inline_call): Pass new_edges to check_speculations.
      	* ipa-inline.c (add_new_edges_to_heap): Assert edge_callee is not
      	NULL.
      	(speculation_useful_p): Early return true if edge is inlined, remove
      	later checks for inline_failed.
      
      	testsuite/
      	* g++.dg/lto/pr89330_[01].C: New test.
      	* g++.dg/tree-prof/devirt.C: Added -fno-profile-values to dg-options.
      
      From-SVN: r273825
      Martin Jambor committed
    • 2019-07-26 François Dumont <fdumont@gcc.gnu.org> · ac2dca4d
      	* testsuite/util/testsuite_iterators.h
      	(bidirectional_iterator_wrapper): Fix type comment.
      	(random_access_iterator_wrapper): Likewise.
      
      From-SVN: r273824
      François Dumont committed
    • Daily bump. · cc00790c
      From-SVN: r273823
      GCC Administrator committed
  5. 25 Jul, 2019 20 commits
    • Relocate std::endian from <type_traits> to <bit> · 45c7215c
      This change to an early C++2a feature was just approved (P1612R1).
      
      	* include/std/bit (endian): Move definition here as per P1612R1.
      	* include/std/type_traits (endian): Remove definition from here.
      	* testsuite/20_util/endian/1.cc: Rename to ...
      	* testsuite/26_numerics/endian/1.cc: ... here. Adjust header.
      
      From-SVN: r273816
      Jonathan Wakely committed
    • Wstringop-overflow-14.c: Disable for stricly aligned targets. · 599780d6
      gcc/testsuite/ChangeLog:
      	* gcc.dg/Wstringop-overflow-14.c: Disable for stricly aligned targets.
      
      From-SVN: r273814
      Martin Sebor committed
    • re PR tree-optimization/91183 (strlen of a strcpy result with a conditional source not folded) · f2d52e00
      PR tree-optimization/91183
      PR tree-optimization/86688
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/strlenopt-70.c: Fix bugs.
      	* gcc.dg/strlenopt-71.c: Same.
      	* gcc.dg/strlenopt-72.c: Same.
      
      From-SVN: r273812
      Martin Sebor committed
    • re PR rtl-optimization/91223 (ICE: in curr_insn_transform, at lra-constraints.c:4459) · 9f41de41
      2019-07-25  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/91223
      	* lra-constraints.c (process_alt_operands): Fail for unsuccessful
      	matching with INOUT operand.
      
      2019-07-25  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/91223
      	* gcc.target/i386/pr91223.c: New test.
      
      From-SVN: r273810
      Vladimir Makarov committed
    • [Darwin, testsuite] Address PR91087 - XFAIL parts of pr16855.C. · 7649f2e4
      The testcase is failing to instrument part of the source because of a bug
      in the ordering of static DTORs.  It seems unlikely that this is generically
      fixable in the toolchain (and given that it's likely to be a dynamic loader
      change would not be expected to be applied retrospectively to OS versions
      that are out of support).  To avoid the testsuite noise, xfail the count lines
      that don't match (we can adjust the xfails as/when the upstream bug is fixed).
      
      dejagnu xfails do not seem to work when embedded in a line like:
        ~Test (void) { .... /* count(1) { xfail ... } */ }
      the closing brace seems to confuse the parser.  The solution is to exapnd the
      text onto three lines.
      
      2019-07-25  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR gcov-profile/91087
      	* g++.dg/gcov/pr16855.C: Xfail the count lines for the DTORs and the
      	"final" line for the failure summaries.  Adjust source layout so that
      	dejagnu xfail expressions work.
      
      From-SVN: r273809
      Iain Sandoe committed
    • re PR fortran/65819 (overzealous checking in gfc_check_dependency for identical=true) · 40e1ed26
      2019-07-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/65819
      	* dependency.h (gfc_dep_resovler): Add optional argument identical.
      	* dependency.c (gfc_check_dependency): Do not alway return 1 if
      	the symbol is the same. Pass on identical to gfc_dep_resolver.
      	(gfc_check_element_vs_element): Whitespace fix.
      	(gfc_dep_resolver): Adjust comment for function.  If identical is
      	true, return 1 if any overlap has been found.
      
      2019-07-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/65819
      	* gfortran.dg/dependency_54.f90: New test.
      
      From-SVN: r273807
      Thomas Koenig committed
    • stmt.c (expand_case): Try to narrow the index type if it's larger than a word. · 0dfa7ba1
      	* stmt.c (expand_case): Try to narrow the index type if it's larger
      	than a word.  Tidy up.
      
      From-SVN: r273805
      Eric Botcazou committed
    • cif-code.def (NEVER_CALL): New code. · 5ab2422a
      	* cif-code.def (NEVER_CALL): New code.
      	* ipa-inline.c (want_inline_small_function_p): Fix formatting issues.
      	Set the failure to CIF_NEVER_CALL if the IPA count is zero.
      
      From-SVN: r273804
      Eric Botcazou committed
    • Fix low reg issue in Thumb-2 movsi patterns · 75088696
      The Thumb-2 movsi patterns try to prefer low registers for loads and stores.
      However this is done incorrectly by using 2 separate variants with 'l' and 'h'
      register classes.  The register allocator will only use low registers, and
      as a result we end up with significantly more spills and moves to high
      registers.  Fix this by merging the alternatives and use 'l*r' to indicate
      preference for low registers.  This saves ~400 instructions from the pr77308
      testcase.
      
          gcc/
      	* config/arm/thumb2.md (thumb2_movsi_insn): Fix load/store low reg.
      	* config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
      
      From-SVN: r273802
      Wilco Dijkstra committed
    • * ipa-devirt.c (add_type_duplicate): Fix return value. · 2fc233b7
      From-SVN: r273800
      Jan Hubicka committed
    • tree-vrp.c (extract_range_from_multiplicative_op): Add type parameter and use it… · e2cfa983
      tree-vrp.c (extract_range_from_multiplicative_op): Add type parameter and use it instead of guessing expression type from the...
      
      2019-07-25  Richard Biener  <rguenther@suse.de>
      
      	* tree-vrp.c (extract_range_from_multiplicative_op): Add
      	type parameter and use it instead of guessing expression
      	type from the first operand.
      	(extract_range_from_binary_expr): Pass expr_type down.
      
      From-SVN: r273797
      Richard Biener committed
    • [arm][committed] Clean up code iterator usage in satsi* patterns · c9357dc1
      
      GCC 10 now supports having RTL codes being code attributes (thanks
      Richard) allowing us to map smax to smin and vice versa.
      This means we can clean up their use in the saturation patterns that do
      the cross product of [smin, smax] and use the pattern
      predicate to cancel out the nonsense ones.
      
      	* config/arm/arm.md (SATrev): Change to code attribute.
      	(*satsi_<SAT:code>): Adjust for the above.
      	(*satsi_<SAT:code>_shift): Likewise.
      
      From-SVN: r273796
      Kyrylo Tkachov committed
    • gimple-loop-versioning.cc (loop_versioning::prune_loop_conditions): Make… · 0982acbe
      gimple-loop-versioning.cc (loop_versioning::prune_loop_conditions): Make value_range * temporary const.
      
      2019-07-25  Richard Biener  <rguenther@suse.de>
      
      	* gimple-loop-versioning.cc (loop_versioning::prune_loop_conditions):
      	Make value_range * temporary const.
      	* gimple-ssa-evrp-analyze.c (evrp_range_analyzer::try_find_new_range):
      	Likewise.
      	(evrp_range_analyzer::record_ranges_from_): Likewise.
      	(evrp_range_analyzer::pop_value_range): Return a const value_range *,
      	deal with having recorded a const one.
      	* gimple-ssa-evrp-analyze.h (evrp_range_analyzer::get_value_range):
      	Return a const value_range *.
      	(evrp_range_analyzer::pop_value_range): Likewise.
      	(evrp_range_analyzer::stack): Record const value_range *s.
      	* gimple-ssa-evrp.c (evrp_dom_walker::before_dom_children):
      	Adjust.
      	* gimple-ssa-sprintf.c (get_int_range): Likewise.
      	(format_integer): Likewise.
      	(sprintf_dom_walker::handle_gimple_call): Likewise.
      	* tree-ssa-dom.c (simplify_stmt_for_jump_threading): Likewise.
      	* tree-vrp.c (vrp_prop::set_def_to_varying): Add.
      	(vrp_prop::get_value_range): Adjust.
      	(vrp_prop::vrp_initialize): Use set_def_to_varying instead of
      	modifying the lattice in-place.
      	(vrp_prop::visit_stmt): Likewise.
      	* vr-values.c (vr_values::get_lattice_entry): New private method.
      	(vr_values::get_value_range): Wrap it and return a const
      	value_range *.
      	(vr_values::set_def_to_varying): New.
      	(vr_values::set_defs_to_varying): Use it.
      	(vr_values::update_value_range): Likewise.
      	(vr_values::vrp_stmt_computes_nonzero): Adjust.
      	(values::op_with_constant_singleton_va): Likewise.
      	(vr_values::extract_range_for_var_from_co): Likewise.
      	(vr_values::extract_range_from_ssa_name): Likewise.
      	(vr_values::extract_range_from_cond_expr): Likewise.
      	(vr_values::extract_range_basic): Likewise.
      	(compare_ranges): Take const value_range *, adjust.
      	(compare_range_with_value): Likewise.
      	(vrp_valueize): Adjust.
      	(vrp_valueize_1): Likewise.
      	(vr_values::get_vr_for_comparison): Return a const value_range *.
      	(vr_values::compare_name_with_value): Adjust.
      	(vr_values::compare_names): Likewise.
      	(vr_values::vrp_evaluate_conditional_warnv_with_ops_using_ranges):
      	Likewise.
      	(vr_values::vrp_evaluate_conditional): Likewise.
      	(find_case_label_ranges): Take a const value_range *.
      	(vr_values::vrp_visit_switch_stmt): Adjust.
      	(vr_values::extract_range_from_phi_node): Likewise.
      	(vr_values::simplify_div_or_mod_using_ran): Likewise.
      	(vr_values::simplify_abs_using_ranges): Likewise.
      	(test_for_singularity): Take a const value_range *.
      	(range_fits_type_p): Likewise.
      	(vr_values::simplify_cond_using_ranges_1): Adjust.
      	(vr_values::simplify_cond_using_ranges_2): Likewise.
      	(vr_values::simplify_switch_using_ranges): Likewise.
      	(vr_values::simplify_float_conversion_usi): Likewise.
      	(vr_values::two_valued_val_range_p): Likewise.
      	* vr-values.h (vr_values::get_value_range): Return a const
      	value_range *.
      	(vr_values::set_def_to_varying): New.
      	(vr_values::get_lattice_entry): New private method.
      	(vr_values::get_vr_for_comparison): Return a const value_range *.
      
      From-SVN: r273792
      Richard Biener committed
    • Extend DCE to remove unnecessary new/delete-pairs (PR c++/23383). · 6343b6bf
      2019-07-25  Martin Liska  <mliska@suse.cz>
      	    Dominik Infuhr  <dominik.infuehr@theobroma-systems.com>
      
      	PR c++/23383
      	* common.opt: Add -fallocation-dce
      	* gimple.c (gimple_call_operator_delete_p): New.
      	* gimple.h (gimple_call_operator_delete_p): Likewise.
      	* tree-core.h (enum function_decl_type): Add OPERATOR_DELETE.
      	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Handle
      	DECL_IS_OPERATOR_DELETE_P.
      	(mark_all_reaching_defs_necessary_1): Likewise.
      	(propagate_necessity): Likewise.
      	(eliminate_unnecessary_stmts): Handle
      	gimple_call_operator_delete_p.
      	* tree-streamer-in.c (unpack_ts_function_decl_value_fields):
      	Add packing of OPERATOR_DELETE.
      	* tree-streamer-out.c (pack_ts_function_decl_value_fields):
      	Similarly here.
      	* tree.h (DECL_IS_OPERATOR_DELETE_P): New.
      	(DECL_SET_IS_OPERATOR_DELETE): New.
      	(DECL_IS_REPLACEABLE_OPERATOR_NEW_P): Likewise.
      2019-07-25  Martin Liska  <mliska@suse.cz>
      	    Dominik Infuhr  <dominik.infuehr@theobroma-systems.com>
      
      	PR c++/23383
      	* c-decl.c (merge_decls): Merge OPERATOR_DELETE flag.
      2019-07-25  Martin Liska  <mliska@suse.cz>
      	    Dominik Infuhr  <dominik.infuehr@theobroma-systems.com>
      
      	PR c++/23383
      	* decl.c (cxx_init_decl_processing): Mark delete operators
      	with DECL_SET_IS_OPERATOR_DELETE.
      2019-07-25  Martin Liska  <mliska@suse.cz
      	    Dominik Infuhr  <dominik.infuehr@theobroma-systems.com>
      
      	PR c++/23383
      	* g++.dg/cpp1y/new1.C: New test.
      2019-07-25  Martin Liska  <mliska@suse.cz>
      	    Dominik Infuhr  <dominik.infuehr@theobroma-systems.com>
      
      	PR c++/23383
      	* testsuite/ext/bitmap_allocator/check_delete.cc: Add
      	-fno-allocation-dce.
      	* testsuite/ext/bitmap_allocator/check_new.cc: Likewise.
      	* testsuite/ext/new_allocator/check_delete.cc: Likewise.
      	* testsuite/ext/new_allocator/check_new.cc: Likewise.
      
      Co-Authored-By: Dominik Infuehr <dominik.infuehr@theobroma-systems.com>
      
      From-SVN: r273791
      Martin Liska committed
    • Come up with function_decl_type and use it in tree_function_decl. · cb50701e
      2019-07-25  Martin Liska  <mliska@suse.cz>
      
      	* calls.c (maybe_warn_alloc_args_overflow): Use new macros
      	(e.g. DECL_SET_LAMBDA_FUNCTION and DECL_LAMBDA_FUNCTION_P).
      	* coverage.c (coverage_begin_function): Likewise.
      	* fold-const.c (tree_expr_nonzero_warnv_p): Likewise.
      	* gimple.c (gimple_call_nonnull_result_p): Likewise.
      	* ipa-icf.c (sem_item::compare_referenced_symbol_properties): Likewise.
      	(sem_item::hash_referenced_symbol_properties): Likewise.
      	* lto-streamer-out.c (hash_tree): Likewise.
      	* predict.c (expr_expected_value_1): Likewise.
      	* tree-inline.c (expand_call_inline): Likewise.
      	* tree-streamer-in.c (unpack_ts_function_decl_value_fields): Likewise.
      	* tree-streamer-out.c (pack_ts_function_decl_value_fields): Likewise.
      	* tree-core.h (enum function_decl_type): New enum.
      	(struct tree_function_decl): Remove operator_new_flag and lambda_function.
      	* tree.h (FUNCTION_DECL_DECL_TYPE): New.
      	(set_function_decl_type): Likewise.
      	(DECL_IS_OPERATOR_NEW_P): New.
      	(DECL_SET_IS_OPERATOR_NEW): Likewise.
      	(DECL_LAMBDA_FUNCTION): Likewise.
      	(DECL_LAMBDA_FUNCTION_P): Likewise.
      	(DECL_IS_OPERATOR_NEW): Remove.
      	(DECL_SET_LAMBDA_FUNCTION): Likewise.
      2019-07-25  Martin Liska  <mliska@suse.cz>
      
      	* c-decl.c (merge_decls): Use new macros
      	(e.g. DECL_SET_LAMBDA_FUNCTION and DECL_LAMBDA_FUNCTION_P).
      2019-07-25  Martin Liska  <mliska@suse.cz>
      
      	* decl.c (duplicate_decls): Use new macros
      	(e.g. DECL_SET_LAMBDA_FUNCTION and DECL_LAMBDA_FUNCTION_P).
      	(cxx_init_decl_processing): Likewise.
      	(grok_op_properties): Likewise.
      	* parser.c (cp_parser_lambda_declarator_opt): Likewise.
      2019-07-25  Martin Liska  <mliska@suse.cz>
      
      	* lto-common.c (compare_tree_sccs_1): Use new macros
      	(e.g. DECL_SET_LAMBDA_FUNCTION and DECL_LAMBDA_FUNCTION_P).
      
      From-SVN: r273790
      Martin Liska committed
    • Generalize get_most_common_single_value to return n_th value & count · 982b1497
      Currently get_most_common_single_value could only return the max hist
      <value, count>, add sort after reading from disk, then it return nth value
      in later use.  Rename it to get_nth_most_common_value.
      
      gcc/ChangeLog:
      
      2019-07-15  Xiong Hu Luo  <luoxhu@linux.ibm.com>
      
      	* ipa-profile.c (get_most_common_single_value): Use
      	get_nth_most_common_value.
      	* profile.c (sort_hist_value): New function.
      	(compute_value_histograms): Call sort_hist_value to sort the
      	values after loading from disk.
      	* value-prof.c (get_most_common_single_value): Rename to ...
      	get_nth_most_common_value.  Add input params n, return
      	the n_th value and count.
      	(gimple_divmod_fixed_value_transform): Use
      	get_nth_most_common_value.
      	(gimple_ic_transform): Likewise.
      	(gimple_stringops_transform): Likewise.
      	* value-prof.h (get_most_common_single_value): Add input params
      	n, default to 0.
      
      From-SVN: r273789
      Xiong Hu Luo committed
    • re PR testsuite/91245 (gnat.dg/float_value1.adb FAILs) · 25b46fc9
      	PR testsuite/91245
      	* gnat.dg/float_value1.adb: Only run on x86.
      
      From-SVN: r273788
      Eric Botcazou committed
    • re PR tree-optimization/91236 (ICE in walk_non_aliased_vuses at… · 599331c8
      re PR tree-optimization/91236 (ICE in walk_non_aliased_vuses at gcc/tree-ssa-alias.c:3395 on aarch64)
      
      2019-07-25  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/91236
      	* tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): Fix
      	size of CONSTRUCTOR write.  Fix buffer size we pass to
      	native_encode_expr.
      
      From-SVN: r273787
      Richard Biener committed
    • PR tree-optimization/91183 - strlen of a strcpy result with a conditional source not folded · b631bdb3
      PR tree-optimization/91183 - strlen of a strcpy result with a conditional source not folded
      PR tree-optimization/86688 - missing -Wstringop-overflow using a non-string local array in strnlen with excessive bound
      
      gcc/ChangeLog:
      
      	PR tree-optimization/91183
      	PR tree-optimization/86688
      	* builtins.c (compute_objsize): Handle MEM_REF.
      	* tree-ssa-strlen.c (class ssa_name_limit_t): New.
      	(get_min_string_length): Remove.
      	(count_nonzero_bytes): New function.
      	(handle_char_store): Rename...
      	(handle_store): to this.  Handle multibyte stores via integer types.
      	(strlen_check_and_optimize_stmt): Adjust conditional and the called
      	function name.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/91183
      	PR tree-optimization/86688
      	* gcc.dg/Wstringop-overflow-14.c: New test.
      	* gcc.dg/attr-nonstring-2.c: Remove xfails.
      	* gcc.dg/strlenopt-70.c: New test.
      	* gcc.dg/strlenopt-71.c: New test.
      	* gcc.dg/strlenopt-72.c: New test.
      	* gcc.dg/strlenopt-8.c: Remove xfails.
      
      From-SVN: r273783
      Martin Sebor committed
    • Daily bump. · 7214f11d
      From-SVN: r273782
      GCC Administrator committed
  6. 24 Jul, 2019 2 commits