aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2017-02-18Daily bump.GCC Administrator1-1/+1
From-SVN: r245558
2017-02-17Restore DECIMAL_DIG macro to C99/C11 value.Joseph Myers11-32/+27
By extending the set of floating types, TS 18661-3 thereby affected the definition of DECIMAL_DIG, which is defined in terms of the "widest supported floating type". This is not conditional on whether __STDC_WANT_IEC_60559_TYPES_EXT__ is defined when <float.h> is included. I raised this possible incompatibility with C11 (an implementation should be able to conform simultaneously with C11, and with C11 + TS 18661) in DR#501. This is not yet resolved, but the latest proposal <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2108.pdf> would obsolete DECIMAL_DIG with the intention of limiting it to the C11 types (so making it equivalent to LDBL_DECIMAL_DIG). (This proposal is intended to go along with a corresponding change to TS 18661-3 to avoid the new types and non-arithmetic interchange encodings affecting the value of DECIMAL_DIG.) To avoid releasing GCC 7 with a wider-than-C11 value of DECIMAL_DIG and possibly reverting back to a C11 value in a future release, this patch reverts back to the C11 value now. If the proposed resolution to DR#501 changes again so that DECIMAL_DIG *should* have a wider-than-C11 value, we can move back to a wider-than-C11 value in GCC 8. Bootstrapped with no regressions on x86_64-pc-linux-gnu. gcc/c-family: * c-cppbuiltin.c (builtin_define_float_constants): Define __DECIMAL_DIG__ to the value for long double. gcc/testsuite: * gcc.dg/c11-float-2.c: New test. * gcc.dg/torture/float128-floath.c, gcc.dg/torture/float128x-floath.c, gcc.dg/torture/float16-floath.c, gcc.dg/torture/float32-floath.c, gcc.dg/torture/float32x-floath.c, gcc.dg/torture/float64-floath.c, gcc.dg/torture/float64x-floath.c: Do not test comparison of *_DECIMAL_DIG macros with DECIMAL_DIG. From-SVN: r245555
2017-02-17PR c++/79508 - lookup error with member templateJason Merrill3-1/+33
* parser.c (cp_parser_template_name): Clear parser->context->object_type if we aren't doing lookup. From-SVN: r245553
2017-02-17PR c++/78690 - ICE with using and global type with same nameJason Merrill3-0/+25
* pt.c (type_dependent_object_expression_p): True for IDENTIFIER_NODE. From-SVN: r245549
2017-02-17re PR target/79261 (vec_xxpermdi appears to have endian issues)Bill Schmidt6-6/+125
[gcc] 2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/79261 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be. * config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call generator for vsx_xxpermdi_<mode>_be. * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to force big-endian semantics. (vsx_xxpermdi_<mode>_be): New define_expand with same implementation as previous version of vsx_xxpermdi_<mode>. [gcc/testsuite] 2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/79261 * gcc.target/powerpc/vec-xxpermdi.c: New file. From-SVN: r245545
2017-02-17PR c++/79549 - C++17 ICE with non-type auto template parameter packJason Merrill3-2/+23
* pt.c (convert_template_argument): Just return an auto arg pack. (tsubst_template_args): Don't tsubst an auto pack type. From-SVN: r245544
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