aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2017-02-17PR c++/79556 - C++17 ICE with non-type autoJason Merrill3-0/+15
* pt.c (do_auto_deduction): Don't try to deduce from null type. From-SVN: r245543
2017-02-17re PR tree-optimization/79327 (wrong code at -O2 and -fprintf-return-value)Jakub Jelinek2-20/+15
PR tree-optimization/79327 * gimple-ssa-sprintf.c (format_integer): Remove likely_adjust variable, its initialization and use. From-SVN: r245542
2017-02-17i386-common.c (OPTION_MASK_ISA_RDPID_SET): New.Julia Koval20-10/+113
* common/config/i386/i386-common.c (OPTION_MASK_ISA_RDPID_SET): New. (OPTION_MASK_ISA_PKU_UNSET): New. (ix86_handle_option): Handle -mrdpid. * config/i386/cpuid.h (bit_RDPID): New. * config/i386/driver-i386.c (host_detect_local_cpu): Detect RDPID feature. * config/i386/i386-builtin.def (__builtin_ia32_rdpid): New. * config/i386/i386-c.c (ix86_target_macros_internal): Handle RDPID flag. * config/i386/i386.c (ix86_target_string): Add -mrdpid to isa2_opts. (ix86_valid_target_attribute_inner_p): Add "rdpid". (ix86_expand_builtin): Handle IX86_BUILTIN_RDPID. * config/i386/i386.h (TARGET_RDPID, TARGET_RDPID_P): New. * config/i386/i386.md (define_insn "rdpid"): New. * config/i386/i386.opt Add -mrdpid. * config/i386/immintrin.h (_rdpid_u32): New. testsuite/ChangeLog: * gcc.target/i386/rdpid.c New test. * gcc.target/i386/sse-12.c: Add -mrdpid. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-14.c: Ditto. * gcc.target/i386/sse-22.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. * g++.dg/other/i386-2.C: Ditto. * g++.dg/other/i386-3.C: Ditto. From-SVN: r245540
2017-02-17PR c++/79533 - C++17 ICE with temporary cast to referenceJason Merrill3-1/+25
* call.c (build_over_call): Conversion to a reference prevents copy elision. From-SVN: r245538
2017-02-17re PR rtl-optimization/79541 (lra reads uninitialized memory (with invalid ↵Vladimir Makarov2-3/+9
input)) 2017-02-17 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/79541 * lra-constraints.c (curr_insn_transform): Remove wrong asm insn instead of transforming it into USE. From-SVN: r245536
2017-02-17libgo: update to final Go 1.8 releaseIan Lance Taylor1-1/+1
Along with the update this fixes a problem that was always present but only showed up with the new reflect test. When a program used a **unsafe.Pointer and stored the value in an interface type, the generated type descriptor pointed to the GC data for *unsafe.Pointer. It did that by name, but we were not generating a variable with the right name. Reviewed-on: https://go-review.googlesource.com/37144 From-SVN: r245535
2017-02-17rs6000: Fix extendsfdf2 for signaling NaNsSegher Boessenkool2-4/+26
A cast from float to double should turn a signaling NaN into a quiet NaN, if using -fsignaling-nans. On PowerPC single-precision floats are stored as double precision in registers, and so, the cast normally does nothing. This causes gcc.dg/pr59833.c to fail (it does such a cast, and expects a quiet NaN as output). This patch adds a new pattern, used with -fsignaling-nans in effect, that creates an frsp instruction (or xsrsp) in this case. Since the input already is SFmode, that instruction turns signaling NaNs into quiet NaNs and does nothing more. * config/rs6000/rs6000.md (extendsfdf2): Remove default arguments. If HONOR_SNANS (SFmode) force the input to a register. (*extendsfdf2_fpr): Add !HONOR_SNANS (SFmode) condition. (*extendsfdf2_snan): New pattern, used when using SNaNs; it generates an frsp or similar insn. From-SVN: r245534
2017-02-17testsuite: pr59833.c and pr61441.c should use -fsignaling-nansSegher Boessenkool3-2/+7
The testcases pr59833.c and pr61441.c check whether signaling NaNs as input to some operation result in quiet NaNs. Without -fsignaling-nans this is not guaranteed to happen. So, this patch add this option to these testcases. * gcc.dg/pr59833.c: Add -fsignaling-nans to options. * gcc.dg/pr61441.c: Ditto. From-SVN: r245533
2017-02-17Increase minimum for a param (PR rtl-optimization/79577).Martin Liska2-1/+6
2017-02-17 Martin Liska <mliska@suse.cz> PR rtl-optimization/79577 * params.def (selsched-max-sched-times): Increase minimum to 1. From-SVN: r245532
2017-02-17Use HOST_WIDE_INT for a param calculation (PR rtl-optimization/79574).Martin Liska4-2/+23
2017-02-17 Martin Liska <mliska@suse.cz> PR rtl-optimization/79574 * gcc.dg/pr79574.c: New test. 2017-02-17 Martin Liska <mliska@suse.cz> PR rtl-optimization/79574 * gcse.c (want_to_gcse_p): Prevent integer overflow. From-SVN: r245531
2017-02-17Introduce ssa_defined_default_def_p function (PR tree-optimization/79529).Martin Liska4-10/+33
2017-02-17 Martin Liska <mliska@suse.cz> PR tree-optimization/79529 * tree-ssa-loop-unswitch.c (is_maybe_undefined): Use ssa_defined_default_def_p to handle cases which are implicitly defined. * tree-ssa.c (ssa_defined_default_def_p): New function. (ssa_undefined_value_p): Use ssa_defined_default_def_p to handle cases which are implicitly defined. * tree-ssa.h (ssa_defined_default_def_p): Declare. From-SVN: r245530
2017-02-17re PR tree-optimization/79576 (ICE in gimple_stmt_nonnegative_warnv_p in ↵Richard Biener2-1/+6
gcc/gimple-fold.c:6979) 2017-02-17 Richard Biener <rguenther@suse.de> PR middle-end/79576 * params.def (max-ssa-name-query-depth): Limit to 10. From-SVN: r245529
2017-02-17re PR inline-asm/79552 (Wrong code generation due to -fschedule-insns, with ↵Richard Biener2-2/+14
__restrict__ and inline asm) 2017-02-17 Richard Biener <rguenther@suse.de> PR tree-optimization/79552 * tree-ssa-structalias.c (visit_loadstore): Properly verify default defs. From-SVN: r245528
2017-02-17re PR bootstrap/79567 (Compiler-warning "unknown escape sequence '\x'" about ↵Richard Biener2-0/+10
genmatch-generated C-files on mingw-host) 2017-02-17 Richard Biener <rguenther@suse.de> PR bootstrap/79567 * genmatch.c (output_line_directive): Handle DIR_SEPARATOR_2. From-SVN: r245527
2017-02-17re PR middle-end/79536 (ICE in fold_binary_loc, at fold-const.c:9060)Marek Polacek4-10/+45
PR middle-end/79536 * fold-const.c (fold_negate_expr_1): Renamed from fold_negate_expr. (fold_negate_expr): New wrapper. * gcc.dg/torture/pr79536.c: New test. From-SVN: r245526
2017-02-16invoke.texi (C++ Dialect Options): Correct terminology and de-emphasize ↵Sandra Loosemore2-13/+12
pre-standard behavior. 2017-02-16 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/invoke.texi (C++ Dialect Options) [-Wno-non-template-friend]: Correct terminology and de-emphasize pre-standard behavior. From-SVN: r245525
2017-02-17Daily bump.GCC Administrator1-1/+1
From-SVN: r245524
2017-02-16re PR rtl-optimization/79286 (ira and lra wrong code at -O2 and -Os on ↵Alan Modra4-2/+80
i686-linux) 2017-02-16 Alan Modra <amodra@gmail.com> PR rtl-optimization/79286 * ira.c (def_dominates_uses): New function. (update_equiv_regs): Don't create an equivalence for insns that may trap where the register def does not dominate the use. * gcc.c-torture/execute/pr79286.c: New. From-SVN: r245521
2017-02-16PR c++/79502 - lost nodiscard attributeJakub Jelinek6-9/+107
* pt.c (apply_late_template_attributes): Do apply non-dependent attributes to types. Co-Authored-By: Jason Merrill <jason@redhat.com> From-SVN: r245516
2017-02-16* g++.dg/cpp0x/constexpr-70001-[34].C: Only run as C++14.Jason Merrill2-2/+6
From-SVN: r245515
2017-02-16re PR rtl-optimization/78127 (AArch64 internal compiler error: in ↵Vladimir Makarov2-8/+24
lra_eliminate, at lra-eliminations.c:1440) 2017-02-16 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/78127 * lra.c (lra): Call lra_eliminate before finish the loop after lra_constraint. From-SVN: r245514
2017-02-16exgettext (BUGURL): Introduce, and use instead of four hardcoded instances.Gerald Pfeifer2-4/+11
* exgettext (BUGURL): Introduce, and use instead of four hardcoded instances. From-SVN: r245513
2017-02-16PR c++/78572 - ICE with self-modifying array initializerJason Merrill3-1/+16
* constexpr.c (cxx_eval_store_expression): The object we're initializing is outside the constant-expression. From-SVN: r245511
2017-02-16PR c++/79050 - ICE with undeduced auto and LTOJason Merrill3-2/+17
* decl.c (poplevel): Remove undeduced auto decls. From-SVN: r245510
2017-02-16re PR c++/79512 (ICE: Segfault in gimple_build_call_1, at gimple.c:218)Jakub Jelinek6-0/+41
PR c++/79512 c/ * c-parser.c (c_parser_omp_target): For -fopenmp-simd ignore #pragma omp target even when not followed by identifier. cp/ * parser.c (cp_parser_omp_target): For -fopenmp-simd ignore #pragma omp target even when not followed by identifier. testsuite/ * c-c++-common/gomp/pr79512.c: New test. From-SVN: r245504
2017-02-16graphite.h: Do not include isl/isl_val_gmp.h, instead include isl/isl_val.h.Richard Biener4-54/+50
2017-02-16 Richard Biener <rguenther@suse.de> * graphite.h: Do not include isl/isl_val_gmp.h, instead include isl/isl_val.h. * graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove. (gcc_expression_from_isl_expr_int): Use generic isl_val interface. * graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h. (isl_val_int_from_wi): New function. (extract_affine_gmp): Rename to ... (extract_affine_wi): ... this, take a widest_int. (extract_affine_int): Just wrap extract_affine_wi. (add_param_constraints): Use isl_val_int_from_wi. (add_loop_constraints): Likewise, and extract_affine_wi. From-SVN: r245501
2017-02-15re PR middle-end/79521 (Bootstrap failure on i686-linux starting with r245436)Jeff Law2-1/+8
PR middle-end/79521 * ira-costs.c (scan_one_insn): Check have_regs_of_mode before calling ira_init_register_move_cost_if_necessary. From-SVN: r245500
2017-02-16Daily bump.GCC Administrator1-1/+1
From-SVN: r245499
2017-02-15* es.po: Update.Joseph Myers2-236/+172
From-SVN: r245496
2017-02-15PR c++/79464 - ICE in IPA with omitted constructor parmsJason Merrill6-6/+50
* class.c (build_clone): Also omit parms from TYPE_ARG_TYPES. (adjust_clone_args): Adjust. (add_method): Remember omitted parms. * call.c (add_function_candidate): Likewise. * mangle.c (write_method_parms): Likewise. * method.c (ctor_omit_inherited_parms): Return false if there are no parms to omit. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r245495
2017-02-15PR c++/79363 - ICE with NSDMI and arrayMartin Sebor7-25/+102
gcc/cp/ChangeLog: PR c++/79363 * init.c (maybe_reject_flexarray_init): New function. (perform_member_init): Call it. gcc/testsuite/ChangeLog: PR c++/79363 * g++.dg/ext/flexary12.C: Adjust. * g++.dg/ext/flexary20.C: Same. * g++.dg/ext/flexary21.C: Same. * g++.dg/ext/flexary22.C: New test. From-SVN: r245494
2017-02-15re PR middle-end/32003 (Undocumented -fdump-tree options)Martin Sebor2-1/+8
2017-02-15 Martin Sebor <msebor@redhat.com> PR middle-end/32003 * doc/invoke.texi (-fdump-final-insns): Replace option accidentally removed in a prior commit. From-SVN: r245493
2017-02-15re PR tree-optimization/79347 (vect_do_peeling is messing up profile)Bin Cheng4-2/+61
PR tree-optimization/79347 * tree-vect-loop-manip.c (vect_do_peeling): Maintain profile counters during peeling. gcc/testsuite * gcc.dg/vect/pr79347.c: New test. From-SVN: r245490
2017-02-15re PR c++/79301 (With -Werror=pedantic outside C++17 mode, ↵Jakub Jelinek8-22/+25
__has_cpp_attribute(fallthrough) is nonzero but [[fallthrough]] fails) PR c++/79301 * parser.c (cp_parser_std_attribute): Don't pedwarn about [[deprecated]] with -std=c++11 and [[fallthrough]] with -std=c++11 and -std=c++14. * g++.dg/cpp1y/feat-cxx11-neg.C: Remove (with pedwarn) from [[deprecated]] comment. * g++.dg/cpp1y/feat-cxx98-neg.C: Likewise. * g++.dg/cpp1y/feat-cxx11.C: Likewise. * g++.dg/cpp1y/attr-deprecated-neg.C: Don't expect warnings for [[deprecated]] in -std=c++11. * g++.dg/cpp0x/fallthrough2.C: Don't expect warnings for [[fallthrough]] in -std=c++11 and -std=c++14. From-SVN: r245489
2017-02-15re PR c++/79288 (TLS model wrong for static data members since r241137)Jakub Jelinek4-8/+48
PR c++/79288 * decl.c (grokdeclarator): For static data members, handle thread_p only after handling inline. * g++.dg/tls/pr79288.C: New test. From-SVN: r245488
2017-02-15re PR c/79515 (ICE: tree check: expected class 'type', have 'exceptional' ↵Marek Polacek4-0/+27
(error_mark) in do_warn_double_promotion, at c-family/c-warn.c:1867) PR c/79515 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid conversion has occured. * gcc.dg/dfp/pr79515.c: New. From-SVN: r245485
2017-02-15* g++.dg/cpp0x/pr79296.C: Move dg-do compile directive first.David Edelsohn2-1/+5
From-SVN: r245484
2017-02-15Restore Graphite fuse-*.c testingThomas Schwinge4-8/+10
* Makefile.tpl: Remove HOST_ISLVER. (HOST_EXPORTS): Remove ISLVER. * Makefile.in: Regenerate. gcc/ * Makefile.in (site.exp): Remove "set ISLVER". gcc/testsuite/ * gcc.dg/graphite/graphite.exp: Merge "fuse_files" into "opt_files". From-SVN: r245483
2017-02-15re PR target/79487 (Invalid _Decimal32 comparison on s390x)Jakub Jelinek5-3/+31
PR target/79487 * real.c (real_from_integer): Call real_convert even for decimal. * gcc.dg/dfp/pr79487.c: New test. * c-c++-common/ubsan/float-cast-overflow-8.c (TEST): Revert 2017-02-13 change. From-SVN: r245477
2017-02-15PR target/79241: S/390: define TARGET_CUSTOM_FUNCTION_DESCRIPTORS.Dominik Vogt2-0/+9
gcc/ChangeLog: 2017-02-15 Dominik Vogt <vogt@linux.vnet.ibm.com> PR target/79421 * config/s390/s390.c: define TARGET_CUSTOM_FUNCTION_DESCRIPTORS. From-SVN: r245476
2017-02-15Daily bump.GCC Administrator1-1/+1
From-SVN: r245464
2017-02-14aarch64-cores.def (thunderx2t99): Move to under 'C" cores and change the ↵Andrew Pinski3-2/+11
partno/implementer to be correct. 2017-02-14 Andrew Pinski <apinski@cavium.com> * config/aarch64/aarch64-cores.def (thunderx2t99): Move to under 'C" cores and change the partno/implementer to be correct. (thunderx2t99p1): New core which replaces thunderx2t99 and still has the 'B" as the implementer. * config/aarch64/aarch64-tune.md: Regenerate. From-SVN: r245461
2017-02-14rs6000.c: Add case statement entry to make the xvcvuxdsp built-in argument ↵Carl Love5-5/+43
unsigned. gcc/ChangeLog: 2017-02-14 Carl Love <cel@us.ibm.com> * config/rs6000/rs6000.c: Add case statement entry to make the xvcvuxdsp built-in argument unsigned. * config/rs6000/vsx.md: Fix the source and return operand types so they match the instruction definitions from the ISA document. Fix typo in the instruction generation for the (define_insn "vsx_xvcvuxdsp" statement. gcc/testsuite/ChangeLog: 2017-01-14 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/vsx-builtin-3.c: Add missing test case for the xvcvsxdsp and xvcvuxdsp instructions. From-SVN: r245460
2017-02-14re PR target/79282 ([7 Regresion] FAIL: gcc.target/arm/neon-for-64bits-1.c ↵Vladimir Makarov4-31/+85
scan-assembler-times vshr 0) 2017-02-14 Vladimir Makarov <vmakarov@redhat.com> PR target/79282 * lra-int.h (struct lra_operand_data, struct lra_insn_reg): Add member early_clobber_alts. * lra-lives.c (reg_early_clobber_p): New. (process_bb_lives): Use it. * lra.c (new_insn_reg): New arg early_clobber_alts. Use it. (debug_operand_data): Initialize early_clobber_alts. (setup_operand_alternative): Set up early_clobber_alts. (collect_non_operand_hard_regs): Ditto. Pass early clobber alternatives to new_insn_reg. (add_regs_to_insn_regno_info): Add arg early_clobber_alts. Use it. (lra_update_insn_regno_info): Pass the new arg. From-SVN: r245459
2017-02-14rs6000: Fix the vec-adde* testcases once moreSegher Boessenkool5-6/+13
David found the vec-adde{,c}-int128.c testcases fail on AIX. Those tests should only run on targets that have int128. This also changes the non-int128 testcases to check for the hardware they require. gcc/testsuite/ * gcc.target/powerpc/vec-adde-int128.c: Only run if int128 exists. * gcc.target/powerpc/vec-addec-int128.c: Ditto. * gcc.target/powerpc/vec-adde.c: Require vsx_hw, don't require a 64-bit default target. * gcc.target/powerpc/vec-addec.c: Require p8vector_hw, don't require a 64-bit default target. From-SVN: r245453
2017-02-14re PR middle-end/79505 (Memory leaks in oacc_loop_discover_walk)Jakub Jelinek2-10/+5
PR middle-end/79505 * omp-offload.c (free_oacc_loop): Release loop->ifns vector. (new_oacc_loop_raw): Don't clear already cleared fields. From-SVN: r245445
2017-02-14re PR target/79481 (AVX512PF: unmasked gather prefetch intrinsics missing)Jakub Jelinek13-13/+122
PR target/79481 * config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd, _mm512_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd, _mm512_prefetch_i64gather_ps): New inline functions and macros. * gcc.target/i386/sse-14.c (test_2vx): Add void return type. (test_3vx): Change return type from int to void. (_mm512_prefetch_i32gather_ps, _mm512_prefetch_i32scatter_ps, _mm512_prefetch_i64gather_ps, _mm512_prefetch_i64scatter_ps, _mm512_prefetch_i32gather_pd, _mm512_prefetch_i32scatter_pd, _mm512_prefetch_i64gather_pd, _mm512_prefetch_i64scatter_pd): New tests. * gcc.target/i386/sse-22.c (test_2vx): Add void return type. (test_3vx): Change return type from int to void. (_mm512_prefetch_i32gather_ps, _mm512_prefetch_i32scatter_ps, _mm512_prefetch_i64gather_ps, _mm512_prefetch_i64scatter_ps, _mm512_prefetch_i32gather_pd, _mm512_prefetch_i32scatter_pd, _mm512_prefetch_i64gather_pd, _mm512_prefetch_i64scatter_pd): New tests. * gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: Add non-masked intrinsic. Change scan-assembler-times number from 1 to 2. * gcc.target/i386/avx512pf-vgatherpf0dps-1.c: Likewise. * gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Likewise. * gcc.target/i386/avx512pf-vgatherpf0qps-1.c: Likewise. * gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Likewise. * gcc.target/i386/avx512pf-vgatherpf1dps-1.c: Likewise. * gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Likewise. * gcc.target/i386/avx512pf-vgatherpf1qps-1.c: Likewise. From-SVN: r245444
2017-02-14re PR middle-end/61225 (Several new failures after r210458 on x86_64-*-* ↵Uros Bizjak2-4/+9
with -m32) PR middle-end/61225 * gcc.target/i386/pr49095.c: Add -fno-shrink-wrap to dg-options. Use dg-additional-options for ia32 target. Remove XFAIL. From-SVN: r245442
2017-02-14re PR target/79495 (ICE in extract_constrain_insn, at recog.c:2213)Uros Bizjak4-7/+28
PR target/79495 * config/i386/i386.md (*movxf_internal): Add (o,rC) alternative. testsuite/ChangeLog: 2017-02-14 Uros Bizjak <ubizjak@gmail.com> PR target/79495 * gcc.target/i386/pr79495.c: New test. From-SVN: r245441
2017-02-14re PR c++/79420 (ICE on invalid C++ code on x86_64-linux-gnu: in ↵Marek Polacek6-1/+49
tsubst_copy, at cp/pt.c:14573) PR c++/79420 PR c++/79463 * parser.c (cp_parser_postfix_dot_deref_expression): Avoid clobbering if the postfix expression isn't an EXPR_P. * g++.dg/cpp1y/pr79463.C: New. * g++.dg/template/incomplete10.C: New. * g++.dg/template/incomplete9.C: New. From-SVN: r245440