1. 26 Aug, 2019 7 commits
    • Builtin function roundeven folding implementation · 7d7b99f9
      2019-08-26  Tejas Joshi  <tejasjoshi9673@gmail.com>
      
              * builtins.c (mathfn_built_in_2): Added CASE_MATHFN_FLOATN
              for ROUNDEVEN.
              * builtins.def: Added function definitions for roundeven function
              variants.
              * fold-const-call.c (fold_const_call_ss): Added case for roundeven
              function call.  Adjust condition for floor, ceil, trunc and round.
              * fold-const.c (negate_mathfn_p): Added case for roundeven function.
              (tree_call_nonnegative_warnv_p): Added case for roundeven function.
              (integer_valued_real_call_p): Added case for roundeven function.
              * real.c (is_even): New function. Returns true if real number is even,
              otherwise returns false.
              (is_halfway_below): New function. Returns true if real number is
              halfway between two integers, else return false.
              (real_roundeven): New function. Round real number to nearest integer,
              rounding halfway cases towards even.
              * real.h (real_value): Added descriptive comments.  Added function
              declaration for roundeven function.
              * doc/extend.texi (Other Builtins): List roundeven variants among
              functions which can be handled as builtins.
      
      gcc/testsuite/ChangeLog:
      
      2019-08-26  Tejas Joshi  <tejasjoshi9673@gmail.com>
      
              * gcc.dg/torture/builtin-round-roundeven.c: New test.
              * gcc.dg/torture/builtin-round-roundevenf128.c: New test.
      
      From-SVN: r274927
      Tejas Joshi committed
    • re PR target/91522 (STV is slow) · 48a31a09
      2019-08-26  Richard Biener  <rguenther@suse.de>
      
      	PR target/91522
      	PR target/91527
      	* config/i386/i386-features.h (general_scalar_chain::defs_map):
      	New member.
      	(general_scalar_chain::replace_with_subreg): Remove.
      	(general_scalar_chain::replace_with_subreg_in_insn): Likewise.
      	(general_scalar_chain::convert_reg): Adjust signature.
      	* config/i386/i386-features.c (scalar_chain::add_insn): Do not
      	iterate over all defs of a reg.
      	(general_scalar_chain::replace_with_subreg): Remove.
      	(general_scalar_chain::replace_with_subreg_in_insn): Likewise.
      	(general_scalar_chain::make_vector_copies): Populate defs_map,
      	place copy only after defs that are used as vectors in the chain.
      	(general_scalar_chain::convert_reg): Emit a copy for a specific
      	def in a specific instruction.
      	(general_scalar_chain::convert_op): All reg uses are converted here.
      	(general_scalar_chain::convert_insn): Emit copies for scalar
      	uses of defs here.  Replace uses with the copies we created.
      	Replace and convert the def.  Adjust REG_DEAD notes, remove
      	REG_EQUIV/EQUAL notes.
      	(general_scalar_chain::convert_registers): Only handle copies
      	into the chain here.
      
      From-SVN: r274926
      Richard Biener committed
    • [PATCH 2/2] Add simplify rule for wrapped addition. · df7d46d9
      Add the transform (T)(A) + CST -> (T)(A + CST).  This enables vrp to
      simplify sequences like
      
      _2 = a_7 - 1;
      _3 = (long unsigned int) _2;
      _5 = _3 + 1
      
      that ivopts creates.
      
      --
      
      gcc/ChangeLog:
      
      2019-08-26  Robin Dapp  <rdapp@linux.ibm.com>
      
              * match.pd: Add (T)(A) + CST -> (T)(A + CST).
      
      gcc/testsuite/ChangeLog:
      
      2019-08-26  Robin Dapp  <rdapp@linux.ibm.com>
      
              * gcc.dg/tree-ssa/copy-headers-5.c: Do not run vrp pass.
              * gcc.dg/tree-ssa/copy-headers-7.c: Do not run vrp pass.
              * gcc.dg/tree-ssa/loop-15.c: Remove XFAIL.
              * gcc.dg/tree-ssa/pr23744.c: Change search pattern.
              * gcc.dg/wrapped-binop-simplify.c: New test.
      
      From-SVN: r274925
      Robin Dapp committed
    • [PATCH 1/2] Allow folding all statements. · e944354e
      This patch allows users of the substitute_and_fold_engine to
      enable folding all statements.  It is now enabled for VRP which
      is needed for the match.pd pattern in patch 2/2.
      
      The loop versioning pass was missing one case when
      deconstructing addresses that would only be triggered after
      this patch for me:
      It could handle addition and subsequent convert/nop but not
      a convert/nop directly.  This would cause the hash to be
      calculated differently and, in turn, cause the pass to miss
      a versioning opportunity.  Fixed this by adding the missing
      case.
      
      --
      
      gcc/ChangeLog:
      
      2019-08-26  Robin Dapp  <rdapp@linux.ibm.com>
      
              * gimple-loop-versioning.cc (loop_versioning::record_address_fragment):
              Add nop_convert case.
              * tree-ssa-propagate.c (substitute_and_fold_dom_walker::before_dom_children):
              Fold all statements if requested.
              * tree-ssa-propagate.h (class substitute_and_fold_engine):
              Allow to fold all statements.
              * tree-vrp.c (class vrp_folder):
              Let substitute_and_fold_engine fold all statements.
      
      From-SVN: r274923
      Robin Dapp committed
    • re PR c/91526 (Unnecessary SSE and other instructions generated when compiling… · bf05a3bb
      re PR c/91526 (Unnecessary SSE and other instructions generated when compiling in C mode (vs. C++ mode))
      
      2019-08-26  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/91526
      	* passes.def: Note that after late FRE we do TODO_update_address_taken.
      	* tree-ssa-sccvn.c (pass_fre::execute): In late mode schedule
      	TODO_update_address_taken.
      
      From-SVN: r274922
      Richard Biener committed
    • RISC-V: Add testcase for testing li pseudo instruction · 20e7012b
      gcc/testsuite/ChangeLog:
      
      	gcc.target/riscv/li.c: New test.
      
      From-SVN: r274920
      Kito Cheng committed
    • Daily bump. · 900af77f
      From-SVN: r274919
      GCC Administrator committed
  2. 25 Aug, 2019 2 commits
  3. 24 Aug, 2019 4 commits
    • [C++ PATCH] vfunc overrider simplification · 6dfc1e1f
      https://gcc.gnu.org/ml/gcc-patches/2019-08/msg01674.html
      	cp/
      	* class.c (check_for_overrides): Conversion operators need
      	checking too.
      
      	testsuite/
      	* g++.dg/inherit/virtual14.C: New.
      
      From-SVN: r274903
      Nathan Sidwell committed
    • re PR fortran/91390 (treatment of extra parameter in a subroutine call) · e68a35ae
      2019-08-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/91390
      	PR fortran/91519
      	* frontend-passes.c (check_externals_procedure): New
      	function. If a procedure is not in the translation unit, create
      	an "interface" for it, including its formal arguments.
      	(check_externals_code): Use check_externals_procedure for common
      	code with check_externals_expr.
      	(check_externals_expr): Vice versa.
      	* gfortran.h (gfc_get_formal_from_actual-arglist): New prototype.
      	(gfc_compare_actual_formal): New prototype.
      	* interface.c (compare_actual_formal): Rename to
      	(gfc_compare_actual_formal): New function, make global.
      	(gfc_get_formal_from_actual_arglist): Make global, and move here from
      	* trans-types.c (get_formal_from_actual_arglist): Remove here.
      	(gfc_get_function_type): Use gfc_get_formal_from_actual_arglist.
      
      2019-08-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/91390
      	PR fortran/91519
      	* gfortran.dg/bessel_3.f90: Add type mismatch errors.
      	* gfortran.dg/coarray_7.f90: Rename subroutines to avoid
      	additional errors.
      	* gfortran.dg/g77/20010519-1.f: Add -std=legacy. Remove
      	warnings for ASSIGN. Add warnings for type mismatch.
      	* gfortran.dg/goacc/acc_on_device-1.f95: Add -std=legacy.
      	Add catch-all warning.
      	* gfortran.dg/internal_pack_9.f90: Rename subroutine to
      	avoid type error.
      	* gfortran.dg/internal_pack_9.f90: Add -std=legacy. Add
      	warnings for type mismatch.
      	* gfortran.dg/pr39937.f: Add -std=legacy and type warnings. Move
      	here from
      	* gfortran.fortran-torture/compile/pr39937.f: Move to
      	gfortran.dg.
      
      From-SVN: r274902
      Thomas Koenig committed
    • semantics.c (finish_switch_cond): Improve error message location. · c6ca0e3e
      /cp
      2019-08-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* semantics.c (finish_switch_cond): Improve error message location.
      
      /testsuite
      2019-08-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/conversion/simd4.C: Test all the locations.
      
      From-SVN: r274901
      Paolo Carlini committed
    • Daily bump. · 22b23ef2
      From-SVN: r274898
      GCC Administrator committed
  4. 23 Aug, 2019 25 commits
    • Fix handling of namespace-scope undeduced auto decls. · 5b93b053
      	* decl2.c (decl_dependent_p): New.
      	(mark_used): Check it instead of just processing_template_decl.
      
      From-SVN: r274894
      Jason Merrill committed
    • PR c++/91521 - wrong error with operator->. · 9bf6c63d
      	* decl.c (grokdeclarator): Return error_mark_node for an invalid
      	trailing return type.
      
      	* g++.dg/parse/operator8.C: New test.
      
      From-SVN: r274891
      Marek Polacek committed
    • compiler: record pointer var values to remove write barriers · 6ae361ae
          
          Record when a local pointer variable is set to a value such that
          indirecting through the pointer does not require a write barrier.  Use
          that to eliminate write barriers when indirecting through that local
          pointer variable.  Only keep this information per-block, so it's not
          all that applicable.
          
          This reduces the number of write barriers generated when compiling the
          runtime package from 553 to 524.
          
          The point of this is to eliminate a bad write barrier in the bytes
          function in runtime/print.go.  Mark that function nowritebarrier so
          that the problem does not recur.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/191581
      
      From-SVN: r274890
      Ian Lance Taylor committed
    • rs6000: New darn testcase (PR91481) · 457dac40
      We used to implement darn with unspecs, not unspec_volatiles, which
      means two darn instructions could be CSEd together.
      
      This testcase tests it by adding together four random numbers.  If all
      is well that means we get four darn instructions, because such a small
      loop is unrolled fine at -O2 already.  If things go bad, combine will
      combine it all to one darn and a shift left by two.
      
      
      gcc/testsuite/
      	PR target/91481
      	* gcc.target/powerpc/darn-3.c: New testcase.
      
      From-SVN: r274889
      Segher Boessenkool committed
    • PR c++/79817 - attribute deprecated on namespace. · 5857042a
      	* cp-tree.h (cp_warn_deprecated_use_scopes): Declare.
      	* decl.c (grokdeclarator): Call cp_warn_deprecated_use_scopes.
      	(type_is_deprecated): Likewise.
      	* decl2.c (cp_warn_deprecated_use_scopes): New function.
      	* name-lookup.c (handle_namespace_attrs): Handle attribute deprecated.
      	* parser.c (cp_parser_namespace_alias_definition): Call
      	cp_warn_deprecated_use_scopes.
      	(cp_parser_using_declaration): Likewise.
      	(cp_parser_using_directive): Likewise.
      	* semantics.c (finish_id_expression_1): Likewise.
      
      	* g++.dg/cpp0x/attributes-namespace1.C: New test.
      	* g++.dg/cpp0x/attributes-namespace2.C: New test.
      	* g++.dg/cpp0x/attributes-namespace3.C: New test.
      	* g++.dg/cpp0x/attributes-namespace4.C: New test.
      	* g++.dg/cpp0x/attributes-namespace5.C: New test.
      	* g++.dg/cpp1z/namespace-attribs.C: Adjust.
      	* g++.dg/cpp1z/namespace-attribs2.C: Adjust.
      
      From-SVN: r274888
      Marek Polacek committed
    • Makefile.tpl (HOST_EXPORTS): Add CXX_FOR_BUILD. · d0fc6e9f
      	* Makefile.tpl (HOST_EXPORTS): Add CXX_FOR_BUILD.
      	* Makefile.in: Regenerate.
      
      From-SVN: r274887
      Michael Forney committed
    • Fix libstdc++ lstat missing return type for Windows target. · 4872de4a
      Building for i686-mingw32 target (with some local changes) produced an
      error
      
      error: ISO C++ forbids declaration of 'lstat' with no type [-fpermissive]
      
      in libstdc++-v3/src/filesystem/ops-common.h.  This patch adds the
      missing return type.  OK to commit (trunk and GCC 9 branch)?
      
      Note 1: I haven't run the testsuite with this patch, but it fixes the
      build failure I see (in sources with other local changes).
      
      Note 2: I don't know why this hasn't produced build failures for other
      people, but the missing return type looks wrong in any case even if
      other local changes are for some reason needed for it to produce an
      error.
      
      	* src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
      	(std::filesystem::__gnu_posix::lstat): Add return type.
      
      From-SVN: r274885
      Joseph Myers committed
    • * zh_CN.po: Update. · a0fae476
      From-SVN: r274868
      Joseph Myers committed
    • [C++ PATCH] vfunc overrider simplification · 5f9f1ffe
      https://gcc.gnu.org/ml/gcc-patches/2019-08/msg01674.html
      	* class.c (check_for_override): Checking IDENTIFIER_VIRTUAL_P is
      	sufficient, reorder DECL_OVERRIDE_P check.
      
      From-SVN: r274867
      Nathan Sidwell committed
    • mips.md (mips_get_fcsr, [...]): Use SI machine mode for unspec_volatile operand. · 7d35d2bf
              * config/mips/mips.md (mips_get_fcsr, *mips_get_fcsr): Use SI
              machine mode for unspec_volatile operand.
      
              * gcc.target/mips/get-fcsr-3.c: New test.
      
      From-SVN: r274863
      Mihailo Stojanovic committed
    • pr78973.c: Make functions static to avoid failures with -fpic · 0448240b
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/pr78973.c: Make functions static to avoid failures
      	with -fpic
      	* gcc.dg/pr78973-2.c: Same.
      
      From-SVN: r274860
      Martin Sebor committed
    • Warray-bounds-36.c: Make functions static to avoid failures with -fpic. · 8e7803e8
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/Warray-bounds-36.c: Make functions static to avoid failures
      	with -fpic.
      	* gcc.dg/Warray-bounds-41.c: Same.
      
      From-SVN: r274859
      Martin Sebor committed
    • [ARM] Deprecate -mneon-for-64bits · bf1a58e9
      Deprecate -mneon-for-64bits since it no longer has any effect after
      the DImode codegen improvements.
      
          gcc/
      	* gcc/doc/invoke.texi (mneon-for-64bits): Deprecate option.
      	* gcc/config/arm/arm.opt (mneon-for-64bits): Deprecate option.
      	* gcc/config/arm/arm.h (TARGET_PREFER_NEON_64BITS): Remove.
      	(prefer_neon_for_64bits): Remove.
      	* gcc/config/arm/arm.c (prefer_neon_for_64bits): Remove.
      	(tune_params): Remove PREF_NEON_64_FALSE uses.
      	(arm_option_override): Remove prefer_neon selection code.
      	(arm_print_tune_info): Remove prefer_neon_for_64bits.
      	* gcc/config/arm/arm-protos.h (tune_params): Remove
      	prefer_neon_for_64bits.
      	(prefer_neon_for_64bits): Remove.
      
      From-SVN: r274858
      Wilco Dijkstra committed
    • PDF Layout · 35a114da
      Prevent lines overlapping the right hand margin, this occurred for
      references in the "See also:" section, it is prevented by placing
      references on their own lines. Two example programs overlapped the
      right hand margin: fixed by adjusting the position and of the comments.
      Some tables had overlapping colums: the column widths were adjusted
      accordingly.
      
      From-SVN: r274857
      Mark Eggleston committed
    • [PATCH, c-family] Fix a PCH thinko (and thus PR61250). · 22f8849d
      When we are parsing a source file, the very first token might
      be a PRAGMA_GCC_PCH_PREPROCESS.  This indicates that we are going
      read in a PCH file (named as the value of the pragma).  If we don't
      see this pragma, then we know that it's OK to release any resources
      that the host might have set aside for the PCH file.
      
      This fixes a thinko in the current implementation, in that the decision
      to release resources was happening unconditionally right after the first
      token is extracted but before it's been checked or acted upon.
      
      This leads to the pch bug (seen on Darwin), because we actually do release
      resources - which are subsequently (reasonably) assumed to be available
      when reading a PCH file.  We then get random crashes or hangs depending
      on the interaction between unmmap and malloc.
      
      The bug is present everywhere but doesn't show on (say) Linux, since
      the release of PCH resources is a NOP there.
      
      This effects all the c-family front ends, because they all use c_lex_with_flags ()
      to implement this.
      
      The solution is to check for the PRAGMA_GCC_PCH_PREPROCESS and only call
      c_common_no_more_pch () when that is not the first token.
      
      A secondary effect of the collection is that the name of the PCH file
      can be collected during the ggc_pch_read() reset of state.  Therefore
      we should issue any diagnostic that might name the file before the
      collections are triggered.
      
      
      gcc/c-family/
      
      2019-08-23  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR pch/61250
      	* c-lex.c (c_lex_with_flags):  Don't call
      	c_common_no_more_pch () from here.
      
      gcc/c/
      
      2019-08-23  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR pch/61250
      	* c-parser.c (c_parse_file): Call c_common_no_more_pch ()
      	after determining that the first token is not
      	PRAGMA_GCC_PCH_PREPROCESS.
      
      gcc/cp/
      
      2019-08-23  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR pch/61250
      	* parser.c (cp_parser_initial_pragma): Call c_common_no_more_pch ()
      	after determining that the first token is not
      	PRAGMA_GCC_PCH_PREPROCESS.
      
      gcc/
      
      2019-08-23  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR pch/61250
      	* ggc-page.c (ggc_pch_read): Read the ggc_pch_ondisk structure
      	and issue any diagnostics needed before collecting the pre-PCH
      	state.
      
      From-SVN: r274856
      Iain Sandoe committed
    • re PR middle-end/91283 (gcc.dg/torture/c99-contract-1.c FAILs) · df375b03
      	PR middle-end/91283
      	* common.opt (fexcess-precision=): Add Optimization flag.  Use
      	flag_excess_precision variable instead of
      	flag_excess_precision_cmdline.
      	* flags.h (class target_flag_state): Remove x_flag_excess_precision
      	member.
      	(flag_excess_precision): Don't define.
      	* langhooks.c (lhd_post_options): Set flag_excess_precision instead of
      	flag_excess_precision_cmdline.  Remove comment.
      	* opts.c (set_fast_math_flags): Use frontend_set_flag_excess_precision
      	and x_flag_excess_precision instead of
      	frontend_set_flag_excess_precision_cmdline and
      	x_flag_excess_precision_cmdline.
      	(fast_math_flags_set_p): Use x_flag_excess_precision instead of
      	x_flag_excess_precision_cmdline.
      	* toplev.c (init_excess_precision): Remove.
      	(lang_dependent_init_target): Don't call it.
      ada/
      	* gcc-interface/misc.c (gnat_post_options): Set flag_excess_precision
      	instead of flag_excess_precision_cmdline.
      brig/
      	* brig-lang.c (brig_langhook_post_options): Set flag_excess_precision
      	instead of flag_excess_precision_cmdline.
      c-family/
      	* c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
      	instead of flag_excess_precision_cmdline.
      	* c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
      	* c-opts.c (c_common_post_options): Likewise.
      d/
      	* d-lang.cc (d_post_options): Set flag_excess_precision instead of
      	flag_excess_precision_cmdline.
      fortran/
      	* options.c (gfc_post_options): Set flag_excess_precision instead of
      	flag_excess_precision_cmdline.  Remove comment.
      go/
      	* go-lang.c (go_langhook_post_options): Set flag_excess_precision
      	instead of flag_excess_precision_cmdline.
      lto/
      	* lto-lang.c (lto_post_options): Set flag_excess_precision instead of
      	flag_excess_precision_cmdline.  Remove comment.
      
      From-SVN: r274850
      Jakub Jelinek committed
    • Make -flto=jobserver parallel again. · 19566bdd
      2019-08-23  Martin Liska  <mliska@suse.cz>
      
      	* lto-wrapper.c (run_gcc): When setting jobserver
      	set also parallel to 1.  This was done so before r273908.
      
      From-SVN: r274849
      Martin Liska committed
    • Intrinsic documentation layout changes. · 3fa7e353
      Documentation of all intrinsics now have their sections in a consistent
      order. Empty sections have been removed. Stray words have been removed.
      Text in a wrong section has been moved.  A missing standard was inserted.
      
      From-SVN: r274848
      Mark Eggleston committed
    • ABS Documentation fix · f3bb4623
      The specific intrinsics ZABS and CDABS return REAL(8) not COMPLEX(8).
      
      From-SVN: r274847
      Mark Eggleston committed
    • re PR target/91306 ([MSP430] libgcc/crtstuff.c: Alignment of frame_dummy… · d16017da
      re PR target/91306 ([MSP430] libgcc/crtstuff.c: Alignment of frame_dummy .init_array entry is too big)
      
      2019-08-23  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	PR target/91306
      	* crtstuff.c (__CTOR_LIST__): Align to the "__alignof__" the array
      	element type, instead of "sizeof" the element type.
      	(__DTOR_LIST__): Likewise.
      	(__TMC_LIST__): Likewise.
      	(__do_global_dtors_aux_fini_array_entry): Likewise.
      	(__frame_dummy_init_array_entry): Likewise.
      	(__CTOR_END__): Likewise.
      	(__DTOR_END__): Likweise.
      	(__FRAME_END__): Likewise.
      	(__TMC_END__): Likewise.
      
      From-SVN: r274846
      Jozef Lawrynowicz committed
    • [Arm] Add support for missing CPUs · a50f4236
      This patch adds '-mcpu' options for following CPUs:
      Cortex-M35P, Cortex-A77, Cortex-A76AE.
      
      Related specifications are as following:
      https://developer.arm.com/ip-products/processors/cortex-m
      https://developer.arm.com/ip-products/processors/cortex-a
      
      2019-08-23  Dennis Zhang  <dennis.zhang@arm.com>
      
      	* config/arm/arm-cpus.in (cortex-m35p): New entry.
      	(cortex-a76ae): Likewise.
      	(cortex-a77): Likewise
      	* config/arm/arm-tables.opt: Regenerate.
      	* config/arm/arm-tune.md: Likewise.
      	* doc/invoke.texi (ARM Options): Document cortex-m35p, cortx-a76ae,
      	cortex-a77 CPU options.
      
      From-SVN: r274845
      Dennis Zhang committed
    • Clean up value-prof.c a bit. · 1628b2fa
      2019-08-23  Martin Liska  <mliska@suse.cz>
      
      	* profile.c (instrument_values): Do not set
      	0 as last argument.
      	* tree-profile.c (gimple_gen_interval_profiler): Remove
      	last argument.
      	(gimple_gen_pow2_profiler): Likewise.
      	(gimple_gen_topn_values_profiler): Likewise.
      	(gimple_gen_ic_profiler): Likewise.
      	(gimple_gen_time_profiler): Likewise.
      	(gimple_gen_average_profiler): Likewise.
      	(gimple_gen_ior_profiler): Likewise.
      	* value-prof.c (dump_histogram_value): Use default
      	in switch statement instead of HIST_TYPE_MAX.
      	(stream_in_histogram_value): Likewise.
      	(gimple_duplicate_stmt_histograms): Do not
      	use NULL for implicitly set arguments.
      	(gimple_divmod_values_to_profile): Do not use
      	reserve+quick_push.
      	(gimple_indirect_call_to_profile): Likewise.
      	(gimple_find_values_to_profile): Use implicit
      	function call arguments.
      	* value-prof.h (gimple_alloc_histogram_value):
      	Set default values.
      	(gimple_gen_interval_profiler): Remove last argument.
      	(gimple_gen_pow2_profiler): Likewise.
      	(gimple_gen_topn_values_profiler): Likewise.
      	(gimple_gen_ic_profiler): Likewise.
      	(gimple_gen_time_profiler): Likewise.
      	(gimple_gen_average_profiler): Likewise.
      	(gimple_gen_ior_profiler): Likewise.
      
      From-SVN: r274844
      Martin Liska committed
    • Daily bump. · 1783e319
      From-SVN: r274843
      GCC Administrator committed
    • PR c++/91304 - prefix attributes ignored in condition. · ab3dd132
      	* parser.c (cp_parser_condition): Handle prefix attributes.
      
      	* g++.dg/cpp0x/gen-attrs-70.C: New test.
      
      From-SVN: r274839
      Marek Polacek committed
  5. 22 Aug, 2019 2 commits
    • intrinsic.c (add_subroutines): ERRMSG is INTENT(INOUT) in co_broadcast, co_max,… · f99aba15
      intrinsic.c (add_subroutines): ERRMSG is INTENT(INOUT) in co_broadcast, co_max, co_min, co_reduce, and co_sum.
      
      2019-08-22  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* intrinsic.c (add_subroutines): ERRMSG is INTENT(INOUT) in
      	co_broadcast, co_max, co_min, co_reduce, and  co_sum.
      
      From-SVN: r274838
      Steven G. Kargl committed
    • PR middle-end/91490 - bogus argument missing terminating nul warning on strlen… · 14b7950f
      PR middle-end/91490 - bogus argument missing terminating nul warning on strlen of a flexible array member
      
      gcc/c-family/ChangeLog:
      
      	PR middle-end/91490
      	* c-common.c (braced_list_to_string): Add argument and overload.
      	Handle flexible length arrays and unions.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/91490
      	* c-c++-common/Warray-bounds-7.c: New test.
      	* gcc.dg/Warray-bounds-39.c: Expect either -Warray-bounds or
      	-Wstringop-overflow.
      	* gcc.dg/strlenopt-78.c: New test.
      
      gcc/ChangeLog:
      
      	PR middle-end/91490
      	* builtins.c (c_strlen): Rename argument and introduce new local.
      	Set no-warning bit on original argument.
      	* expr.c (string_constant): Pass argument type to fold_ctor_reference.
      	Fold empty and zero constructors into empty strings.
      	* gimple-fold.c (fold_nonarray_ctor_reference): Return a STRING_CST
      	for missing initializers.
      	* tree.c (build_string_literal): Handle optional argument.
      	* tree.h (build_string_literal): Add defaulted argument.
      	* gimple-ssa-warn-restrict.c (maybe_diag_access_bounds): Check
      	no-warning bit on original expression.
      
      From-SVN: r274837
      Martin Sebor committed