- 06 Feb, 2019 11 commits
-
-
From-SVN: r268587
Joseph Myers committed -
This is a partial implementation of the revised std::common_type rules from P0435R1. PR libstdc++/89102 (partial) * include/std/type_traits (common_type<>): Define. (common_type<T>): Derive from common_type<T, T>. * testsuite/20_util/common_type/requirements/explicit_instantiation.cc: Test zero-length template argument list. * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc: Test additional single argument cases. * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc: Adjust expected error. From-SVN: r268586
Jonathan Wakely committed -
2019-02-06 Bill Seurer <seurer@linux.vnet.ibm.com> * gcc.target/powerpc/vsx-vector-6.p7.c: Update instruction counts and target. * gcc.target/powerpc/vsx-vector-6.p8.c: Update instruction counts and target. * gcc.target/powerpc/vsx-vector-6.p9.c: Update instruction counts and target. From-SVN: r268585
Bill Seurer committed -
Reviewed-on: https://go-review.googlesource.com/c/161338 From-SVN: r268584
Ian Lance Taylor committed -
* libgnarl/s-linux__x32.ads: Resync list of signals with s-linux.ads From-SVN: r268576
Arnaud Charlet committed -
2019-02-06 Richard Biener <rguenther@suse.de> PR tree-optimization/89182 * graphite.h (cached_scalar_evolution_in_region): Declare. * graphite.c (struct seir_cache_key): New. (struct sese_scev_hash): Likewise. (seir_cache): New global. (cached_scalar_evolution_in_region): New function. (graphite_transform_loops): Allocate and release seir_cache. * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Use cached_scalar_evolution_in_region. * graphite-scop-detection.c (scop_detection::can_represent_loop): Simplify. (scop_detection::graphite_can_represent_expr: Use cached_scalar_evolution_in_region. (scop_detection::stmt_simple_for_scop_p): Likewise. (find_params_in_bb): Likewise. (gather_bbs::before_dom_children): Likewise. * graphite-sese-to-poly.c (create_pw_aff_from_tree): Likewise. (add_loop_constraints): Likewise. * gfortran.dg/graphite/pr89182.f90: New testcase. From-SVN: r268575
Richard Biener committed -
PR c/89211 * c-parser.c (c_parser_declaration_or_fndef): Don't update DECL_ARGUMENTS of d if it has been defined already. Use a single if instead of 3 nested ifs. * gcc.dg/pr89211.c: New test. From-SVN: r268574
Jakub Jelinek committed -
re PR middle-end/89210 (ICE tree check: expected integer_cst, have real_cst in to_wide, at tree.h:5600) PR middle-end/89210 * fold-const-call.c (fold_const_vec_convert): Pass true as last operand to new_unary_operation only if both element types are integral and it isn't a widening conversion. Return NULL_TREE if new_unary_operation failed. * c-c++-common/builtin-convertvector-2.c: New test. From-SVN: r268573
Jakub Jelinek committed -
gcc/go: PR go/89019 * go-gcc.cc (Gcc_backend::placeholder_struct_type): Mark placeholder structs as requiring structural equality. (Gcc_backend::set_placeholder_pointer_type): Propagate the canonical type from the desired pointer type to the placeholder pointer type. gcc/testsuite/: * lib/go-torture.exp: Test compiling with -flto. From-SVN: r268572
Nikhil Benesch committed -
As reported in bug 88584, if you have a file-scope array with external linkage, initialized at file scope, and that array is shadowed at block scope, and is declared again with external linkage and an incomplete type in an inner scope, it is wrongly given a complete type in that inner scope when the correct C semantics give it an incomplete type (only the visible declarations contribute to the type in a given scope). In general, issues with the types of external linkage declarations being different in different scopes were addressed by my fixes for bug 13801, for GCC 4.0. In this case, however, the code in pushdecl dealing with giving declarations the right type in each scope works fine, and the type is subsequently modified by complete_array_type called from finish_decl: finish_decl is trying to complete an array type based on an initializer, but that's only correct for the original initialization at file scope, not for such a declaration in an inner scope (it's harmless but unnecessary in the case where the original declaration is still visible in the inner scope). Thus, this patch changes finish_decl to stop this logic applying for such an external declaration in an inner scope. (An erroneous attempt to include an initializer for an extern variable in an inner scope is diagnosed elsewhere.) This is a regression from GCC 3.4, which properly rejected the code in question (quite likely by accident). Bootstrapped with no regressions on x86_64-pc-linux-gnu. gcc/c: PR c/88584 * c-decl.c (finish_decl): Do not complete array types for arrays with external linkage not at file scope. gcc/testsuite: PR c/88584 * gcc.dg/redecl-18.c: New test. From-SVN: r268571
Joseph Myers committed -
From-SVN: r268570
GCC Administrator committed
-
- 05 Feb, 2019 26 commits
-
-
gcc/po: * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po, ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po, zh_TW.po: Update. libcpp/po: * be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, fr.po, id.po, ja.po, nl.po, pr_BR.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po, zh_TW.po: Update. From-SVN: r268567
Joseph Myers committed -
PR libstdc++/89128 * include/bits/stl_queue.h (queue, priority_queue): Add deduction guides. * include/bits/stl_stack.h (stack): Likewise. * testsuite/23_containers/priority_queue/deduction.cc: New test. * testsuite/23_containers/queue/deduction.cc: New test. * testsuite/23_containers/stack/deduction.cc: New test. From-SVN: r268566
Jonathan Wakely committed -
PR c++/89187 * optimize.c (maybe_thunk_body): Clear TREE_ADDRESSABLE on PARM_DECLs of the thunk. * lambda.c (maybe_add_lambda_conv_op): Likewise. * g++.dg/opt/pr89187.C: New test. From-SVN: r268564
Jakub Jelinek committed -
gcc/jit/ChangeLog: 2019-02-05 Andrea Corallo <andrea.corallo@arm.com> * docs/topics/compatibility.rst (LIBGCCJIT_ABI_11): New ABI tag. * docs/topics/contexts.rst (Additional driver options): New section. * jit-playback.c (invoke_driver): Add call to append_driver_options. * jit-recording.c: Within namespace gcc::jit... (recording::context::~context): Free the optnames within m_driver_options. (recording::context::add_driver_option): New method. (recording::context::append_driver_options): New method. (recording::context::dump_reproducer_to_file): Add driver options. * jit-recording.h: Within namespace gcc::jit... (recording::context::add_driver_option): New method. (recording::context::append_driver_options): New method. (recording::context::m_driver_options): New field. * libgccjit++.h (gccjit::context::add_driver_option): New method. * libgccjit.c (gcc_jit_context_add_driver_option): New API entrypoint. * libgccjit.h (gcc_jit_context_add_driver_option): New API entrypoint. (LIBGCCJIT_HAVE_gcc_jit_context_add_driver_option): New macro. * libgccjit.map (LIBGCCJIT_ABI_11): New ABI tag. gcc/testsuite/ChangeLog: 2019-02-05 Andrea Corallo <andrea.corallo@arm.com> * jit.dg/add-driver-options-testlib.c: Add support file for test-add-driver-options.c testcase. * jit.dg/all-non-failing-tests.h: Add note about test-add-driver-options.c * jit.dg/jit.exp (jit-dg-test): Update to support add-driver-options-testlib.c compilation. * jit.dg/test-add-driver-options.c: New testcase. From-SVN: r268563
Andrea Corallo committed -
PR rtl-optimization/11304 * gcc.target/i386/call-1.c (set_eax): Add "eax" clobber. * gcc.target/i386/call-2.c: New test. From-SVN: r268562
Jakub Jelinek committed -
* call.c (convert_like_real) <case ck_user>: Call mark_exp_read instead of mark_rvalue_use. * g++.dg/cpp0x/lambda/lambda-89158.C: New test. From-SVN: r268561
Marek Polacek committed -
Fixes golang/go#28186. Reviewed-on: https://go-review.googlesource.com/c/160832 From-SVN: r268554
Ian Lance Taylor committed -
On powerpc64-linux, this testcase complains the ABI for vector args has changed, making the testcase fail (excess output). This patch shuts up that warning. * gcc.dg/vect/pr84711.c: Use -Wno-psabi. From-SVN: r268553
Segher Boessenkool committed -
gcc/ChangeLog: 2019-02-05 Andreas Krebbel <krebbel@linux.ibm.com> PR target/88856 * config/s390/s390.md: Remove load and test FP splitter. From-SVN: r268550
Andreas Krebbel committed -
2019-02-05 Aaron Sawdey <acsawdey@linux.ibm.com> PR target/89112 * config/rs6000/rs6000-string.c (do_ifelse, expand_cmp_vec_sequence, expand_compare_loop, expand_block_compare_gpr, expand_strncmp_align_check, expand_strncmp_gpr_sequence): Insert REG_BR_PROB notes in inline expansion of memcmp/strncmp. Add #include "profile-count.h" and "predict.h" for types and functions needed to work with REG_BR_PROB notes. From-SVN: r268547
Aaron Sawdey committed -
2019-02-05 Aaron Sawdey <acsawdey@linux.ibm.com> PR target/89112 * config/rs6000/rs6000.md (<bd>tf_<mode>): Generate a local label for the long branch case. From-SVN: r268546
Aaron Sawdey committed -
* gcc.target/powerpc/vec-extract-sint128-1.c: Require int128 effective target. * gcc.target/powerpc/vec-extract-uint128-1.c: Likewise. From-SVN: r268545
Jakub Jelinek committed -
PR target/89188 * dce.c (delete_unmarked_insns): Don't remove no-op moves if they can throw, non-call exceptions are enabled and we can't delete dead exceptions or alter cfg. Set must_clean if delete_insn_and_edges returns true, don't set it blindly for calls. Assert that delete_unreachable_blocks is called only if can_alter_cfg. * g++.dg/opt/pr89188.C: New test. From-SVN: r268544
Jakub Jelinek committed -
The additional logic added to __is_convertible_helper in order to support is_nothrow_convertible makes some uses of is_convertible ill-formed. This appears to be due to PR c++/87603, but can be avoided just by defining a separate helper for is_nothrow_convertible. The same problems are likely to still exist for is_nothrow_convertible, but that is new and so won't cause regressions for existing users of is_convertible. PR libstdc++/89194 * include/std/type_traits (__is_convertible_helper) (__is_convertible_helper<_From, _To, false>): Revert changes to support is_nothrow_convertible. (__is_nt_convertible_helper): New helper. (is_nothrow_convertible): Use __is_nt_convertible_helper. From-SVN: r268543
Jonathan Wakely committed -
PR rtl-optimization/89195 * combine.c (make_extraction): For MEMs, don't extract bytes outside of the original MEM. * gcc.c-torture/execute/pr89195.c: New test. From-SVN: r268542
Jakub Jelinek committed -
gcc/testsuite/ChangeLog: 2019-02-05 Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.target/powerpc/vec-extract-slong-1.c: Require p8 execution hardware. * gcc.target/powerpc/vec-extract-schar-1.c: Likewise. * gcc.target/powerpc/vec-extract-sint128-1.c: Likewise. * gcc.target/powerpc/vec-extract-sshort-1.c: Likewise. * gcc.target/powerpc/vec-extract-ulong-1.c: Likewise. * gcc.target/powerpc/vec-extract-uchar-1.c: Likewise. * gcc.target/powerpc/vec-extract-sint-1.c: Likewise. * gcc.target/powerpc/vec-extract-uint128-1.c: Likewise. * gcc.target/powerpc/vec-extract-ushort-1.c: Likewise. * gcc.target/powerpc/vec-extract-uint-1.c: Likewise. From-SVN: r268541
Kelvin Nilsen committed -
re PR tree-optimization/88606 (ICE: verify_type failed (error: type variant differs by TYPE_TRANSPARENT_AGGR)) 2019-02-05 Richard Biener <rguenther@suse.de> PR c/88606 * c-decl.c (finish_struct): Reset TYPE_TRANSPARENT_AGGR on all type variants when not supported. From-SVN: r268540
Richard Biener committed -
Go back to using CopyConsOnlyType as before r265485, because it works again now. Add test using DelAnyAssign for completeness and additional coverage. * testsuite/23_containers/vector/modifiers/push_back/49836.cc: Restore use of CopyConsOnlyType, but also test DelAnyAssign for completeness. From-SVN: r268539
Jonathan Wakely committed -
The changes to "relocate" std::vector elements can lead to new errors outside the immediate context, because moving the elements to new storage no longer makes use of the move-if-noexcept utilities. This means that types with deleted moves no longer degenerate to copies, but are just ill-formed. The errors happen while instantiating the noexcept-specifier for __relocate_object_a, when deciding whether to try to relocate. This patch introduces indirections to avoid the ill-formed instantiations of std::__relocate_object_a. In order to avoid using if-constexpr prior to C++17 this is done by tag dispatching. After this patch all uses of std::__relocate_a are guarded by checks that will support sensible code (i.e. code not using custom allocators that fool the new checks). PR libstdc++/89130 * include/bits/alloc_traits.h (__is_copy_insertable_impl): Rename to __is_alloc_insertable_impl. Replace single type member with two members, one for each of copy and move insertable. (__is_move_insertable): New trait for internal use. * include/bits/stl_vector.h (vector::_S_nothrow_relocate(true_type)) (vector::_S_nothrow_relocate(true_type)): New functions to conditionally check if __relocate_a can throw. (vector::_S_use_relocate()): Dispatch to _S_nothrow_relocate based on __is_move_insertable. (vector::_S_do_relocate): New overloaded functions to conditionally call __relocate_a. (vector::_S_relocate): New function that dispatches to _S_do_relocate based on _S_use_relocate. * include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert) (vector::_M_default_append): Call _S_relocate instead of __relocate_a. * testsuite/23_containers/vector/modifiers/push_back/89130.cc: New. From-SVN: r268537
Jonathan Wakely committed -
Although GCC and Clang both allow these features pre-C++17 in system headers, Clang does issue warnings with -Wsystem-headers. It can also complicate bisection and/or testcase reduction if # line markers are stripped, because the code won't be known to come from system headers. PR libstdc++/89090 * include/bits/stl_uninitialized.h (__relocate_a_1): Make unused parameter unnamed. Add message to static assertion. * include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert) (vector::_M_default_append): Use _GLIBCXX17_CONSTEXPR for if constexpr in C++11 code. From-SVN: r268536
Jonathan Wakely committed -
2019-02-05 Martin Liska <mliska@suse.cz> PR gcov-profile/89000 * gcov.c (function_summary): Remove argument. (file_summary): New function. (print_usage): Replace tabs with spaces. (generate_results): Use new function file_summary. From-SVN: r268533
Martin Liska committed -
2019-02-05 Marc Glisse <marc.glisse@inria.fr> PR libstdc++/87106 * include/bits/stl_uninitialized.h (__is_trivially_relocatable): Rename... (__is_bitwise_relocatable): ... to this. (__relocate_a_1): Adapt. * include/bits/stl_deque.h (__is_trivially_relocatable): Rename... (__is_bitwise_relocatable): ... to this. From-SVN: r268532
Marc Glisse committed -
PR target/89186 * optabs.c (prepare_cmp_insn): Pass x and y to emit_block_comp_via_libcall rather than XEXP (x, 0) and XEXP (y, 0). * g++.dg/ext/vector36.C: New test. From-SVN: r268531
Jakub Jelinek committed -
2019-02-05 Richard Biener <rguenther@suse.de> PR middle-end/89150 * bitmap.h (struct bitmap_obstack): Do not mark GTY. (struct bitmap_element): Drop chain_prev so we properly recurse on the prev member, supporting tree views. (struct bitmap_head): GTY skip the obstack member. From-SVN: r268530
Richard Biener committed -
When instantiating a partial specialization of a template member function for a full specialization of a class template, we test whether the context of variables local to the partial specialization, i.e., the partial specialization itself, is dependent, and this ICEs in type_dependent_expression_p, when checking that the function type isn't type-dependent because it is not in a type-dependent scope. We shouldn't have got that far: the previous block in type_dependent_expression_p catches cases in which the function itself takes template arguments of its own, but it only did so for primary templates, not for partial specializations. This patch fixes that. for gcc/cp/ChangeLog PR c++/87770 * pt.c (instantiates_primary_template_p): New. (type_dependent_expression_p): Use it. for gcc/testsuite/ChangeLog PR c++/87770 * g++.dg/pr87770.C: New. From-SVN: r268529
Alexandre Oliva committed -
From-SVN: r268528
GCC Administrator committed
-
- 04 Feb, 2019 3 commits
-
-
2019-02-04 Harald Anlauf <anlauf@gmx.de> PR fortran/89077 * gfortran.dg/pr89077.f90: New test. 2019-02-04 Harald Anlauf <anlauf@gmx.de> PR fortran/89077 * gfortran.dg/pr89077.f90: New test. From-SVN: r268525
Harald Anlauf committed -
PR c/88698 * doc/extend.texi (Vector Extensions): Add an example of using vector types together with x86 intrinsics. From-SVN: r268522
Alexander Monakov committed -
2019-02-04 Martin Liska <mliska@suse.cz> PR fortran/89185 * resolve.c (resolve_ref): Remove breakout variable as we need to prevent prev = &(*prev)->next to happen with *prev == NULL. From-SVN: r268521
Martin Liska committed
-