aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2018-03-19[testsuite] Add nvptx xfail to pr84512.cTom de Vries2-2/+7
2018-03-19 Tom de Vries <tom@codesourcery.com> * gcc.dg/tree-ssa/pr84512.c: Don't require effective target vect_int_mult. Add nvptx xfail for PR84958. From-SVN: r258656
2018-03-19[PR c++/84835] ICE with generic lambda in extern "C"Nathan Sidwell5-0/+32
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00890.html PR c++/84835 * lambda.c (maybe_add_lambda_conv_op): Force C++ linkage. * pt.c (build_template_decl): Propagate language linkage. PR c++/84835 * g++.dg/cpp1y/pr84835.C: New. From-SVN: r258655
2018-03-19[PR81647][AARCH64] Fix handling of Unordered Comparisons in aarch64-simd.mdSudakshina Das4-44/+114
This patch fixes the inconsistent behavior observed at -O3 for the unordered comparisons. According to the online docs (https://gcc.gnu.org/onlinedocs /gcc-7.2.0/gccint/Unary-and-Binary-Expressions.html), all of the following should not raise an FP exception: - UNGE_EXPR - UNGT_EXPR - UNLE_EXPR - UNLT_EXPR - UNEQ_EXPR Also ORDERED_EXPR and UNORDERED_EXPR should only return zero or one. The aarch64-simd.md handling of these were generating exception raising instructions such as fcmgt. This patch changes the instructions that are emitted in order to not give out the exceptions. We first check each operand for NaNs and force any elements containing NaN to zero before using them in the compare. Example: UN<cc> (a, b) -> UNORDERED (a, b) | (cm<cc> (isnan (a) ? 0.0 : a, isnan (b) ? 0.0 : b)) The ORDERED_EXPR is now handled as (cmeq (a, a) & cmeq (b, b)) and UNORDERED_EXPR as ~ORDERED_EXPR and UNEQ as (~ORDERED_EXPR | cmeq (a,b)). ChangeLog Entries: *** gcc/ChangeLog *** 2018-03-19 Sudakshina Das <sudi.das@arm.com> PR target/81647 * config/aarch64/aarch64-simd.md (vec_cmp<mode><v_int_equiv>): Modify instructions for UNLT, UNLE, UNGT, UNGE, UNEQ, UNORDERED and ORDERED. *** gcc/testsuite/ChangeLog *** 2018-03-19 Sudakshina Das <sudi.das@arm.com> PR target/81647 * gcc.target/aarch64/pr81647.c: New. From-SVN: r258653
2018-03-19* es.po, sv.po: Update.Joseph Myers3-579/+389
From-SVN: r258651
2018-03-19RISC-V: Fix bootstrap failure.Jim Wilson3-8/+23
gcc/ PR bootstrap/84856 * config/riscv/riscv.c (riscv_function_arg_boundary): Use PREFERRED_STACK_BOUNDARY instead of STACK_BOUNDARY. (riscv_first_stack_step): Likewise. (riscv_option_override): Use STACK_BOUNDARY instead of MIN_STACK_BOUNDARY. * config/riscv/riscv.h (STACK_BOUNDARY): Renamed from MIN_STACK_BOUNDARY. (BIGGEST_ALIGNMENT): Set to 128. (PREFERRED_STACK_BOUNDARY): Renamed from STACK_BOUNDARY. (RISCV_STACK_ALIGN): Use PREFERRED_STACK_BOUNDARY instead of STACK_BOUNDARY. From-SVN: r258650
2018-03-19re PR tree-optimization/84933 (ICE in set_value_range, at tree-vrp.c:288 ↵Richard Biener4-2/+41
since r257852) 2018-03-19 Richard Biener <rguenther@suse.de> PR tree-optimization/84933 * tree-vrp.c (set_and_canonicalize_value_range): Treat out-of-bound values as -INF/INF when canonicalizing an ANTI_RANGE to a RANGE. * g++.dg/pr84933.C: New testcase. From-SVN: r258646
2018-03-19re PR tree-optimization/84859 (bogus -Warray-bounds on a memcpy in a loop)Richard Biener7-10/+95
2018-03-19 Richard Biener <rguenther@suse.de> PR tree-optimization/84859 * tree-ssa-phiopt.c (single_trailing_store_in_bb): New function. (cond_if_else_store_replacement): Perform sinking operation on single-store BBs regardless of MAX_STORES_TO_SINK setting. Generalize what a BB with a single eligible store is. * gcc.dg/tree-ssa/pr84859.c: New testcase. * gcc.dg/tree-ssa/pr35286.c: Disable cselim. * gcc.dg/tree-ssa/split-path-6.c: Likewise. * gcc.dg/tree-ssa/split-path-7.c: Likewise. From-SVN: r258645
2018-03-19[C++/84812] ICE with local fn declNathan Sidwell4-2/+34
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00872.html PR c++/84812 * name-lookup.c (set_local_extern_decl_linkage): Defend against ambiguous lookups. PR c++/84812 * g++.dg/lookup/pr84812.C: New. From-SVN: r258644
2018-03-19re PR tree-optimization/84929 (ICE at -O3 on valid code on x86_64-linux-gnu: ↵Richard Biener4-2/+25
tree check: expected polynomial_chrec, have nop_expr in analyze_siv_subscript_cst_affine, at tree-data-ref.c:3018) 2018-03-19 Richard Biener <rguenther@suse.de> PR tree-optimization/84929 * tree-data-ref.c (analyze_siv_subscript_cst_affine): Guard chrec_is_positive against non-chrec arg. * gcc.dg/torture/pr84929.c: New testcase. From-SVN: r258643
2018-03-19re PR target/84711 (AArch32 big-endian fails when taking subreg of a vector ↵Tamar Christina4-15/+12
mode to a scalar mode.) gcc/ 2018-03-19 Tamar Christina <tamar.christina@arm.com> PR target/84711 * config/arm/arm.c (arm_can_change_mode_class): revert r258554. gcc/testsuite/ 2018-03-19 Tamar Christina <tamar.christina@arm.com> PR target/84711 * gcc.target/arm/big-endian-subreg.c: Delete. From-SVN: r258642
2018-03-19re PR fortran/84931 (Expansion of array constructor with constant ↵Thomas Koenig4-12/+40
implied-do-object goes sideways) 2018-03-19 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/84931 * simplify.c (gfc_convert_constant): Correctly handle iterators for type conversion. 2018-03-19 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/84931 * gfortran.dg/array_constructor_52.f90: New test. From-SVN: r258641
2018-03-19Daily bump.GCC Administrator1-1/+1
From-SVN: r258640
2018-03-18Fix UBSAN in regrename.c (PR rtl-optimization/84635).Martin Liska2-7/+17
2018-03-18 Martin Liska <mliska@suse.cz> PR rtl-optimization/84635 * regrename.c (build_def_use): Use matches_mode only when matches >= 0. From-SVN: r258634
2018-03-18re PR fortran/77414 (ICE in create_function_arglist, at ↵Steven G. Kargl5-12/+43
fortran/trans-decl.c:2410) 2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77414 * decl.c (get_proc_name): Check for a subroutine re-defined in the contain portion of a subroutine. Change language of existing error message to better describe the issue. While here fix whitespace issues. 2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77414 * gfortran.dg/pr77414.f90: New test. * gfortran.dg/internal_references_1.f90: Adjust error message. From-SVN: r258633
2018-03-18re PR fortran/65453 (ICE in build_function_decl, at fortran/trans-decl.c:2001)Steven G. Kargl4-0/+25
2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/65453 * decl.c (get_proc_name): Catch clash between a procedure statement and a contained subprogram 2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/65453 * gfortran.dg/pr65453.f90: New test. From-SVN: r258632
2018-03-18Don't try to vectorise COND_EXPR reduction chains (PR 84913)Richard Sandiford4-0/+48
The testcase ICEd for both SVE and AVX512 because we were trying to vectorise a chain of COND_EXPRs as a reduction and getting confused by reduc_index == -1. 2018-03-18 Richard Sandiford <richard.sandiford@linaro.org> gcc/ PR tree-optimization/84913 * tree-vect-loop.c (vectorizable_reduction): Don't try to vectorize chains of COND_EXPRs. gcc/testsuite/ PR tree-optimization/84913 * gfortran.dg/vect/pr84913.f90: New test. From-SVN: r258631
2018-03-18re PR fortran/79929 (Bogus Warning: '__builtin_memset': specified size ↵Thomas Koenig2-0/+14
4294967291 exceeds maximum object size 2147483647) 2018-03-18 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/79929 * gfortran.dg/warn_concat.f90: New test. From-SVN: r258630
2018-03-18[NDS32] Fix wrong MAX_REGS_PER_ADDRESS value.Chung-Ju Wu2-1/+5
gcc/ * config/nds32/nds32.h (MAX_REGS_PER_ADDRESS): Fix the value. From-SVN: r258629
2018-03-18[NDS32] Define LOGICAL_OP_NON_SHORT_CIRCUIT.Chung-Ju Wu2-0/+8
gcc/ * config/nds32/nds32.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Define. From-SVN: r258628
2018-03-18[NDS32] Define CLZ_DEFINED_VALUE_AT_ZERO.Chung-Ju Wu2-0/+9
gcc/ * config/nds32/nds32.h (CLZ_DEFINED_VALUE_AT_ZERO): Define. From-SVN: r258627
2018-03-18Daily bump.GCC Administrator1-1/+1
From-SVN: r258626
2018-03-17[NDS32] Implment ADJUST_REG_ALLOC_ORDER for performance requirement.Chung-Ju Wu4-0/+48
gcc/ * config/nds32/nds32-protos.h (nds32_adjust_reg_alloc_order): Declare. * config/nds32/nds32.c (nds32_reg_alloc_order_for_speed): New array. (nds32_adjust_reg_alloc_order): New function. * config/nds32/nds32.h (ADJUST_REG_ALLOC_ORDER): Define. Co-Authored-By: Kito Cheng <kito.cheng@gmail.com> From-SVN: r258621
2018-03-17[NDS32] Use HOST_WIDE_INT_PRINT_DEC instead of %ld or %d.Kito Cheng2-9/+19
gcc/ * config/nds32/nds32.c (nds32_asm_output_mi_thunk, nds32_print_operand, nds32_print_operand_address): Use HOST_WIDE_INT_PRINT_DEC instead. From-SVN: r258620
2018-03-17[NDS32] Optimize nds32_register_priority.Chung-Ju Wu2-3/+22
gcc/ * config/nds32/nds32.c (nds32_register_priority): Modify cost. From-SVN: r258619
2018-03-17re PR target/84902 (549.fotonik3d_r from SPEC2017 fails verification with ↵Jakub Jelinek2-8/+23
-Ofast -march=native on Zen since r258518) PR target/84902 * config/i386/i386.c (initial_ix86_tune_features, initial_ix86_arch_features): Use unsigned HOST_WIDE_INT rather than unsigned long long. (set_ix86_tune_features): Change ix86_tune_mask from unsigned int to unsigned HOST_WIDE_INT, initialize to HOST_WIDE_INT_1U << ix86_tune rather than 1u << ix86_tune. Formatting fix. (ix86_option_override_internal): Change ix86_arch_mask from unsigned int to unsigned HOST_WIDE_INT, initialize to HOST_WIDE_INT_1U << ix86_arch rather than 1u << ix86_arch. (ix86_function_specific_restore): Likewise. From-SVN: r258618
2018-03-17Daily bump.GCC Administrator1-1/+1
From-SVN: r258617
2018-03-16* de.po: Update.Joseph Myers2-1276/+851
From-SVN: r258614
2018-03-16re PR target/84899 (ICE: in final_scan_insn_1, at final.c:3139 (error: could ↵Jakub Jelinek4-5/+29
not split insn)) PR target/84899 * postreload.c (reload_combine_recognize_pattern): Perform INTVAL addition in unsigned HOST_WIDE_INT type to avoid UB and truncate_int_for_mode the result for the destination's mode. * gcc.dg/pr84899.c: New test. From-SVN: r258610
2018-03-16re PR c/84909 (typo: conversion from %qT to to %qT)Jakub Jelinek6-5/+17
PR c/84909 * c-warn.c (conversion_warning): Replace "to to" with "to" in diagnostics. * hsa-gen.c (mem_type_for_type): Fix comment typo. * tree-vect-loop-manip.c (vect_create_cond_for_niters_checks): Likewise. * gimple-ssa-warn-restrict.c (builtin_memref::set_base_and_offset): Likewise. From-SVN: r258609
2018-03-16re PR c/84910 (typo: "%qs follows inline declaration ")Jakub Jelinek6-4/+18
PR c/84910 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from diagnostics. * parser.c (cp_parser_lambda_introducer): Remove trailing space from diagnostics. * method.c (synthesize_method): Likewise. * pt.c (convert_nontype_argument): Likewise. From-SVN: r258608
2018-03-16re PR fortran/69395 (ICE on declaring array with more than 7 ↵Steven G. Kargl4-1/+12
dimensions+codimensions) 2018-03-16 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/69395 * decl.c (merge_array_spec): Correct the error condition. 2018-03-16 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/69395 * gfortran.dg/pr69395.f90: Add test for max dimensions From-SVN: r258607
2018-03-16libgo: add runtime/pprof/internal/profile.gox to noinst_DATAIan Lance Taylor1-1/+1
Also add noinst_DATA to CHECK_DEPS; it's not needed in practice since `make` will build noinst_DATA, but it's logically required and will make a difference if any of the noinst_DATA sources change between `make` and `make check`. Tony Reix figured out why omitting packages from noinst_DATA didn't seem to matter: because if gccgo can't find foo.gox, it will fall back to reading the export data in foo.o, and foo.o will exist because these packages go into libgo.a. Reviewed-on: https://go-review.googlesource.com/101077 From-SVN: r258606
2018-03-16PR c++/84720 - ICE with rvalue ref non-type argument.Jason Merrill3-12/+12
* pt.c (invalid_nontype_parm_type_p): Prohibit rvalue reference. (convert_nontype_argument): Revert earlier change. From-SVN: r258605
2018-03-16PR c++/80227 - SFINAE and negative array size.Jason Merrill7-154/+141
* decl.c (compute_array_index_type): Use build_converted_constant_expr and valid_constant_size_p. From-SVN: r258604
2018-03-16PR c++/84906 - silent wrong code with ambiguous conversion.Jason Merrill3-3/+36
* call.c (build_user_type_conversion_1): Set need_temporary_p on ambiguous conversion. (convert_like_real): Check it. From-SVN: r258603
2018-03-16re PR target/84876 (ICE on invalid code in lra_assign at ↵Vladimir Makarov5-12/+60
gcc/lra-assigns.c:1601 since r258504) 2018-03-16 Vladimir Makarov <vmakarov@redhat.com> PR target/84876 * lra-assigns.c (lra_split_hard_reg_for): Don't use regno_allocno_class_array and sorted_pseudos. * lra-constraints.c (spill_hard_reg_in_range): Ignore hard regs in insns where regno is used. 2018-03-16 Vladimir Makarov <vmakarov@redhat.com> PR target/84876 * gcc.target/i386/pr84876.c: New test. From-SVN: r258602
2018-03-16* uk.po: Update.Joseph Myers2-32/+36
From-SVN: r258601
2018-03-16* de.po: Update.Joseph Myers2-610/+421
From-SVN: r258599
2018-03-16Redirect reference in the symbol table (PR ipa/84833).Martin Liska4-0/+43
2018-03-16 Martin Liska <mliska@suse.cz> PR ipa/84833 * multiple_target.c (create_dispatcher_calls): Redirect reference in the symbol table. 2018-03-16 Martin Liska <mliska@suse.cz> PR ipa/84833 * gcc.target/i386/mvc11.c: New test. From-SVN: r258596
2018-03-16Properly redirect alias for MVC (PR ipa/84722).Martin Liska4-0/+34
2018-03-16 Martin Liska <mliska@suse.cz> PR ipa/84722 * multiple_target.c (create_dispatcher_calls): Redirect also an alias. 2018-03-16 Martin Liska <mliska@suse.cz> PR ipa/84722 * gcc.target/i386/mvc10.c: New test. From-SVN: r258595
2018-03-16PR c++/83937 - wrong C++17 handling of init-list ctor argument.Jason Merrill3-1/+27
* call.c (build_special_member_call): Don't convert an init-list argument directly to the class type. From-SVN: r258594
2018-03-16re PR c++/79937 (ICE in replace_placeholders_r)Jakub Jelinek15-11/+243
PR c++/79937 PR c++/82410 * tree.h (TARGET_EXPR_NO_ELIDE): Define. * gimplify.c (gimplify_modify_expr_rhs): Don't elide TARGET_EXPRs with TARGET_EXPR_NO_ELIDE flag set unless *expr_p is INIT_EXPR. * cp-tree.h (CONSTRUCTOR_PLACEHOLDER_BOUNDARY): Define. (find_placeholder): Declare. * tree.c (struct replace_placeholders_t): Add exp member. (replace_placeholders_r): Don't walk into ctors with CONSTRUCTOR_PLACEHOLDER_BOUNDARY flag set, unless they are equal to d->exp. Replace PLACEHOLDER_EXPR with unshare_expr (x) rather than x. (replace_placeholders): Initialize data.exp. (find_placeholders_r, find_placeholders): New functions. * typeck2.c (process_init_constructor_record, process_init_constructor_union): Set CONSTRUCTOR_PLACEHOLDER_BOUNDARY if adding NSDMI on which find_placeholder returns true. * call.c (build_over_call): Don't call replace_placeholders here. * cp-gimplify.c (cp_genericize_r): Set TARGET_EXPR_NO_ELIDE on TARGET_EXPRs with CONSTRUCTOR_PLACEHOLDER_BOUNDARY set on TARGET_EXPR_INITIAL. (cp_fold): Copy over CONSTRUCTOR_PLACEHOLDER_BOUNDARY bit to new ctor. * g++.dg/cpp1y/pr79937-1.C: New test. * g++.dg/cpp1y/pr79937-2.C: New test. * g++.dg/cpp1y/pr79937-3.C: New test. * g++.dg/cpp1y/pr79937-4.C: New test. * g++.dg/cpp1y/pr82410.C: New test. From-SVN: r258593
2018-03-16PR c++/83911 - ICE with multiversioned constructor.Jason Merrill4-17/+48
* cp-gimplify.c (cp_genericize_r): Replace versioned function with dispatchere here. * call.c (build_over_call): Not here. PR c++/83911 - ICE with multiversioned constructor. From-SVN: r258592
2018-03-16re PR c/84873 (ICE: verify_ssa failed (error: definition in block 3 does not ↵Richard Biener2-9/+9
dominate use in block 4)) 2018-03-16 Richard Biener <rguenther@suse.de> PR c/84873 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead unshare the possibly folded expression. From-SVN: r258591
2018-03-16[testsuite] Require vect_int_mult in pr84512.cTom de Vries2-0/+5
2018-03-16 Tom de Vries <tom@codesourcery.com> * gcc.dg/tree-ssa/pr84512.c: Require effective target vect_int_mult. From-SVN: r258590
2018-03-16[testsuite] Require label_values in builtin-unreachable-6.cTom de Vries2-0/+5
2018-03-16 Tom de Vries <tom@codesourcery.com> * gcc.dg/builtin-unreachable-6.c: Require effective target label_values. From-SVN: r258589
2018-03-16re PR c++/84874 (internal compiler error: in reshape_init_class, at ↵Jakub Jelinek2-1/+35
cp/decl.c:5800) PR c++/84874 * g++.dg/cpp2a/desig8.C: New test. From-SVN: r258588
2018-03-16Fix documentation for CLWB ISA.Julia Koval2-2/+7
gcc/ * doc/invoke.texi (Skylake Server): Add CLWB. Cannonlake): Remove CLWB. From-SVN: r258587
2018-03-16re PR tree-optimization/84841 (ICE: tree check: expected ssa_name, have ↵Jakub Jelinek4-3/+33
real_cst in rewrite_expr_tree_parallel, at tree-ssa-reassoc.c:4624) PR tree-optimization/84841 * tree-ssa-reassoc.c (INTEGER_CONST_TYPE): Change to 1 << 4 from 1 << 3. (FLOAT_ONE_CONST_TYPE): Define. (constant_type): Return FLOAT_ONE_CONST_TYPE for -1.0 and 1.0. (sort_by_operand_rank): Put entries with higher constant_type last rather than first to match comments. * gcc.dg/pr84841.c: New test. From-SVN: r258586
2018-03-16re PR c++/84874 (internal compiler error: in reshape_init_class, at ↵Jakub Jelinek4-2/+53
cp/decl.c:5800) PR c++/84874 * decl.c (reshape_init_class): Don't assert d->cur->index == field if d->cur->index is a FIELD_DECL, instead set field to d->cur->index. * g++.dg/cpp2a/desig7.C: New test. From-SVN: r258585