aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-12-14decl.c (gnat_to_gnu_field): Do not set the alignment of the enclosing record ↵Eric Botcazou4-1/+32
type if it is not already set. * gcc-interface/decl.c (gnat_to_gnu_field): Do not set the alignment of the enclosing record type if it is not already set. From-SVN: r255645
2017-12-14[arm] Add -mverbose-cost-dump and de-verbosify cost dumpsKyrylo Tkachov3-1/+10
This patch adds an -mverbose-cost-dump option, similar to the one in aarch64. It makes the RTX cost dump print the RTX we're costing in the backend, as well as its cost. This can be distracting in other cost-related RTL dumps like combine's. So now we don't dump the backend information by default, but provide the power-user option -mverbose-cost-dump to enable the old verbose dumping. This option is for GCC developers debugging the compiler only, so no documentation are added. It's also trivially simple in functionality so no test is added either. Bootstrapped and tested on arm-none-linux-gnueabihf. Committed to trunk. * config/arm/arm.opt (mverbose-cost-dump): New option. * config/arm/arm.c (arm_rtx_costs): Use it. From-SVN: r255644
2017-12-14re PR lto/81406 (ICE in check_die, at dwarf2out.c:6185)Jakub Jelinek2-0/+25
PR lto/81406 * gcc.dg/lto/pr81406_0.c: New test. From-SVN: r255643
2017-12-14re PR tree-optimization/66974 (-Warray-bounds false positive with -O3)Richard Biener2-0/+20
2017-12-14 Richard Biener <rguenther@suse.de> PR tree-optimization/66974 * gcc.dg/Warray-bounds-24.c: New testcase. From-SVN: r255642
2017-12-14re PR tree-optimization/65258 (Wrong array bounds warning)Richard Biener2-0/+20
2017-12-14 Richard Biener <rguenther@suse.de> PR tree-optimization/65258 * gcc.dg/Warray-bounds-23.c: New testcase. From-SVN: r255641
2017-12-14re PR bootstrap/83396 (Bootstrap failures with Statement Frontiers)Andreas Schwab2-2/+7
PR bootstrap/83396 * reload1.c (emit_input_reload_insns): Skip debug markers. From-SVN: r255640
2017-12-14[compare-debug] use call loc for nop_endbrAlexandre Oliva2-8/+15
We skip debug insns and notes after a call that needs a nop_endbr, but since a debug insn could be the last in a block, it may affect the loc in the emitted nop_endbr insn. Although this has no effect on codegen, it does mess with debug info a bit, and it causes -fcompare-debug to fail for e.g. libsanitizer's tsan/tsan_platform_linux.cc on x86_64. So, pick the location of the call insn for the nop_endbr insn, to avoid the line number differences in dumps, including -fcompare-debug ones. Also, we don't need to determine what the insert point would be unless we're actually emitting the nop_endbr insn after the call, so rearrange the code to avoid wasting cycles. Finally, it seems like testing for barriers is a mistake. We probably never actually pass that test, for the barriers would hit BB_END first. If we did, we'd end up emitting the nop_endbr outside any BB, even after the end of the function! That would be Very Bad (TM). Now, since the test as it is can't hurt, I figured I wouldn't change the logic right now, just add a comment so that someone involved in endbr stuff can have a second look and hopefully fix it. for gcc/ChangeLog * config/i386/i386.c (rest_of_insert_endbranch): Use call loc for its nop_endbr. From-SVN: r255639
2017-12-14[SFN] next/prev_nonnote_insn_bb are no more, even for portsAlexandre Oliva7-32/+45
The patch that added _nondebug to next_ and prev_nonnote_insn_bb failed to find and adjust uses within config. Fixed. for gcc/ChangeLog PR bootstrap/83396 * config/arc/arc.c (hwloop_optimize): Skip debug insns. * config/sh/sh-protos.h (sh_find_set_of_reg): Adjust. * config/sh/sh.c: Skip debug insns besides notes. * config/sh/sh.md: Likewise. * config/sh/sh_treg_combine.cc: Likewise. * config/sh/sync.md: Likewise. From-SVN: r255638
2017-12-14Require effective target weak_undefined for visibility-22.cTom de Vries5-4/+24
2017-12-14 Tom de Vries <tom@codesourcery.com> * lib/target-supports.exp (check_effective_target_weak_undefined): New proc. * gcc.dg/visibility-22.c: Require effective target weak_undefined. * doc/sourcebuild.texi (Effective-Target Keywords, Other attributes): Add item for weak_undefined. From-SVN: r255637
2017-12-14re PR tree-optimization/67842 (Incorrect check in sese.h:bb_in_region)Richard Biener2-14/+5
2017-12-14 Richard Biener <rguenther@suse.de> PR tree-optimization/67842 * sese.h (bb_in_region): Remove #if 0'ed code. From-SVN: r255636
2017-12-14re PR tree-optimization/83326 (SPEC CPU2017 648.exchange2_s ~6% performance ↵Richard Biener4-8/+64
regression with r255267 (reproducer attached)) 2017-12-14 Richard Biener <rguenther@suse.de> PR tree-optimization/83326 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add may_be_zero parameter and handle it by not marking the first peeled copy as not exiting the loop. (try_peel_loop): Likewise. (canonicalize_loop_induction_variables): Use number_of_iterations_exit to handle the case of constant or zero iterations and perform loop header copying on-the-fly. * gcc.dg/tree-ssa/pr81388-2.c: Adjust. From-SVN: r255635
2017-12-14Test whitespace handling in std::complex extractionJonathan Wakely2-0/+31
* testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc: Add tests using noskipws. From-SVN: r255632
2017-12-14gigi.h (pad_type_has_rm_size): Declare.Eric Botcazou8-74/+133
* gcc-interface/gigi.h (pad_type_has_rm_size): Declare. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Do not build a padding type for the alignment before validating the size. Flip conditional construct and add a comment. * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Make sure to apply the exception for padded objects to the type of the object. * gcc-interface/utils.c (hash_pad_type): New static function. (lookup_and_insert_pad_type): Rename into... (canonicalize_pad_type): ...this. Call hash_pad_type, do only one lookup with insertion and always return the canonical type. (maybe_pad_type): Adjust to above changes. Set debug type later. (pad_type_has_rm_size): New predicate. (set_reverse_storage_order_on_pad_type): Adjust to above changes. From-SVN: r255631
2017-12-14Improve std::complex test and move to sub-directoryJonathan Wakely2-17/+10
* testsuite/26_numerics/complex/dr2714.cc: Move to ... * testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc: ... Here. Remove duplicate header and dg-options. Check first invalid character gets putback. Remove wchar_t test. From-SVN: r255630
2017-12-14re PR middle-end/83415 (ICE during gimplification of assignment to read-only ↵Richard Biener4-1/+25
vector) 2017-12-14 Richard Biener <rguenther@suse.de> PR c/83415 c/ * c-fold.c (c_fully_fold_internal): Treat VIEW_CONVERT_EXPR like REALPART_EXPR for the behavior of whether its operand is an lvalue. * gcc.dg/pr83415.c: New testcase. From-SVN: r255629
2017-12-14re PR tree-optimization/83418 (ICE in ↵Richard Biener4-3/+33
extract_range_for_var_from_comparison_expr, at vr-values.c:448) 2017-12-14 Richard Biener <rguenther@suse.de> PR tree-optimization/83418 * vr-values.c (vr_values::extract_range_for_var_from_comparison_expr): Instead of asserting we don't get unfolded comparisons deal with them. * gcc.dg/torture/pr83418.c: New testcase. From-SVN: r255628
2017-12-14re PR bootstrap/83396 (Bootstrap failures with Statement Frontiers)Jakub Jelinek4-11/+38
PR bootstrap/83396 * var-tracking.c (vt_initialize): Ignore non-DEBUG_INSNs outside of basic blocks. Assert debug bind insns don't appear outside of bbs, don't reset them. Assert insns without BLOCK_FOR_INSN are outside of bb. Simplify. * gcc.dg/pr83396.c: New test. From-SVN: r255627
2017-12-14re PR tree-optimization/83198 (ICE in format_floating, at ↵Jakub Jelinek5-5/+59
gimple-ssa-sprintf.c:1900) PR tree-optimization/83198 * gimple-ssa-sprintf.c (format_floating): Set type solely based on dir.modifier, regardless of TREE_TYPE (arg). Assume non-REAL_CST value if arg is a REAL_CST with incompatible type. * gcc.dg/pr83198.c: New test. * gcc.dg/tree-ssa/pr83198.c: New test. From-SVN: r255626
2017-12-14[PATCH PR81228][AARCH64]Fix ICE by adding LTGT in vec_cmp<mode><v_int_equiv>Sudakshina Das5-1/+46
This patch is a follow up to the existing discussions on https://gcc.gnu.org/ml/gcc-patches/2017-07/msg01904.html Bin had earlier submitted this patch to fix the ICE that occurs because of the missing LTGT in aarch64-simd.md. That discussion opened up a new bug report PR81647 for an inconsistent behavior. As discussed earlier on the gcc-patches discussion and on the bug report, PR81647 was occurring because of how UNEQ was handled in aarch64-simd.md rather than LTGT. Since __builtin_islessgreater is guaranteed to not give an FP exception but LTGT might, __builtin_islessgreater gets converted to ~UNEQ very early on in fold_builtin_unordered_cmp. Thus I will post a separate patch for correcting how UNEQ and other unordered comparisons are handled in aarch64-simd.md. This patch is only adding the missing LTGT to plug the ICE. Testing done: Checked for regressions on bootstrapped aarch64-none-linux-gnu and added a new compile time test case that gives out LTGT to make sure it doesn't ICE *** gcc/ChangeLog *** 2017-12-14 Sudakshina Das <sudi.das@arm.com> Bin Cheng <bin.cheng@arm.com> PR target/81228 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Move LTGT to CCFPEmode. * config/aarch64/aarch64-simd.md (vec_cmp<mode><v_int_equiv>): Add LTGT. *** gcc/testsuite/ChangeLog *** 2017-12-14 Sudakshina Das <sudi.das@arm.com> PR target/81228 * gcc.dg/pr81228.c: New. Co-Authored-By: Bin Cheng <bin.cheng@arm.com> From-SVN: r255625
2017-12-14[AArch64] Specify fp16 support for Cortex-A55 and Cortex-A75Kyrylo Tkachov2-3/+8
The Cortex-A55 and Cortex-A75 processors support the fp16 extension. We already specify them as such in the arm port. This patch makes aarch64 consistent on this front. Bootstrapped and tested on aarch64-none-linux-gnu. Manually checked that compiling with aarch64-none-linux-gnu-gcc -mcpu=cortex-a55 -dM -E - < /dev/null shows __ARM_FEATURE_FP16_VECTOR_ARITHMETIC and __ARM_FEATURE_FP16_SCALAR_ARITHMETIC being specified as expected whereas they were not before this patch. * config/aarch64/aarch64-cores.def (cortex-a55, cortex-a75, cortex-a75.cortex-a55): Specify AARCH64_FL_F16 in the arch features. From-SVN: r255624
2017-12-14re PR c++/79650 (ICE on invalid c++ code with label arithmetic in ↵Jakub Jelinek4-1/+44
convert_nontype_argument (pt.c:6515)) PR c++/79650 * pt.c (convert_nontype_argument): Diagnose reduced_constant_expression_p expressions that aren't INTEGER_CST. * g++.dg/template/pr79650.C: New test. From-SVN: r255623
2017-12-14re PR libfortran/78549 (Very slow formatted internal file output)Jerry DeLisle5-8/+44
2017-12-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/78549 * io/inquire.c (inquire_via_unit): Adjust test for existence for pre-connected internal units. * io/transfer.c (finalize_transfer): When done with a transfer to internal units, free the format buffer and close the stream. (st_read_done): Delete freeing the stream, now handled using sclose in finalize_transfer. (st_write_done): Likewise. * io/unit.c (get_unit): Return NULL for special reserved unit numbers, signifying not accessible to the user. (init_units): Insert the two special internal units into the unit treap. This makes these unit structures available without further allocations for later use by internal unit I/O. These units are automatically deleted by normal program termination. * io/unix.c (mem_close): Add a guard check to protect from double free. From-SVN: r255621
2017-12-14Daily bump.GCC Administrator1-1/+1
From-SVN: r255620
2017-12-14poly_int: add poly-int.hRichard Sandiford28-12/+8871
This patch adds a new "poly_int" class to represent polynomial integers of the form: C0 + C1*X1 + C2*X2 ... + Cn*Xn It also adds poly_int-based typedefs for offsets and sizes of various precisions. In these typedefs, the Ci coefficients are compile-time constants and the Xi indeterminates are run-time invariants. The number of coefficients is controlled by the target and is initially 1 for all ports. Most routines can handle general coefficient counts, but for now a few are specific to one or two coefficients. Support for other coefficient counts can be added when needed. The patch also adds a new macro, IN_TARGET_CODE, that can be set to indicate that a TU contains target-specific rather than target-independent code. When this macro is set and the number of coefficients is 1, the poly-int.h classes define a conversion operator to a constant. This allows most existing target code to work without modification. The main exceptions are: - values passed through ..., which need an explicit conversion to a constant - ?: expression in which one arm ends up being a polynomial and the other remains a constant. In these cases it would be valid to convert the constant to a polynomial and the polynomial to a constant, so a cast is needed to break the ambiguity. The patch also adds a new target hook to return the estimated value of a polynomial for costing purposes. The patch also adds operator<< on wide_ints (it was already defined for offset_int and widest_int). I think this was originally excluded because >> is ambiguous for wide_int, but << is useful for converting bytes to bits, etc., so is worth defining on its own. The patch also adds operator% and operator/ for offset_int and widest_int, since those types are always signed. These changes allow the poly_int interface to be more predictable. I'd originally tried adding the tests as selftests, but that ended up bloating cc1 by at least a third. It also took a while to build them at -O2. The patch therefore uses plugin tests instead, where we can force the tests to be built at -O0. They still run in negligible time when built that way. 2017-12-14 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * poly-int.h: New file. * poly-int-types.h: Likewise. * coretypes.h: Include them. (POLY_INT_CONVERSION): Define. * target.def (estimated_poly_value): New hook. * doc/tm.texi.in (TARGET_ESTIMATED_POLY_VALUE): New hook. * doc/tm.texi: Regenerate. * doc/poly-int.texi: New file. * doc/gccint.texi: Include it. * doc/rtl.texi: Describe restrictions on subreg modes. * Makefile.in (TEXI_GCCINT_FILES): Add poly-int.texi. * genmodes.c (NUM_POLY_INT_COEFFS): Provide a default definition. (emit_insn_modes_h): Emit a definition of NUM_POLY_INT_COEFFS. * targhooks.h (default_estimated_poly_value): Declare. * targhooks.c (default_estimated_poly_value): New function. * target.h (estimated_poly_value): Likewise. * wide-int.h (WI_UNARY_RESULT): Use wi::binary_traits. (wi::unary_traits): Delete. (wi::binary_traits::signed_shift_result_type): Define for offset_int << HOST_WIDE_INT, etc. (generic_wide_int::operator <<=): Define for all types and use wi::lshift instead of <<. (wi::hwi_with_prec): Add a default constructor. (wi::ints_for): New class. (operator <<): Define for all wide-int types. (operator /): New function. (operator %): Likewise. * selftest.h (ASSERT_KNOWN_EQ, ASSERT_KNOWN_EQ_AT, ASSERT_MAYBE_NE) (ASSERT_MAYBE_NE_AT): New macros. gcc/testsuite/ * gcc.dg/plugin/poly-int-tests.h, gcc.dg/plugin/poly-int-test-1.c, gcc.dg/plugin/poly-int-01_plugin.c, gcc.dg/plugin/poly-int-02_plugin.c, gcc.dg/plugin/poly-int-03_plugin.c, gcc.dg/plugin/poly-int-04_plugin.c, gcc.dg/plugin/poly-int-05_plugin.c, gcc.dg/plugin/poly-int-06_plugin.c, gcc.dg/plugin/poly-int-07_plugin.c: New tests. * gcc.dg/plugin/plugin.exp: Run them. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r255617
2017-12-13re PR middle-end/78468 (libgomp.c/reduction-10.c and many more FAIL)Eric Botcazou5-18/+41
PR middle-end/78468 * emit-rtl.c (init_emit): Remove ??? comment. * explow.c (get_dynamic_stack_size): Take known alignment of stack pointer + STACK_DYNAMIC_OFFSET into account in lieu of STACK_BOUNDARY. * config/sparc/sparc.h (INIT_EXPANDERS): In 32-bit mode, lower the alignment of 3 virtual registers to BITS_PER_WORD. * config/sparc/sparc.c (sparc_compute_frame_size): Simplify. Co-Authored-By: Dominik Vogt <vogt@linux.vnet.ibm.com> From-SVN: r255616
2017-12-13ppc-auxv.h (PPC_FEATURE2_HTM_NO_SUSPEND): New define.Peter Bergner5-0/+12
gcc/ * config/rs6000/ppc-auxv.h (PPC_FEATURE2_HTM_NO_SUSPEND): New define. * config/rs6000/rs6000.c (cpu_supports_info): Use it. gcc/testsuite/ * gcc.target/powerpc/cpu-builtin-1.c (htm-no-suspend): Add test. From-SVN: r255614
2017-12-13re PR c++/81061 (ICE modifying read-only variable)Paolo Carlini4-2/+20
/cp 2017-12-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/81061 * typeck.c (cp_build_modify_expr): Upon cxx_readonly_error immediately return error_mark_node. /testsuite 2017-12-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/81061 * g++.dg/other/const5.C: New. From-SVN: r255613
2017-12-13[SFN] don't eliminate regs in markersAlexandre Oliva2-1/+6
Eliminate regs in debug bind insns, but not in markers. for gcc/ChangeLog PR bootstrap/83396 * reload1.c (eliminate_regs_in_insn): Skip debug markers. From-SVN: r255612
2017-12-13tree-cfg.c (verify_gimple_in_cfg): Verify no non-label stmts with the ↵Jakub Jelinek2-0/+18
exception of debug begin stmt markers appear... * tree-cfg.c (verify_gimple_in_cfg): Verify no non-label stmts with the exception of debug begin stmt markers appear before labels. From-SVN: r255611
2017-12-13re PR bootstrap/83396 (Bootstrap failures with Statement Frontiers)Jakub Jelinek3-4/+11
PR bootstrap/83396 * final.c (rest_of_handle_final): Call variable_tracking_main only if !flag_var_tracking. From-SVN: r255610
2017-12-13re PR bootstrap/83396 (Bootstrap failures with Statement Frontiers)Alexandre Oliva5-2/+112
PR bootstrap/83396 PR debug/83391 * tree-cfgcleanup.c (remove_forwarder_block): Keep after labels debug stmts that can only appear after labels. * gcc.dg/torture/pr83396.c: New test. * g++.dg/torture/pr83391.C: New test. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r255609
2017-12-13PR libstdc++/59568 fix error handling for std::complex stream extractionJonathan Wakely3-19/+217
PR libstdc++/59568 * include/std/complex (operator>>): Implement proposed resolution to LWG 2714. Use putback if and only if a character has been successfully extracted but isn't a delimiter. Use ctype::widen and traits::eq when testing if extracted characters match delimiters. * testsuite/26_numerics/complex/dr2714.cc: New test. From-SVN: r255608
2017-12-13sel-sched: fix sel_rank_for_schedule for qsort (PR 82398)Alexander Monakov2-1/+7
PR rtl-optimization/82398 * sel-sched.c (sel_rank_for_schedule): Fix check for zero EXPR_USEFULNESS in priority comparison. From-SVN: r255607
2017-12-13combine: Fix PR83393Segher Boessenkool4-1/+50
In move_deaths we move a REG_DEAD note if the instruction combination has extended the lifetime of a register so that the existing note is no longer valid. We find that note using reg_stat, but what that finds can refer to a later insn. If so, we cannot use the cached value. This patch implements that. PR rtl-optimization/83393 * combine.c (move_deaths): If reg_stat points to a too new insn in last_death, do not use it: find the proper insn instead. gcc/testsuite/ PR rtl-optimization/83393 * gcc.dg/pr83393.c: New testcase. From-SVN: r255606
2017-12-13[PR C++/15272] lookups with ambiguating dependent baseNathan Sidwell4-28/+58
https://gcc.gnu.org/ml/gcc-patches/2017-12/msg00766.html PR c++/15272 * pt.c (tsubst_baselink): Don't repeat the lookup for non-dependent baselinks. PR c++/15272 * g++.dg/template/pr71826.C: Adjust for 15272 fix. From-SVN: r255605
2017-12-13* gcc-interface/trans.c (Subprogram_Body_to_gnu): Initialize locus.Eric Botcazou2-1/+6
From-SVN: r255603
2017-12-13trans.c (process_freeze_entity): Be prepared for a package without body.Eric Botcazou2-4/+9
* gcc-interface/trans.c (process_freeze_entity): Be prepared for a package without body. From-SVN: r255601
2017-12-13decl.c (gnat_to_gnu_entity): Robustify test for types descendant of ↵Eric Botcazou2-3/+9
System.Address. * gcc-interface/decl.c (gnat_to_gnu_entity): Robustify test for types descendant of System.Address. (gnat_to_gnu_subprog_type): Likewise. From-SVN: r255599
2017-12-12Use C version of multi3 for RVE support.Kito Cheng4-91/+93
libgcc/ * config/riscv/t-elf: Use multi3.c instead of multi3.S. * config/riscv/multi3.c: New file. * config/riscv/multi3.S: Remove. From-SVN: r255598
2017-12-13Daily bump.GCC Administrator1-1/+1
From-SVN: r255596
2017-12-12re PR tree-optimization/83298 (wrong code at -O1, -O2 and -O3 on ↵Jeff Law12-24/+223
x86_64-linux-gnu) PR tree-optimization/83298 PR tree-optimization/83362 PR tree-optimization/83383 * gimple-ssa-evrp-analyze.h (class evrp_range_analyzer): Make push_value_range a public interface. Add new argument to record_ranges_from_stmt. * gimple-ssa-evrp-analyze.c (evrp_range_analyzer::record_ranges_from_stmt): Add new argument. Update comments. Handle recording temporary equivalences. * tree-ssa-dom.c (dom_opt_opt_walker::before_dom_children): Add new argument to call to evrp_range_analyzer::record_ranges_from_stmt. * gimple-ssa-evrp.c (evrp_dom_walker::before_dom_children): Likewise. * tree-ssa-threadedge.c: Include alloc-pool.h, vr-values.h and gimple-ssa-evrp-analyze.h. (record_temporary_equivalences_from_phis): Add new argument. When the PHI arg is an SSA_NAME, set the result's range to the range of the PHI arg. (record_temporary_equivalences_from_stmts_at_dest): Record ranges from statements too. (thread_through_normal_block): Accept new argument, evrp_range_analyzer. Pass it down to children as needed. (thread_outgoing_edges): Likewise. (thread_across_edge): Likewise. Push/pop range state as needed. * tree-ssa-threadedge.h (thread_outgoing_edges): Update prototype. PR tree-optimization/83298 PR tree-optimization/83362 PR tree-optimization/83383 * gcc.c-torture/execute/pr83298.c: New test. * gcc.c-torture/execute/pr83362.c New test. * gcc.c-torture/execute/pr83383.c New test. From-SVN: r255593
2017-12-12re PR target/82190 (Possibly latent miscompilation issue on ↵Aaron Sawdey2-6/+28
ppc64le-linux-gnu for memcpy-bi.c with -fweb -fno-optimize-strlen) 2017-12-12 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> PR target/82190 * config/rs6000/rs6000-string.c (expand_block_compare, expand_strn_compare): Fix set_mem_size() calls. From-SVN: r255592
2017-12-12Remove type_dependent_init_p.Jason Merrill2-34/+7
* decl.c (value_dependent_init_p): Check the type of a CONSTRUCTOR. (type_dependent_init_p): Remove. From-SVN: r255591
2017-12-12PR c++/82115 - ICE with variable initialized with its own address.Jason Merrill5-24/+50
* cp-tree.h (struct lang_decl_base): Add dependent_init_p. (DECL_DEPENDENT_INIT_P, SET_DECL_DEPENDENT_INIT_P): New. * decl.c (cp_finish_decl): Set it. (duplicate_decls): Copy it. * pt.c (tsubst_decl): Clear it. (value_dependent_expression_p): Revert earlier change. Check it. From-SVN: r255590
2017-12-12i386.c (PTA_SKYLAKE_AVX512): Add PTA_CLWB.Uros Bizjak2-6/+13
* config/i386/i386.c (PTA_SKYLAKE_AVX512): Add PTA_CLWB. (PTA_CANNONLAKE): Remove PTA_CLWB. From-SVN: r255589
2017-12-12re PR target/83332 (new test case gfortran.dg/vect/pr81303.f fails (r255499))Bill Schmidt2-0/+61
2017-12-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/83332 * config/rs6000/vector.md (vcondv2dfv2di): New define_expand. (vcondv2div2df): Likewise. (vconduv2dfv2di): Likewise. From-SVN: r255588
2017-12-12intrinsic.texi (MAXLOC): Remove double description of return value.Thomas Koenig2-10/+14
2017-12-12 Thomas Koenig <tkoenig@gcc.gnu.org> * intrinsic.texi (MAXLOC): Remove double description of return value. (MINLOC): Likewise. From-SVN: r255587
2017-12-12builtins.def (BUILT_IN_NEXTAFTER, [...]): Use ATTR_MATHFN_ERRNO instead of ↵Jakub Jelinek2-6/+13
ATTR_MATHFN_FPROUNDING_ERRNO. * builtins.def (BUILT_IN_NEXTAFTER, BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD, BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL): Use ATTR_MATHFN_ERRNO instead of ATTR_MATHFN_FPROUNDING_ERRNO. From-SVN: r255586
2017-12-12PR libstdc++/83395 fix invocable traits for INVOKE<cv void>Jonathan Wakely4-14/+70
PR libstdc++/83395 * include/std/type_traits (__is_invocable_impl): Remove partial specialization for INVOKE<void> and restore is_void<R> check in primary template. (__is_nt_invocable_impl): Likewise. * testsuite/20_util/is_invocable/83395.cc: New test. * testsuite/20_util/is_nothrow_invocable/83395.cc: New test. From-SVN: r255584
2017-12-12Updated email in MAINTAINERS file.Steven Munroe1-1/+1
From-SVN: r255583