1. 12 Dec, 2019 23 commits
  2. 11 Dec, 2019 17 commits
    • opts.c (default_options_table): Move -ftree-loop-distribute-patterns entry from… · afb4cc68
      opts.c (default_options_table): Move -ftree-loop-distribute-patterns entry from -O3 or later section to -O2 or...
      
      	* opts.c (default_options_table): Move -ftree-loop-distribute-patterns
      	entry from -O3 or later section to -O2 or later section.
      	* doc/invoke.texi (-ftree-loop-distribute-patterns): Mention the
      	option is enabled by default at -O2+ rather than just at -O3.
      
      From-SVN: r279267
      Jakub Jelinek committed
    • re PR fortran/92899 ([OpenMP] ICE in gfc_trans_omp_atomic, at fortran/trans-openmp.c:3769) · f8ac7d8f
      	PR fortran/92899
      	* trans-openmp.c (gfc_trans_omp_atomic): For GFC_OMP_ATOMIC_SWAP,
      	do look through conversion on expr2 if any.
      
      	* testsuite/libgomp.fortran/atomic1.f90: New test.
      
      From-SVN: r279266
      Jakub Jelinek committed
    • re PR target/92723 (ICE in expand_shift_1, at expmed.c:2635) · f5c03155
      	PR target/92723
      	* tree-vect-patterns.c (vect_recog_rotate_pattern): If dt is not
      	vect_internal_def, use oprnd1 as is, without trying to cast it.
      	Formatting fix.
      
      	* gcc.dg/vect/pr92723.c: New test.
      
      From-SVN: r279265
      Jakub Jelinek committed
    • configure.ac: Factor out common cases for compare_exclusions. · 4f943869
      2019-12-11  Matthias Klose  <doko@ubuntu.com>
      
              * configure.ac: Factor out common cases for compare_exclusions.
              * configure: Regenerate.
      
      From-SVN: r279250
      Matthias Klose committed
    • builtins.c (compute_objsize): Add an argument and set it to offset into destination. · f7d86b5c
      
      gcc/ChangeLog:
      
      	* builtins.c (compute_objsize): Add an argument and set it to offset
      	into destination.
      	* builtins.h (compute_objsize): Add an argument.
      	* tree-object-size.c (addr_object_size): Add an argument and set it
      	to offset into destination.
      	(compute_builtin_object_size): Same.
      	* tree-object-size.h (compute_builtin_object_size): Add an argument.
      	* tree-ssa-strlen.c (get_addr_stridx): Add an argument and set it
      	to offset into destination.
      	(maybe_warn_overflow): New function.
      	(handle_store): Call maybe_warn_overflow to issue warnings.
      
      gcc/testsuite/ChangeLog:
      
      	* c-c++-common/Wstringop-overflow-2.c: Adjust text of expected messages.
      	* g++.dg/warn/Wstringop-overflow-3.C: Same.
      	* gcc.dg/Wstringop-overflow-17.c: Same.
      
      From-SVN: r279248
      Martin Sebor committed
    • re PR fortran/92897 ([Coarray] ICE in gfc_set_array_spec, at fortran/array.c:864) · c7f5b4ed
      2019-12-11 Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/92897
      	* array.c (gfc_set_array_spec):  Remove invalid assert() triggered
      	by invalid Fortran code.
       
      2019-12-11 Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/92897
      	* gfortran.dg/pr92897.f90: New test.
      
      From-SVN: r279247
      Steven G. Kargl committed
    • MSP430: Add -fno-exceptions multilib · a9046e98
      ChangeLog:
      
      2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* config-ml.in (msp430-*-*): Support --disable-no-exceptions configure
      	flag.
      
      gcc/ChangeLog:
      
      2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* config/msp430/msp430.h (STARTFILE_SPEC) [!fexceptions]: Use
      	crtbegin_no_eh.o if building for the C language.
      	[fno-exceptions]: Use crtbegin_no_eh.o if building for any language
      	except C.
      	(ENDFILE_SPEC) [!fexceptions]: Use crtend_no_eh.o if building for 
      	the C language.
      	[fno-exceptions]: Use crtend_no_eh.o if building for any language
      	except C.
      	* config/msp430/t-msp430: Add -fno-exceptions multilib.
      	* doc/install.texi: Document --disable-no-exceptions multilib configure
      	option.
      	* doc/sourcebuild.texi: Document exceptions_enabled effective target.
      
      gcc/testsuite/ChangeLog:
      
      2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* lib/gcc-dg.exp: Add dg-prune messages for when exception handling is
      	disabled.
      	* lib/target-supports.exp (check_effective_target_exceptions_enabled):
      	New.
      
      libgcc/ChangeLog:
      
      2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* config.host: Add crt{begin,end}_no_eh.o to "extra_parts".
      	* config.host (msp430*-*-elf): Add crt{begin,end}_no_eh.o to
      	"extra_parts".
      
      From-SVN: r279246
      Jozef Lawrynowicz committed
    • Introduce pretty_printer::clone vfunc · 368877a1
      This patch provides a way to clone a pretty_printer.
      
      This is needed so that we can capture text in a label_text and make
      layout decisions based on it, using the policy of global_dc's printer,
      whilst within a call to diagnostic_show_locus.  We can't print with
      the pretty_printer itself within a call to diagnostic_show_locus since
      it has partly-buffered content.
      
      gcc/c-family/ChangeLog:
      	* c-pretty-print.c (c_pretty_printer::clone): New vfunc
      	implementation.
      	* c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
      
      gcc/cp/ChangeLog:
      	* cxx-pretty-print.c (cxx_pretty_printer::clone): New vfunc
      	implementation.
      	* cxx-pretty-print.h (cxx_pretty_printer::clone): New vfunc decl.
      	* error.c (cxx_format_postprocessor::clone): New vfunc.
      
      gcc/ChangeLog:
      	* pretty-print.c (pretty_printer::pretty_printer): New copy-ctor.
      	(pretty_printer::clone): New vfunc implementation.
      	* pretty-print.h (format_postprocessor::clone): New pure vfunc
      	decl.
      	(pretty_printer::pretty_printer): New copy-ctor decl.
      	(pretty_printer::clone): New vfunc decl.
      
      From-SVN: r279244
      David Malcolm committed
    • libgcc: Declare __dso_handle only if DEFAULT_USE_CXA_ATEXIT is true · 34a53788
      2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* crtstuff.c: Declare __dso_handle only if DEFAULT_USE_CXA_ATEXIT is
      	true.
      
      From-SVN: r279243
      Jozef Lawrynowicz committed
    • function-tests.c: expose selftest::make_fndecl for use elsewhere · 0230c897
      This is used by new selftests in the analyzer patch kit.
      
      gcc/ChangeLog:
      	* function-tests.c (selftest::make_fndecl): Make non-static.
      	* selftest.h (selftest::make_fndecl): New decl.
      
      From-SVN: r279242
      David Malcolm committed
    • re PR c++/92869 (C++17 wrongly reports aggregate type as not-aggregate (when… · 34551153
      re PR c++/92869 (C++17 wrongly reports aggregate type as not-aggregate (when explicitly defaulted ctors are added))
      
      	PR c++/92869
      	* class.c (finish_struct): For C++17 and earlier, check
      	type_has_user_provided_or_explicit_constructor rather than
      	TYPE_HAS_USER_CONSTRUCTOR whether to set CLASSTYPE_NON_AGGREGATE.
      
      	* g++.dg/cpp0x/aggr3.C: New test.
      
      From-SVN: r279241
      Jakub Jelinek committed
    • PR c++/92878 - Parenthesized init of aggregates in new-expression. · c20f7e99
      Ville pointed out that our paren init of aggregates doesn't work for
      
        auto a = new A(1, 2, 3);
      
      and I think it should:
      
      A new-expression that creates an object of type T initializes that object
      as follows:
      ...
      -- Otherwise, the new-initializer is interpreted according to the
         initialization rules of [dcl.init] for direct-initialization.
      
      so I think it follows that we should perform dcl.init#17.6.2.2.
      
      This doesn't work with new[]; we have:
        error ("parenthesized initializer in array new");
      
      	* init.c (build_new_1): Handle parenthesized initialization of
      	aggregates in new-expression.
      
      	* g++.dg/cpp2a/paren-init20.C: New test.
      
      From-SVN: r279240
      Marek Polacek committed
    • * g++.dg/cpp0x/initlist-new2.C: Clarify comment. · cc3b6728
      From-SVN: r279239
      Jason Merrill committed
    • PR c++/92105 - decltype(decltype) error cascade. · 7ae01728
      The primary change here is to do the CPP_DECLTYPE replacement even when we
      get an error, so we don't keep trying and giving the same parse error each
      time.  We also commit to the tentative firewall parse more often, leading to
      better diagnostics.
      
      	* parser.c (cp_parser_decltype_expr): Don't tentative_firewall here.
      	(cp_parser_decltype): Do it here.  Remember a non-tentative error.
      
      From-SVN: r279237
      Jason Merrill committed
    • PR c++/57082 - new X{} and private destructor. · 0e5def81
      build_new_1 already passes tf_no_cleanup to build_value_init, but in this
      testcase we end up calling build_value_init by way of
      build_special_member_call, so we need to pass it to that function as well.
      
      	* init.c (build_new_1): Also pass tf_no_cleanup to
      	build_special_member_call.
      
      From-SVN: r279236
      Jason Merrill committed
    • PR c++/92774 - ICE with implicitly deleted operator<=>. · 60e457d9
      Missing error-recovery code.  While I was poking at this I also figured we
      don't need to iterate over the members of a union.
      
      	* method.c (comp_info::~comp_info): Factor out of...
      	(build_comparison_op): Here.  Handle error return from build_new_op.
      
      From-SVN: r279235
      Jason Merrill committed
    • [PR92843] [OpenACC] Fix dynamic reference counting for structured 'REFCOUNT_INFINITY' · d6e8c01c
      	libgomp/
      	PR libgomp/92843
      	* oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
      	reference counting for structured 'REFCOUNT_INFINITY'.  Add some
      	assertions.
      	(goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
      	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
      	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
      	* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
      
      From-SVN: r279234
      Thomas Schwinge committed