1. 16 Jun, 2019 14 commits
  2. 15 Jun, 2019 16 commits
    • decl.c (gfc_match_derived_decl): Dummy argument cannot be a derived type. · e00e1954
      2019-06-15  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* decl.c (gfc_match_derived_decl): Dummy argument cannot be a derived
      	 type.
      
      2019-06-15  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* gfortran.dg/dummy_derived_typed.f90: New test.
      
      From-SVN: r272333
      Steven G. Kargl committed
    • Sync top-level change from gdb · 98e5be21
      This patch syncs a change to the top-level configury from gdb.  It
      should not affect the gcc build at all.  Tested by rebuilding.
      
      ChangeLog
      2019-06-15  Tom Tromey  <tom@tromey.com>
      
      	* configure.ac (host_libs): Add gnulib.
      	* configure: Rebuild.
      	* Makefile.def (host_modules, dependencies): Add gnulib.
      	* Makefile.in: Rebuild.
      
      From-SVN: r272332
      Tom Tromey committed
    • invoke.texi (Spec Files): Update location of the Fortran spec file. · f6ebef4e
      	* doc/invoke.texi (Spec Files): Update location of the
      	Fortran spec file.
      
      From-SVN: r272331
      Maya Rashish committed
    • extend.texi (Common Function Attributes): Clarify no_sanitize. · 217a7030
      	* doc/extend.texi (Common Function Attributes): Clarify
      	no_sanitize.  Fix grammar.
      
      From-SVN: r272330
      Gerald Pfeifer committed
    • alias-access-path-2.c: New testcase. · 8ee09896
      
      	* gcc.dg/tree-ssa/alias-access-path-2.c: New testcase.
      
      	* tree-ssa-alias.c (alias_stats): Add
      	nonoverlapping_component_refs_p_may_alias,
      	nonoverlapping_component_refs_p_no_alias,
      	nonoverlapping_component_refs_of_decl_p_may_alias,
      	nonoverlapping_component_refs_of_decl_p_no_alias.
      	(dump_alias_stats): Dump them.
      	(nonoverlapping_component_refs_of_decl_p): Add stats.
      	(nonoverlapping_component_refs_p): Add stats; do not stop on first
      	ARRAY_REF.
      
      From-SVN: r272329
      Jan Hubicka committed
    • 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
  3. 14 Jun, 2019 10 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