1. 06 Jan, 2020 7 commits
  2. 05 Jan, 2020 7 commits
    • discr1.ads: Compile with -gnatc instead of -gnatct. · e9c6bb46
      	* gnat.dg/specs/discr1.ads: Compile with -gnatc instead of -gnatct.
      	* gnat.dg/specs/limited_with4.ads: Likewise.
      	* gnat.dg/specs/limited_with4_pkg.ads: Likewise.
      	* gnat.dg/specs/private1-sub.ads: Likewise.
      	* gnat.dg/specs/task1.ads: Likewise.
      
      From-SVN: r279889
      Eric Botcazou committed
    • [testsuite, Darwin] Fix failing darwin-version-1.c. · 53cfd936
      Recent platform linkers will no longer accept linking for a target
      OS version less than 10.4.  Recent SDKs no longer have the libgcc_s
      shims used for 10.4 and 10.5.  So we need to adjust tests that expect
      these.
      
      gcc/testsuite/ChangeLog:
      
      2020-01-05  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.dg/darwin-version-1.c: Adjust test to use different
      	options for Darwin4-9 and Darwin10+.
      
      From-SVN: r279888
      Iain Sandoe committed
    • re PR target/93141 (Missed optimization : Use of adc when checking overflow) · c57b4c22
      	PR target/93141
      	* config/i386/i386.md (SWIDWI): New mode iterator.
      	(DWI, dwi): Add TImode variants.
      	(addv<mode>4): Use SWIDWI iterator instead of SWI.  Use
      	<general_hilo_operand> instead of <general_operand>.  Use
      	CONST_SCALAR_INT_P instead of CONST_INT_P.
      	(*addv<mode>4_1): Rename to ...
      	(addv<mode>4_1): ... this.
      	(QWI): New mode attribute.
      	(*addv<dwi>4_doubleword, *addv<dwi>4_doubleword_1): New
      	define_insn_and_split patterns.
      	(*addv<mode>4_overflow_1, *addv<mode>4_overflow_2): New define_insn
      	patterns.
      	(uaddv<mode>4): Use SWIDWI iterator instead of SWI.  Use
      	<general_hilo_operand> instead of <general_operand>.
      	(*addcarry<mode>_1): New define_insn.
      	(*add<dwi>3_doubleword_cc_overflow_1): New define_insn_and_split.
      
      	* gcc.target/i386/pr93141-1.c: New test.
      	* gcc.dg/pr67089-6.c: Expect 16 ADD_OVERFLOW calls even on ia32.
      
      From-SVN: r279887
      Jakub Jelinek committed
    • re PR c++/93138 (elaborated type specifier visibility check problem) · 39bec8cd
      	PR c++/93138
      	* parser.c (cp_parser_check_class_key): Disable access checks for the
      	simple name lookup.
      	(cp_parser_maybe_warn_enum_key): Likewise.  Return early if
      	!warn_redundant_tags.
      
      	* g++.dg/warn/Wredundant-tags-2.C: New test.
      
      From-SVN: r279886
      Jakub Jelinek committed
    • Guard inclusion of vxAtomicLib.h from gthr-vxworks.h · 5205a445
      2020-01-05  Olivier Hainque  <hainque@adacore.com>
      
              * config/gthr-vxworks.h: Guard #include vxAtomicLib.h
      	by IN_LIBGCC2.
      
      From-SVN: r279885
      Olivier Hainque committed
    • re PR c++/93046 (ICE in cp_gimplify_init_expr) · 72036b59
      	PR c++/93046
      	* cp-gimplify.c (cp_gimplify_init_expr): Don't look through
      	TARGET_EXPR if it has been gimplified already.
      
      	* g++.dg/ext/cond4.C: New test.
      
      From-SVN: r279884
      Jakub Jelinek committed
    • Daily bump. · 48cb874a
      From-SVN: r279883
      GCC Administrator committed
  3. 04 Jan, 2020 3 commits
  4. 03 Jan, 2020 13 commits
    • PR c++/93033 - incorrect tree node sharing with array init. · 8b5d34fc
      The split_nonconstant_init piece is the only one necessary to fix the
      testcase, but it occurred to me that we might as well not split when
      -fno-exceptions.
      
      	* typeck2.c (split_nonconstant_init): Unshare non-decl.
      	* cp-gimplify.c (cp_gimplify_init_expr): Only split if -fexceptions.
      
      From-SVN: r279871
      Jason Merrill committed
    • Reject class template placeholder as non-type template parm type in C++17. · 657fea97
      	* pt.c (invalid_nontype_parm_type_p): Reject class placeholder in
      	C++17.
      
      From-SVN: r279870
      Jason Merrill committed
    • [testsuite, X86] Require effective target masm_intel for two tests. · cfe9c753
      These tests currently fail on targets that do not support intel asm
      syntax.
      
      gcc/testsuite/ChangeLog:
      
      2020-01-03  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.target/i386/avx512bw-pr92686-vpcmp-intelasm-1.c: Require
      	effective target masm_intel.
      	* gcc.target/i386/avx512vl-pr92686-vpcmp-intelasm-1.c: Likewise.
      
      From-SVN: r279869
      Iain Sandoe committed
    • gdbinit.in: call a function with "call", not "set" · 582097cb
      Calling a function foo in gdb as "set foo()" results in a warning.
      Disregarding, it looks wrong to call a function with "set". Let's use
      "call" instead.
      
      2019-11-14  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
      
      	* gdbinit.in (pr, prl, pt, pct, pgg, pgq, pgs, pge, pmz, pdd, pbs, pbm):
      	Use "call" instead of "set".
      
      From-SVN: r279866
      Konstantin Kharlamov committed
    • libstdc++: Only use std::compare_three_way when concepts are supported · b4e70137
      Clang now supports three-way comparisons. That causes both overloads of
      std::lexicographical_compare_three_way to be defined, but the second one
      uses std::compare_three_way which depends on concepts. Clang does not
      yet support concepts, so the second overload should also depend on
      __cpp_lib_concepts.
      
      	* include/bits/stl_algobase.h (lexicographical_compare_three_way):
      	Only define four-argument overload when __cpp_lib_concepts is defined.
      
      From-SVN: r279861
      Jonathan Wakely committed
    • Avoid segfault when dumping IPA-CP lattices for unoptimized functions (PR 92917) · 48182bd6
      2020-01-03  Martin Jambor  <mjambor@suse.cz>
      
      	PR ipa/92917
      	* ipa-cp.c (print_all_lattices): Skip functions without info.
      
      From-SVN: r279859
      Martin Jambor committed
    • Fortran] OpenMP/OpenACC – fix more issues with OPTIONAL · f760c0c7
              gcc/fortran/
              * trans-openmp.c (gfc_omp_check_optional_argument): Always return a
              Boolean expression; handle unallocated/disassociated actual arguments
              as absent if passed to nonallocatable/nonpointer dummy array arguments.
              (gfc_build_cond_assign): Change to assume a Boolean expr not a pointer.
              (gfc_omp_finish_clause, gfc_trans_omp_clauses): Assign NULL to generated
              array-data variable if the argument is absent. Simplify code as
              'present' is now a Boolean expression.
      
              libgomp/
              * testsuite/libgomp.fortran/optional-map.f90: Add test for
              unallocated/disassociated actual arguments to nonallocatable/nonpointer
              dummy arguments; those are/shall be regarded as absent arguments.
              * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
              * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
      
      From-SVN: r279858
      Tobias Burnus committed
    • re PR target/93089 (Force mprefer-vector-width=512 in 'e' simd clones) · 1609bedd
      	PR target/93089
      	* config/i386/i386-options.c (ix86_simd_clone_adjust): If
      	TARGET_PREFER_AVX128, use prefer-vector-width=256 for 'c' and 'd'
      	simd clones.  If TARGET_PREFER_AVX256, use prefer-vector-width=512
      	for 'e' simd clones.
      
      	* gcc.target/i386/pr93089-2.c: New test.
      	* gcc.target/i386/pr93089-3.c: New test.
      
      From-SVN: r279857
      Jakub Jelinek committed
    • re PR target/93089 (Force mprefer-vector-width=512 in 'e' simd clones) · 46e6341f
      	PR target/93089
      	* config/i386/i386.opt (x_prefer_vector_width_type): Remove TargetSave
      	entry.
      	(mprefer-vector-width=): Add Save.
      	* config/i386/i386-options.c (ix86_target_string): Add PVW argument, print
      	-mprefer-vector-width= if non-zero.  Fix up -mfpmath= comment.
      	(ix86_debug_options, ix86_function_specific_print): Adjust
      	ix86_target_string callers.
      	(ix86_valid_target_attribute_inner_p): Handle prefer-vector-width=.
      	(ix86_valid_target_attribute_tree): Likewise.
      	* config/i386/i386-options.h (ix86_target_string): Add PVW argument.
      	* config/i386/i386-expand.c (ix86_expand_builtin): Adjust
      	ix86_target_string caller.
      
      	* gcc.target/i386/pr93089-1.c: New test.
      
      From-SVN: r279856
      Jakub Jelinek committed
    • re PR target/93110 (grub-2.04/grub-core/lib/division.c:28:1: internal compiler… · 5499c862
      re PR target/93110 (grub-2.04/grub-core/lib/division.c:28:1: internal compiler error: in extract_insn, at recog.c:2294)
      
      	PR target/93110
      	* config/i386/i386.md (abs<mode>2): Use expand_simple_binop instead of
      	emitting ASHIFTRT, XOR and MINUS by hand.  Use gen_int_mode with QImode
      	instead of gen_int_shift_amount + convert_modes.
      
      	* gcc.dg/torture/pr93110.c: New test.
      
      From-SVN: r279855
      Jakub Jelinek committed
    • re PR rtl-optimization/93088 (Compile time hog on… · 5a6e28b5
      re PR rtl-optimization/93088 (Compile time hog on gcc/testsuite/gcc.target/i386/pr56348.c w/ -O3 -funroll-loops -fno-tree-dominator-opts -fno-tree-vrp)
      
      	PR rtl-optimization/93088
      	* loop-iv.c (find_single_def_src): Punt after looking through
      	128 reg copies for regs with single definitions.  Move definitions
      	to first uses.
      
      	* gcc.target/i386/pr93088.c: New test.
      
      From-SVN: r279854
      Jakub Jelinek committed
    • Fortran] PR 92994 – add more ASSOCIATE checks · 4d124378
              PR fortran/92994
              * primary.c (gfc_match_rvalue): Add some flavor checks
              gfc_matching_procptr_assignment.
              * resolve.c (resolve_assoc_var): Add more checks for invalid targets.
      
              PR fortran/92994
              * gfortran.dg/associate_50.f90: Update dg-error.
              * gfortran.dg/associate_51.f90: New.
      
      From-SVN: r279853
      Tobias Burnus committed
    • Daily bump. · 208cb81f
      From-SVN: r279852
      GCC Administrator committed
  5. 02 Jan, 2020 10 commits
    • re PR fortran/68020 (Issue with implied-shape array parameter of rank > 2) · 46ddb108
      	PR fortran/68020
      	* gfortran.dg/impled_shape_5.f90: Use dg-do compile rather than dg-do
      	run.
      
      From-SVN: r279849
      Jakub Jelinek committed
    • compiler, runtime, reflect: generate hash functions only for map keys · 10172a64
          
          Right now we generate hash functions for all types, just in case they
          are used as map keys. That's a lot of wasted effort and binary size
          for types which will never be used as a map key. Instead, generate
          hash functions only for types that we know are map keys.
          
          Just doing that is a bit too simple, since maps with an interface type
          as a key might have to hash any concrete key type that implements that
          interface. So for that case, implement hashing of such types at
          runtime (instead of with generated code). It will be slower, but only
          for maps with interface types as keys, and maybe only a bit slower as
          the aeshash time probably dominates the dispatch time.
          
          Reorg where we keep the equals and hash functions. Move the hash function
          from the key type to the map type, saving a field in every non-map type.
          That leaves only one function in the alg structure, so get rid of that and
          just keep the equal function in the type descriptor itself.
          
          While we're here, reorganize the rtype struct to more closely match
          the gc version.
          
          This is the gofrontend version of https://golang.org/cl/191198.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/212843
      
      From-SVN: r279848
      Ian Lance Taylor committed
    • compiler: split writing of equal and hash functions for types · 9279b5ba
          
          Separate the generation of type equality and hash functions, rather
          than doing them in a single operation.
          
          This is almost entirely a pure refactoring in preparation for
          generating hash functions only for types that are map keys.  The only
          change in generated code is that for types that are the size of
          numeric types, but not aligned like numeric types, such as [8]byte,
          now use standard hash functions.  They previously used special-purpose
          hash functions because they required special-purpose equal functions.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/212842
      
      From-SVN: r279847
      Ian Lance Taylor committed
    • Add 1bit bit-field testcases. · 45b6395b
      2020-01-02  Andrew Pinski  <apinski@marvell.com>
      
              * gcc.c-torture/execute/bitfld-8.c: New testcase.
              * gcc.c-torture/execute/bitfld-9.c: New testcase.
      
      From-SVN: r279846
      Andrew Pinski committed
    • re PR c/90677 (gcc-9.1.0 fails to build __gcc_diag__ souce: error: 'cgraph_node'… · 4a08009e
      re PR c/90677 (gcc-9.1.0 fails to build __gcc_diag__ souce: error: 'cgraph_node' is not defined as a type)
      
      	PR c/90677
      	* cp-objcp-common.c (identifier_global_tag): Return NULL_TREE if name
      	has not been found, rather than error_mark_node.
      
      	* c-c++-common/pr90677-2.c: New test.
      
      From-SVN: r279840
      Jakub Jelinek committed
    • [Arm] Enable CLI for Armv8.6-a: armv8.6-a, i8mm and bf16. · f782b667
      2020-01-02  Dennis Zhang  <dennis.zhang@arm.com>
      
      	* config/arm/arm-c.c (arm_cpu_builtins): Define
      	__ARM_FEATURE_MATMUL_INT8, __ARM_FEATURE_BF16_VECTOR_ARITHMETIC,
      	__ARM_FEATURE_BF16_SCALAR_ARITHMETIC, and
      	__ARM_BF16_FORMAT_ALTERNATIVE when enabled.
      	* config/arm/arm-cpus.in (armv8_6, i8mm, bf16): New features.
      	* config/arm/arm-tables.opt: Regenerated.
      	* config/arm/arm.c (arm_option_reconfigure_globals): Initialize
      	arm_arch_i8mm and arm_arch_bf16 when enabled.
      	* config/arm/arm.h (TARGET_I8MM): New macro.
      	(TARGET_BF16_FP, TARGET_BF16_SIMD): Likewise.
      	* config/arm/t-aprofile: Add matching rules for -march=armv8.6-a.
      	* config/arm/t-arm-elf (all_v8_archs): Add armv8.6-a.
      	* config/arm/t-multilib: Add matching rules for -march=armv8.6-a.
      	(v8_6_a_simd_variants): New.
      	(v8_*_a_simd_variants): Add i8mm and bf16.
      	* doc/invoke.texi (armv8.6-a, i8mm, bf16): Document new options.
      
      2020-01-02  Dennis Zhang  <dennis.zhang@arm.com>
      
      	* gcc.target/arm/multilib.exp: Add combination tests for armv8.6-a.
      
      From-SVN: r279839
      Dennis Zhang committed
    • Add myself to MAINTAINERS · b1b72741
      From-SVN: r279837
      Dennis Zhang committed
    • Fortran] PR68020 – Fix implied-shape handling for rank > 2 · 48e76d2f
              PR fortran/68020
              * array.c (gfc_match_array_spec): Fix implied-type matching
              for rank > 2.
      
              PR fortran/68020
              * gfortran.dg/implied_shape_4.f90: New.
              * gfortran.dg/implied_shape_5.f90: New.
      
      From-SVN: r279835
      Tobias Burnus committed
    • re PR ipa/93087 (Bogus `-Wsuggest-attribute=cold` on function already marked as… · 4ea5d54b
      re PR ipa/93087 (Bogus `-Wsuggest-attribute=cold` on function already marked as `__attribute__((cold))`)
      
      	PR ipa/93087
      	* predict.c (compute_function_frequency): Don't call
      	warn_function_cold on functions that already have cold attribute.
      
      	* c-c++-common/cold-1.c: New test.
      
      From-SVN: r279829
      Jakub Jelinek committed
    • PR 90374 d0.d, e0.d, es0.d, en0.d, g0.d and ew.d edit descriptors. · 2b70275e
              PR libfortran/90274
              * io/format.c (parse_format_list): Implement the E0 exponent
              width to provide smallest possible width for exponent fields.
              Refactor code for correct parsing and better readability of the
              code.
              * io/io.h (write_real_w0): Change interface to pass in pointer
              to fnode.
              * io/transfer.c: Update all calls to write_real_w0 to use the
              new interface.
              * io/write.c ((write_real_w0): Use the new interface with fnode
              to access both the decimal precision and exponent widths used in
              build_float_string.
              * io/write_float.def (build_float_string): Use the passed in
              exponent width to calculate the used width in the case of E0.
      
      From-SVN: r279828
      Jerry DeLisle committed