aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-01-06mips.c (vr4130_align_insns): Fix typo.Bryan Stenson3-2/+7
2020-01-06 Bryan Stenson <bryan@siliconvortex.com> * config/mips/mips.c (vr4130_align_insns): Fix typo. * doc/md.texi (movstr): Likewise. From-SVN: r279905
2020-01-06Fix early-clobber in amdgcn vec_extractAndrew Stubbs2-3/+8
2020-01-06 Andrew Stubbs <ams@codesourcery.com> gcc/ * config/gcn/gcn-valu.md (vec_extract<mode><scalar_mode>): Add early clobber. From-SVN: r279904
2020-01-06PR c++/79592 adjust testcaseNathan Sidwell2-1/+6
https://gcc.gnu.org/ml/gcc-patches/2020-01/msg00127.html * g++.dg/ubsan/vptr-4.C: Add expected error. From-SVN: r279902
2020-01-06[AArch64] Use move-if-change for aarch64-tune.mdRichard Sandiford2-1/+13
If aarch64-tune.md was older than gentune.sh or aarch64-cores.def, we'd try to overwrite it even if the current contents were correct. This could cause problems with read-only source directories and could cause spurious copying for rsync --archive. 2020-01-06 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/t-aarch64 ($(srcdir)/config/aarch64/aarch64-tune.md): Depend on... (s-aarch64-tune-md): ...this new stamp file. Pipe the new contents to a temporary file and use move-if-change to update the real file where necessary. From-SVN: r279900
2020-01-06[AArch64] Fix constraints for CPY /MRichard Sandiford4-1/+52
The constraints for CPY /M allowed p0-p15 instead of the intended p0-p7. This looks like a pasto from the preceding constant pattern, where p0-p15 is allowed. 2020-01-06 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/aarch64-sve.md (@aarch64_sel_dup<mode>): Use Upl rather than Upa for CPY /M. gcc/testsuite/ * gcc.target/aarch64/sve/acle/general/cpy_1.c: New test. From-SVN: r279899
2020-01-06Fix amdgcn inline immediate rangeAndrew Stubbs2-1/+6
2020-01-06 Andrew Stubbs <ams@codesourcery.com> gcc/ * config/gcn/gcn.c (gcn_inline_constant_p): Allow 64 as an inline immediate. From-SVN: r279898
2020-01-06libstdc++: Remove redundant inequality operators in <stop_token>Jonathan Wakely3-17/+41
* include/std/stop_token (stop_token): Remove operator!= (LWG 3254). (stop_source): Likewise (LWG 3362). * testsuite/30_threads/stop_token/stop_source.cc: Test equality comparisons. From-SVN: r279897
2020-01-06libstdc++: Define __cpp_lib_three_way_comparison conditionallyJonathan Wakely4-9/+16
The contents of the <compare> header are not complete unless concepts are supported, so the feature test macro should depend on the macro for concepts. As a result, the std::lexicographical_compare_three_way function will not be defined unless concepts are supported, so there is no need to check __cpp_lib_concepts before using concepts in those functions. * include/bits/stl_algobase.h (__is_byte_iter, __min_cmp) (lexicographical_compare_three_way): Do not depend on __cpp_lib_concepts. * include/std/version (__cpp_lib_three_way_comparison): Only define when __cpp_lib_concepts is defined. * libsupc++/compare (__cpp_lib_three_way_comparison): Likewise. From-SVN: r279896
2020-01-06Mark param_max_combine_insns with Optimization keyword.Martin Liska2-1/+7
PR tree-optimization/92860 * params.opt: Mark param_max_combine_insns with Optimization keyword. From-SVN: r279895
2020-01-05New bitfield testcases.Andrew Pinski4-0/+42
2020-01-05 Andrew Pinski <apinski@marvell.com> * gcc.c-torture/compile/20200105-1.c: New testcase. * gcc.c-torture/compile/20200105-2.c: New testcase. * gcc.c-torture/compile/20200105-3.c: New testcase. From-SVN: r279893
2020-01-06Daily bump.GCC Administrator1-1/+1
From-SVN: r279892
2020-01-05discr1.ads: Compile with -gnatc instead of -gnatct.Eric Botcazou5-5/+5
* 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
2020-01-05[testsuite, Darwin] Fix failing darwin-version-1.c.Iain Sandoe2-2/+11
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
2020-01-05re PR target/93141 (Missed optimization : Use of adc when checking overflow)Jakub Jelinek5-21/+384
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
2020-01-05re PR c++/93138 (elaborated type specifier visibility check problem)Jakub Jelinek4-3/+38
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
2020-01-05Guard inclusion of vxAtomicLib.h from gthr-vxworks.hOlivier Hainque2-0/+12
2020-01-05 Olivier Hainque <hainque@adacore.com> * config/gthr-vxworks.h: Guard #include vxAtomicLib.h by IN_LIBGCC2. From-SVN: r279885
2020-01-05re PR c++/93046 (ICE in cp_gimplify_init_expr)Jakub Jelinek4-1/+26
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
2020-01-05Daily bump.GCC Administrator1-1/+1
From-SVN: r279883
2020-01-04* gnatvsn.ads: Bump copyright year.Eric Botcazou2-2/+6
From-SVN: r279880
2020-01-04Fortran] PR91640 – Fix call to contiguous dummyTobias Burnus4-9/+90
PR fortran/91640 * trans-expr.c (gfc_conv_procedure_call): Avoid copy-out for nonvariable arguments to contiguous dummy args. Avoid re-checking whether fsym is NULL. PR fortran/91640 * gfortran.dg/contiguous_10.f90: New. From-SVN: r279879
2020-01-04Daily bump.GCC Administrator1-1/+1
From-SVN: r279876
2020-01-03PR c++/93033 - incorrect tree node sharing with array init.Jason Merrill4-1/+30
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
2020-01-03Reject class template placeholder as non-type template parm type in C++17.Jason Merrill3-2/+16
* pt.c (invalid_nontype_parm_type_p): Reject class placeholder in C++17. From-SVN: r279870
2020-01-03[testsuite, X86] Require effective target masm_intel for two tests.Iain Sandoe3-0/+8
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
2020-01-03gdbinit.in: call a function with "call", not "set"Konstantin Kharlamov2-12/+17
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
2020-01-03libstdc++: Only use std::compare_three_way when concepts are supportedJonathan Wakely2-0/+7
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
2020-01-03Avoid segfault when dumping IPA-CP lattices for unoptimized functions (PR 92917)Martin Jambor2-2/+8
2020-01-03 Martin Jambor <mjambor@suse.cz> PR ipa/92917 * ipa-cp.c (print_all_lattices): Skip functions without info. From-SVN: r279859
2020-01-03Fortran] OpenMP/OpenACC – fix more issues with OPTIONALTobias Burnus6-39/+260
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
2020-01-03re PR target/93089 (Force mprefer-vector-width=512 in 'e' simd clones)Jakub Jelinek5-3/+58
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
2020-01-03re PR target/93089 (Force mprefer-vector-width=512 in 'e' simd clones)Jakub Jelinek7-13/+86
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
2020-01-03re PR target/93110 (grub-2.04/grub-core/lib/division.c:28:1: internal ↵Jakub Jelinek4-24/+27
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
2020-01-03re PR rtl-optimization/93088 (Compile time hog on ↵Jakub Jelinek4-8/+24
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
2020-01-03Fortran] PR 92994 – add more ASSOCIATE checksTobias Burnus6-5/+101
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
2020-01-03Daily bump.GCC Administrator1-1/+1
From-SVN: r279852
2020-01-03re PR fortran/68020 (Issue with implied-shape array parameter of rank > 2)Jakub Jelinek2-1/+7
PR fortran/68020 * gfortran.dg/impled_shape_5.f90: Use dg-do compile rather than dg-do run. From-SVN: r279849
2020-01-02compiler, runtime, reflect: generate hash functions only for map keysIan Lance Taylor18-385/+421
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
2020-01-02compiler: split writing of equal and hash functions for typesIan Lance Taylor7-361/+545
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
2020-01-02Add 1bit bit-field testcases.Andrew Pinski3-0/+131
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
2020-01-02re PR c/90677 (gcc-9.1.0 fails to build __gcc_diag__ souce: error: ↵Jakub Jelinek4-2/+24
'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
2020-01-02[Arm] Enable CLI for Armv8.6-a: armv8.6-a, i8mm and bf16.Dennis Zhang12-12/+182
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
2020-01-02Add myself to MAINTAINERSDennis Zhang2-0/+5
From-SVN: r279837
2020-01-02Fortran] PR68020 – Fix implied-shape handling for rank > 2Tobias Burnus5-1/+87
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
2020-01-02re PR ipa/93087 (Bogus `-Wsuggest-attribute=cold` on function already marked ↵Jakub Jelinek4-4/+34
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
2020-01-02PR 90374 d0.d, e0.d, es0.d, en0.d, g0.d and ew.d edit descriptors.Jerry DeLisle8-109/+161
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
2020-01-02Daily bump.GCC Administrator1-1/+1
From-SVN: r279827
2020-01-01re PR target/67834 (Local references inside comdat groups)John David Anglin3-0/+31
PR target/67834 * config/pa/pa.c (pa_elf_select_rtx_section): New. Put references to COMDAT group function labels in .data.rel.ro.local section. * config/pa/pa32-linux.h (TARGET_ASM_SELECT_RTX_SECTION): Define. From-SVN: r279823
2020-01-01Fix windows libobjc build (PR libobjc/93099)Andrew Pinski2-1/+7
2020-01-01 Andrew Pinski <pinskia@gmail.com> PR libobjc/93099 * objc/objc-decls.h (objc_EXPORT): Define it to extern for DLL_EXPORT define case. From-SVN: r279822
2020-01-01Handle REF_INQUIRY for dependency checking.Thomas Koenig4-0/+50
2020-01-01 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/93113 * dependency.c (gfc_dep_resolver): Handle REF_INQUIRY in switch for ref types. 2020-01-01 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/93113 * gfortran.dg/dependency_58.f90: New test. From-SVN: r279821
2020-01-01re PR target/93111 (FAIL: gfortran.fortran-torture/compile/pr32663.f, -O3 ↵John David Anglin3-31/+34
-g (internal compiler error)) PR target/93111 * config/pa/pa.md (scc): Use ordered_comparison_operator instead of comparison_operator in B and S integer comparisons. Likewise, use ordered_comparison_operator instead of cmpib_comparison_operator in cmpib patterns. * config/pa/predicates.md (cmpib_comparison_operator): Remove. From-SVN: r279818
2020-01-01baseline_symbols.txt: Update.John David Anglin2-9/+4
* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. From-SVN: r279816