1. 15 Jun, 2019 11 commits
    • ieee_4.f90: Un-xfail on i?86-*-freebsd. · 9f0ad06b
      2019-06-15  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* gfortran.dg/ieee/ieee_4.f90: Un-xfail on i?86-*-freebsd.
      
      From-SVN: r272328
      Steven G. Kargl committed
    • [objective-c/c++, testsuite, 3/3] Workaround for PR90709. · 3a24ea26
      Use the CF-CFString.h, F-NS*.h proxy headers where needed in the objective-c++
      testsuite.  Make minor adjustments to tests as required, providing that those
      do not alter the test intent.
      
      2019-06-15  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR objc/90709
      	* obj-c++.dg/proto-lossage-7.mm: Use proxy headers.
      	* obj-c++.dg/strings/const-cfstring-2.mm: Likewise.
      	* obj-c++.dg/strings/const-cfstring-5.mm: Likewise
      	* obj-c++.dg/strings/const-str-12.mm: Likewise.
      	* obj-c++.dg/syntax-error-1.mm: Likewise.
      	* obj-c++.dg/torture/strings/const-cfstring-1.mm: Likewise.
      	* obj-c++.dg/torture/strings/const-str-10.mm: Likewise.
      	* obj-c++.dg/torture/strings/const-str-11.mm: Likewise.
      	* obj-c++.dg/torture/strings/const-str-9.mm: Likewise.
      	* obj-c++.dg/cxx-ivars-3.mm: Skip on later Darwin, where the 10.4 API
      	in no longer supported, also on m64 where there's no meaning to it.
      	* obj-c++.dg/isa-field-1.mm: Suppress unwanted warning, add comment why.
      	* obj-c++.dg/objc-gc-3.mm: Skip for Darwin > 16, the API use is an error
      	there.
      	* obj-c++.dg/qual-types-1.mm: Prune a spurious l64 warning.
      	* obj-c++.dg/stubify-1.mm: Tidy up after better compiler warnings.
      	* obj-c++.dg/stubify-2.mm: Likewise.
      	* obj-c++.dg/try-catch-1.mm: Likewise.
      	* obj-c++.dg/try-catch-3.mm: Likewise.
      
      From-SVN: r272327
      Iain Sandoe committed
    • [objective-c/c++, testsuite, 2/3] Workaround for PR90709. · e3b8c2ae
      Use the CF-CFString.h, F-NS*.h proxy headers where needed in the objective-c
      testsuite.  Make minor adjustments to tests as required, providing that those
      do not alter the test intent.
      
      2019-06-15  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR objc/90709
      	* objc.dg/encode-7-next-64bit.m: Use proxy headers.
      	* objc.dg/image-info.m: Likewise.
      	* objc.dg/method-6.m: Likewise.
      	* objc.dg/no-extra-load.m: Likewise.
      	* objc.dg/objc-foreach-4.m: Likewise.
      	* objc.dg/objc-foreach-5.m: Likewise.
      	* objc.dg/proto-lossage-7.m: Likewise.
      	* objc.dg/strings/const-cfstring-2.m: Likewise.
      	* objc.dg/strings/const-cfstring-5.m: Likewise.
      	* objc.dg/strings/const-str-12b.m: Likewise.
      	* objc.dg/symtab-1.m: Likewise.
      	* objc.dg/torture/strings/const-cfstring-1.m: Likewise.
      	* objc.dg/torture/strings/const-str-10.m: Likewise.
      	* objc.dg/torture/strings/const-str-11.m: Likewise.
      	* objc.dg/torture/strings/const-str-9.m: Likewise.
      	* objc.dg/zero-link-1.m: Likewise.
      	* objc.dg/zero-link-2.m: Likewise.
      	* objc.dg/zero-link-3.m: Likewise.
      	* objc.dg/isa-field-1.m: Suppress unwanted warning, add comment why.
      	* objc.dg/headers.m: XFAIL for Darwin14-19.
      	* objc.dg/objc-gc-4.m: Skip for Darwin > 16, the API use is an error
      	there.
      
      From-SVN: r272326
      Iain Sandoe committed
    • [objective-c/c++, testsuite, 1/3] Workaround for PR90709. · 0efbd66e
      Since we cannot parse the current NeXT headers, because of PR90709 and its
      dependents, we have a large amount of testsuite noise for Darwin platforms.
      In order to restore the usefulness of the testsuite, we are going add headers
      without the modern syntax elements that trigger the bug, and use these for
      test runs on newer Darwin.
      
      The headers are imported from GNUStep, with some local modifications to make
      sure that __BLOCKS__ is honoured as a gate for Apple-style blocks closures.
      
      CF-CFString.h, F-NS*.h are proxy headers that use the installed CoreFoundation
      or Foundation headers on systems <= Darwin12 and the GNUStep headers for newer.
      
      2019-06-15  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR objc/90709
      	* objc-obj-c++-shared/CF-CFString.h: New.
      	* objc-obj-c++-shared/F-NSArray.h: New.
      	* objc-obj-c++-shared/F-NSAutoreleasePool.h: New.
      	* objc-obj-c++-shared/F-NSObject.h: New.
      	* objc-obj-c++-shared/F-NSString.h: New.
      	* objc-obj-c++-shared/F-NSValue.h: New.
      	* objc-obj-c++-shared/GNUStep/CoreFoundation/CFArray.h: New.
      	* objc-obj-c++-shared/GNUStep/CoreFoundation/CFAvailability.h: New.
      	* objc-obj-c++-shared/GNUStep/CoreFoundation/CFBase.h: New.
      	* objc-obj-c++-shared/GNUStep/CoreFoundation/CFCharacterSet.h: New.
      	* objc-obj-c++-shared/GNUStep/CoreFoundation/CFData.h: New.
      	* objc-obj-c++-shared/GNUStep/CoreFoundation/CFDictionary.h: New.
      	* objc-obj-c++-shared/GNUStep/CoreFoundation/CFLocale.h: New.
      	* objc-obj-c++-shared/GNUStep/CoreFoundation/CFString.h: New.
      	* objc-obj-c++-shared/GNUStep/Foundation/NSArray.h: New.
      	* objc-obj-c++-shared/GNUStep/Foundation/NSAutoreleasePool.h: New.
      	* objc-obj-c++-shared/GNUStep/Foundation/NSDate.h: New.
      	* objc-obj-c++-shared/GNUStep/Foundation/NSEnumerator.h: New.
      	* objc-obj-c++-shared/GNUStep/Foundation/NSGeometry.h: New.
      	* objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h: New.
      	* objc-obj-c++-shared/GNUStep/Foundation/NSObject.h: New.
      	* objc-obj-c++-shared/GNUStep/Foundation/NSRange.h: New.
      	* objc-obj-c++-shared/GNUStep/Foundation/NSString.h: New.
      	* objc-obj-c++-shared/GNUStep/Foundation/NSValue.h: New.
      	* objc-obj-c++-shared/GNUStep/Foundation/NSZone.h: New.
      	* objc-obj-c++-shared/GNUStep/GNUstepBase/GNUstep.h: New.
      	* objc-obj-c++-shared/GNUStep/GNUstepBase/GSBlocks.h: New.
      	* objc-obj-c++-shared/GNUStep/GNUstepBase/GSConfig.h: New.
      	* objc-obj-c++-shared/GNUStep/GNUstepBase/GSObjCRuntime.h: New.
      	* objc-obj-c++-shared/GNUStep/GNUstepBase/GSVersionMacros.h: New.
      	* objc-obj-c++-shared/GNUStep/GNUstepBase/NSArray+GNUstepBase.h: New.
      	* objc-obj-c++-shared/GNUStep/GNUstepBase/NSMutableString+GNUstepBase.h:
      	New.
      	* objc-obj-c++-shared/GNUStep/GNUstepBase/NSNumber+GNUstepBase.h: New.
      	* objc-obj-c++-shared/GNUStep/GNUstepBase/NSObject+GNUstepBase.h: New.
      	* objc-obj-c++-shared/GNUStep/GNUstepBase/NSString+GNUstepBase.h: New.
      
      From-SVN: r272325
      Iain Sandoe committed
    • [nvptx, libgomp] Update pr85381-{2,4}.c test-cases · 00908992
      After the fix for "PR tree-optimization/89713 - Assume loop with an exit is
      finite" ( r272234 ) empty oacc loops are removed before expand.
      
      Update pr85381-{2,4}.c accordingly.
      
      2019-06-15  Tom de Vries  <tdevries@suse.de>
      
      	PR tree-optimization/89713
      	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
      	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
      
      From-SVN: r272324
      Tom de Vries committed
    • i386.md (and<mode>3): Generate zero-extends for TARGET_ZERO_EXTEND_WITH_AND &&... · 9919f5fe
      	* config/i386/i386.md (and<mode>3): Generate zero-extends for
      	TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))
      	only.
      	(*anddi3_doubleword): Split before reload. Merge with
      	anddi->zext pre-reload splitter.
      	(*andndi3_doubleword): Split before reload.
      	(*<code>di3_doubleword): Ditto.
      	(*one_cmpldi2_doubleword): Ditto.
      
      From-SVN: r272323
      Uros Bizjak committed
    • re PR middle-end/90779 (Fortran array initialization in offload regions) · 211b7533
      	PR middle-end/90779
      	* gimplify.c: Include omp-offload.h and context.h.
      	(gimplify_bind_expr): Add "omp declare target" attributes
      	to static block scope variables inside of target region or target
      	functions.
      
      	* c-c++-common/goacc/routine-5.c (func2): Don't expect error for
      	static block scope variable in #pragma acc routine.
      
      	* testsuite/libgomp.c/pr90779.c: New test.
      	* testsuite/libgomp.fortran/pr90779.f90: New test.
      
      From-SVN: r272322
      Jakub Jelinek committed
    • [openacc] Disable pass_thread_jumps for IFN_UNIQUE · 120a01d1
      If we compile the openacc testcase with -fopenacc -O2, we run into a SIGSEGV
      or assert.  The root cause for this is that pass_thread_jumps breaks the
      invariant that OACC_FORK and OACC_JOIN mark the start and end of a
      single-entry-single-exit region.
      
      Fix this by bailing out when encountering an IFN_UNIQUE in
      thread_jumps::profitable_jump_thread_path.
      
      Bootstrapped and reg-tested on x86_64.
      Build and reg-tested libgomp on x86_64 with nvptx accelerator.
      
      2019-06-15  Tom de Vries  <tdevries@suse.de>
      
      	PR tree-optimization/90009
      	* tree-ssa-threadbackward.c (thread_jumps::profitable_jump_thread_path):
      	Return NULL if bb contains IFN_UNIQUE.
      
      	* testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
      
      From-SVN: r272321
      Tom de Vries committed
    • arith.c (arith_power): Rework overflow of an integer to an integer exponent. · 2789efe3
      2019-06-14  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* arith.c (arith_power): Rework overflow of an integer to an integer
      	exponent.
      
      2019-06-14  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* gfortran.dg/integer_exponentiation_4.f90: Update test.
      	* gfortran.dg/integer_exponentiation_5.F90: Ditto.
      	* gfortran.dg/no_range_check_1.f90: Ditto.
      
      From-SVN: r272320
      Steven G. Kargl committed
    • rs6000: New iterator CCEITHER · 4e20bd42
      This expands to both CC and CCUNS, it's useful for isel for example.
      
      
      	* config/rs6000/rs6000.md (CCEITHER): New define_mode_iterator.
      	(un): New define_mode_attr.
      	(isel_signed_<mode>, isel_unsigned_<mode>): Delete, merge into ...
      	(isel_<un>signed_<GPR:mode>): ... this.  New define_insn.
      	(isel_reversed_signed_<mode>, isel_reversed_unsigned_<mode>): Delete,
      	merge into ...
      	(isel_reversed_<un>signed_<GPR:mode>): ... this.  New define_insn.
      
      From-SVN: r272319
      Segher Boessenkool committed
    • Daily bump. · b2a678af
      From-SVN: r272318
      GCC Administrator committed
  2. 14 Jun, 2019 15 commits
    • re PR fortran/90577 (FAIL: gfortran.dg/lrshift_1.f90 with -O(2|3) and -flto) · d0442491
      2019-06-14  Harald Anlauf  <anlauf@gmx.de>
      
      	PR fortran/90577
      	PR fortran/90578
      	* trans-intrinsic.c (gfc_conv_intrinsic_shift): Properly
      	distinguish logical/arithmetic shifts.
      	* intrinsic.texi: Update documentation for SHIFTR/SHIFTL/SHIFTA
      	(Fortran 2008) and LSHIFT/RSHIFT (GNU extensions).
      
      	PR fortran/90577
      	PR fortran/90578
      	* gfortran.dg/lrshift_1.f90: Adjust testcase.
      	* gfortran.dg/shiftalr_3.f90: New testcase.
      
      From-SVN: r272309
      Harald Anlauf committed
    • Darwin, opts processing - Initial tidy. · a8566e93
      This change adds RejectNegative in a number of places it was needed,
      reorders the opts into two groups (one general and one driver-only).
      We also add a minimal description to each opt, and note some that
      are now obsolete.  The only functional change is to permit
      -mtarget-linker= as an alias of -mtarget-linker.
      
      gcc/
      
      2019-06-14  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/darwin.opt: Add RejectNegative where needed, reorder
      	and add minimal functional descriptions.
      
      From-SVN: r272308
      Iain Sandoe committed
    • re PR fortran/89646 (Spurious actual argument might interfere warning) · 3fa31ee9
      2019-06-14  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/89646
      	* dependency.c (gfc_check_argument_var_dependency): Suppress spurious
      	warnings by comparing variable names.
      
      2019-06-14  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/89646
      	* gfortran.dg/pr89646.f90: New test.
      
      From-SVN: r272307
      Steven G. Kargl committed
    • Update preferred_stack_boundary only when expanding function call · 957ed738
      locate_and_pad_parm is called when expanding function call from
      initialize_argument_information and when generating function body
      from assign_parm_find_entry_rtl:
      
        /* Remember if the outgoing parameter requires extra alignment on the
           calling function side.  */
        if (crtl->stack_alignment_needed < boundary)
          crtl->stack_alignment_needed = boundary;
        if (crtl->preferred_stack_boundary < boundary)
          crtl->preferred_stack_boundary = boundary;
      
      stack_alignment_needed and preferred_stack_boundary should be updated
      only when expanding function call, not when generating function body.
      
      Add update_stack_alignment_for_call to update stack alignment when
      outgoing parameter is passed in the stack.
      
      gcc/
      
      	PR rtl-optimization/90765
      	* calls.c (update_stack_alignment_for_call): New function.
      	(expand_call): Call update_stack_alignment_for_call when
      	outgoing parameter is passed in the stack.
      	(emit_library_call_value_1): Likewise.
      	* function.c (locate_and_pad_parm): Don't update
      	stack_alignment_needed and preferred_stack_boundary.
      
      gcc/testsuite/
      
      	PR rtl-optimization/90765
      	* gcc.target/i386/pr90765-1.c: New test.
      	* gcc.target/i386/pr90765-2.c: Likewise.
      
      From-SVN: r272296
      H.J. Lu committed
    • Use __builtin_mul_overflow in xmallocarray · 84d38abb
      As GCC now provides builtins for doing integer overflow checking, lets
      use it when checking for overflow in xmallocarray.
      
      Regtested on x86_64-pc-linux-gnu.
      
      libgfortran/ChangeLog:
      
      2019-06-14  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* runtime/memory.c (SIZE_MAX):Remove macro definition.
      	(xmallocarray): Use __builtin_mul_overflow.
      
      From-SVN: r272295
      Janne Blomqvist committed
    • i386: Update SSE <-> integer move costs · 66574c53
      Since inline_secondary_memory_needed has
      
        /* ??? This is a lie.  We do have moves between mmx/general, and for
           mmx/sse2.  But by saying we need secondary memory we discourage the
           register allocator from using the mmx registers unless needed.  */
        if (MMX_CLASS_P (class1) != MMX_CLASS_P (class2))
          return true;
      
      moves between MMX and non-MMX units require secondary memory.   There
      is no need to check moves between MMX and integer units.
      
      struct processor_costs has:
      
        const int mmxsse_to_integer;  /* cost of moving mmxsse register to
                                         integer.  */
        const int ssemmx_to_integer;  /* cost of moving integer to mmxsse register. */
      
      This patch also renames mmxsse_to_integer to sse_to_integer and
      ssemmx_to_integer to integer_to_sse.
      
      Tested on Linux/x86-64.
      
      	PR target/90877
      	* config/i386/i386-features.c
      	(dimode_scalar_chain::compute_convert_gain): Replace
      	mmxsse_to_integer with sse_to_integer.
      	* config/i386/i386.c (ix86_register_move_cost): Verify that
      	moves between MMX and non-MMX units require secondary memory.
      	Correct costs of moves between SSE and integer units.
      	* config/i386/i386.h (processor_costs): Rename cost of moving
      	SSE register to integer to sse_to_integer.  Rename cost of
      	moving integer register to SSE to integer_to_sse.
      
      From-SVN: r272294
      Hongtao Liu committed
    • PR c++/90884 - stray note with -Wctor-dtor-privacy. · 9f119e29
      	* class.c (maybe_warn_about_overly_private_class): Guard the call to
      	inform.
      
      	* g++.dg/warn/ctor-dtor-privacy-4.C: New.
      	* g++.dg/warn/ctor-dtor-privacy-4.h: New.
      
      From-SVN: r272291
      Marek Polacek committed
    • [NetBSD] Add support for the Arm EABI. · b27c1082
      This is a roll-up of a set of changes needed to support the Arm EABI on NetBSD.
      
      2019-06-14  Matt Thomas  <matt@3am-software.com>
      	    Matthew Green  <mrg@eterna.com.au>
      	    Nick Hudson  <skrll@netbsd.org>
      	    Maya Rashish  <coypu@sdf.org>
      	    Richard Earnshaw  <rearnsha@arm.com>
      
      gcc:
      
      	* config.gcc (arm*-*-netbsdelf*) Add support for EABI configuration.
      	* config.host (arm*-*-netbsd*): Use driver-arm.o on native NetBSD.
      	* config/arm/netbsd-eabi.h: New file.
      	* config/arm/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Undefine before
      	redefining.
      	(SUBTARGET_EXTRA_ASM_SPEC): Don't pass -matpcs to the assembler.
      	* config/netbsd-elf.h (NETBSD_LINK_LD_ELF_SO_SPEC): New define.
      	(NETBSD_SUBTARGET_EXTRA_SPECS): New define.
      	(SUBTARGET_EXTRA_SPECS): Define to NETBSD_SUBTARGET_EXTRA_SPECS.
      
      libatomic:
      	* configure.tgt (arm*): Handle NetBSD in the same way as FreeBSD.
      
      libgcc:
      	* config.host (arm*-*-netbsdelf*): Add support for EABI configurations.
      	* config/arm/t-netbsd (LIB1ASMFUNCS): Add some additional assembler
      	functions to build.
      	* config/arm/t-netbsd-eabi: New file.
      
      
      Co-Authored-By: Matthew Green <mrg@eterna.com.au>
      Co-Authored-By: Maya Rashish <coypu@sdf.org>
      Co-Authored-By: Nick Hudson <skrll@netbsd.org>
      Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
      
      From-SVN: r272290
      Matt Thomas committed
    • Disable -Wctor-dtor-privacy warnings for some standard types · cc28d234
      	* include/experimental/type_traits (experimental::nonesuch): Use
      	pragma to disable -Wctor-dtor-privacy warnings.
      	* include/std/type_traits (__is_convertible_helper<From, To, false>)
      	(__is_nt_convertible_helper<From, To, false>, __nonesuch): Likewise.
      
      From-SVN: r272289
      Jonathan Wakely committed
    • Add __cpp_lib_bind_front macro to <version> header · c68c4c98
      	* include/std/version (__cpp_lib_bind_front): Add missing macro.
      
      From-SVN: r272288
      Jonathan Wakely committed
    • PR c++/85552 - wrong instantiation of dtor for DMI. · 8a26547b
      The problem here is that when processing direct-initialization of a data
      member, we don't need to worry about destruction semantics; that will be
      handled in the [cd]tor.  Conveniently, we already have tf_no_cleanup from a
      similar fix to new-expressions.
      
      	* typeck2.c (digest_nsdmi_init): Set tf_no_cleanup for direct-init.
      
      From-SVN: r272287
      Jason Merrill committed
    • tree-loop-distribution.c (classify_partition): Return whether a reduction… · e7484357
      tree-loop-distribution.c (classify_partition): Return whether a reduction appeared in all partitions and do not stop builtin...
      
      2019-06-14  Richard Biener  <rguenther@suse.de>
      
      	* tree-loop-distribution.c (classify_partition): Return
      	whether a reduction appeared in all partitions and do not
      	stop builtin detection because of this.
      	(distribute_loop): Sort a non-builtin partition last if
      	there's a reduction in all partitions and make sure the
      	partition prevailing as last is not a builtin.
      
      	* gcc.dg/tree-ssa/ldist-26.c: Adjust.
      
      From-SVN: r272284
      Richard Biener committed
    • re PR ipa/90401 (Missed propagation of by-ref constant argument to callee function) · 46771da5
      PR ipa/90401
      
      gcc/ChangeLog:
      
      	* ipa-prop.c (add_to_agg_contents_list): New function.
      	(clobber_by_agg_contents_list_p): Likewise.
      	(extract_mem_content): Likewise.
      	(get_place_in_agg_contents_list): Delete.
      	(determine_known_aggregate_parts): Renamed from
      	determine_locally_known_aggregate_parts.  New parameter
      	aa_walk_budget_p.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/ipa/ipcp-agg-10.c: New test.
      
      From-SVN: r272282
      Feng Xue committed
    • PR tree-optimization/90662 - strlen of a string in a vla plus offset not folded · bc09939d
      gcc/ChangeLog:
      
      	PR tree-optimization/90662
      	* tree-ssa-strlen.c (get_stridx): Convert fold_build2 operands
      	to the same type.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/90662
      	* gcc.dg/pr90866-2.c: New test.
      	* gcc.dg/pr90866.c: Ditto.
      
      From-SVN: r272281
      Martin Sebor committed
    • Daily bump. · d4b5b8ea
      From-SVN: r272280
      GCC Administrator committed
  3. 13 Jun, 2019 14 commits
    • re PR bootstrap/90873 (-Wmaybe-uninitialized warning in gcc/tree-ssa-forwprop.c… · a873b76f
      re PR bootstrap/90873 (-Wmaybe-uninitialized warning in gcc/tree-ssa-forwprop.c breaks 32-bit bootstrap)
      
      	PR bootstrap/90873
      	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Also check that
      	dbase is not TARGET_MEM_REF.
      
      From-SVN: r272273
      Jan Hubicka committed
    • * ChangeLog: Fix my last entry. · d7a29075
      From-SVN: r272272
      Uros Bizjak committed
    • i386.md (SWIM1248s): Rename from SWIM1248x. · 83bc5e44
      	* config/i386/i386.md (SWIM1248s): Rename from SWIM1248x.
      	Update all uses.
      	(and<mode>3): Use gen_extend_insn instead of indirect functions.
      	Do not generate DImode extends for 32bit targets.
      	(and->zext post-reload splitter): Use gen_extend_insn
      	instead of indirect functions.
      	(anddi->zext pre-reload splitter): New.
      
      	* config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
      	Use gen_sub3_insn instead of indirect function.
      	(ix86_expand_ashl_const): Use gen_add2_insn instead of
      	indirect function.
      	(ix86_adjust_counter): Ditto.
      
      From-SVN: r272270
      Uros Bizjak committed
    • re PR tree-optimization/77820 (A jump threading opportunity with conditionals) · 1d53751d
      	PR tree-optimization/77820
      	* tree-ssa-threadedge.c
      	(edge_forwards_cmp_to_conditional_jump_through_empty_bb_p): New
      	function.
      	(thread_across_edge): Add call to
      	edge_forwards_cmp_to_conditional_jump_through_empty_bb_p.
      
      	PR tree-optimization/77820
      	* gcc.dg/tree-ssa/phi_on_compare-1.c: New testcase.
      	* gcc.dg/tree-ssa/phi_on_compare-2.c: New testcase.
      	* gcc.dg/tree-ssa/phi_on_compare-3.c: New testcase.
      	* gcc.dg/tree-ssa/phi_on_compare-4.c: New testcase.
      	* gcc.dg/tree-ssa/split-path-6.c: Update testcase.
      	* gcc.target/sh/pr51244-20.c: Update testcase.
      
      Co-Authored-By: Lijia He <helijia@linux.ibm.com>
      
      From-SVN: r272261
      Jiufu Guo committed
    • Darwin, Driver - Improve processing of macosx-version-min= · 351ac9c5
      For PR target/63810 some improvements were made in the parsing of
      the version string at the point it's used to define the built-in
      __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__.  This is fine, but the
      specs processing also uses the version, and specs version-compare
      doesn't like leading zeros on components.  This means that while we
      succeed in processing -mmacosx-version-min=010.00002.000099 on compile
      lines, it fails for any other line that uses the value as part of a spec
      (in particular, link lines fail).
      
      To fix this, we need to apply a bit of clean-up to the version that's
      presented to the driver, and push that back into the command line opts.
      
      The value can come from four places:
       1. User-entered on the command line
       2. User-entered as MACOSX_DEPLOYMENT_TARGET= environment var.
       3. Absent those two
         3a For self-hosting systems, look-up from the kernel
         3b For cross-compilers, as a default supplied at configure time.
      
      We apply the clean-up to all 4 (although it shouldn't really be needed
      for the cases under 3).
      
      We also supply a test-case that adapts to the target-version of the
      system, so that the link requirements are met by the SDK in use (if you
      try to link i686-darwin9 on an x86-64-darwin18 SDK, it will fail).
      
      gcc/
      
      2019-06-13  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/darwin-driver.c (validate_macosx_version_min): New.
      	(darwin_default_min_version): Cleanup and validate supplied version.
      	(darwin_driver_init): Likewise and push cleaned version into opts.
      
      gcc/testsuite/
      
      2019-06-13  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.dg/darwin-minversion-link.c: New test.
      
      From-SVN: r272260
      Iain Sandoe committed
    • re PR fortran/68544 (ICE trying to pass derived type constructor as a function) · b00802f5
      2019-06-13  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/68544
      	* resolve.c (is_dt_name): New function to compare symbol name against
      	list of derived types.
      	(resolve_actual_arglist): Use it to find wrong code.
      
      2019-06-13  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/68544
      	* gfortran.dg/pr68544.f90: New test.
      	* gfortran.dg/pr85687.f90: Modify test for new error message.
      
      From-SVN: r272259
      Steven G. Kargl committed
    • Darwin, testsuite - Fix pr71694 fail for m32. · 19c6bc40
      This test fails for Darwin m32 because it's scanning for absence
      of an instruction that's validly used in PIC code.  Fixed, in this
      case, by using non-PIC codegen.
      
      2019-06-13  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* g++.dg/pr71694.C: Use non-PIC codegen for Darwin m32.
      
      From-SVN: r272257
      Iain Sandoe committed
    • re PR fortran/89344 (uncaught programmer error: polymorphic variable is… · b9fb8305
      re PR fortran/89344 (uncaught programmer error:  polymorphic variable is INTENT(IN) but assigned to without error)
      
      2019-06-13  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/89344
      	* expr.c (gfc_check_vardef_context): Check for INTENT(IN) variable
      	in SELECT TYPE construct.
      
      2019-06-13  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/89344
      	 * gfortran.dg/pr89344.f90: New test.
      
      From-SVN: r272255
      Steven G. Kargl committed
    • re PR fortran/88810 (gcc/fortran/dependency.c:2200: possible cut'n'paste error ?) · 7b6879b2
      2019-06-13  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/88810
      	* dependency.c (gfc_dep_resolver): Re-arrange code to make the logic
      	a bit more transparent.  Fix 2 nearby formatting issues.
      
      From-SVN: r272254
      Steven G. Kargl committed
    • Darwin, testsuite - Adjust two tests that fail on newer OS versions. · 342f8965
      Newer OS versions (10.14+) do not provide some of the CRTs that are used
      for older ones (e.g. 10.5), and thus link tests that specify targeting
      such a revision fail.  We retain the testing of the correct defined OS
      version number but switch to compile-only testing for these two tests.
      
      2019-06-13  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.dg/darwin-minversion-1.c: Use compile rather than link/run.
      	* gcc.dg/darwin-minversion-2.c: Likewise.
      
      From-SVN: r272251
      Iain Sandoe committed
    • re PR target/90871 (g++.dg/ext/altivec-15.C fails after r272236) · a0a62352
      2019-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR target/90871
      	* g++.dg/ext/altivec-15.C: Add dg-error directive.
      
      From-SVN: r272250
      Paolo Carlini committed
    • testsuite - Require alias support for pr90760. · 6cfd0124
      This test fails on Darwin because it requires alias support, so
      add the relevant dg-requires.
      
      2019-06-13  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.dg/pr90760.c: Require alias support.
      
      From-SVN: r272248
      Iain Sandoe committed
    • re PR tree-optimization/90869 (Non-disambiguated memory accesses) · 983acf87
      	PR tree-optimize/90869
      	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Watch for view
      	converts in MEM_REF referencing decl rather than view converts
      	from decl type to MEM_REF type.
      
      	* g++.dg/tree-ssa/alias-access-path-1.C: New testcase.
      
      From-SVN: r272247
      Jan Hubicka committed
    • re PR tree-optimization/90856 (ICE: verify_gimple failed (error: incompatible… · 9bc83b61
      re PR tree-optimization/90856 (ICE: verify_gimple failed (error: incompatible types in 'PHI' argument 1))
      
      2019-06-13  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/90856
      	* tree-sra.c (build_ref_for_model): Only use
      	build_reconstructed_reference when address-spaces are the same.
      
      	* gcc.target/i386/pr90856.c: New testcase.
      
      From-SVN: r272244
      Richard Biener committed