- 21 Mar, 2018 35 commits
-
-
If we get a parse error during an attempted fully implicit function template parse, and need to skip to the end of the statement or block, we may discard the function parms scope rather than the enclosing injected implicit template parms scope. If we rollback a tentative parse and try something else, we'll no longer be in a function parms scope, but rather in a template parms scope, but we may still attempt to synthesize implicit template parms and then fail the assert that checks we're in a function parms scope. This patch introduces an alternative to finish_fully_implicit_template_p, to be used during error recovery, that floats the implicit template parm scope to the top so that it gets discarded as we finish and discard the failed implicit template data, while other scopes are retained as expected. It also clears the implicit template parser data as we finish the template, so that it doesn't linger on referencing discarded or used scopes and parms. for gcc/cp/ChangeLog PR c++/84610 PR c++/84642 * parser.c (abort_fully_implicit_template_p): New. (cp_parser_skip_to_end_of_statement): Use it. (cp_parser_skip_to_end_of_block_or_statement): Likewise. (finish_fully_implicit_template_p): Clear implicit_template_parms and implicit_template_scope. for gcc/testsuite/ChangeLog PR c++/84610 PR c++/84642 * g++.dg/cpp0x/pr84610.C: New. * g++.dg/cpp0x/pr84642.C: New. From-SVN: r258748
Alexandre Oliva committed -
PR c/84999 * c-typeck.c (build_binary_op): If c_common_type_for_size fails when building vector comparison, diagnose it and return error_mark_node. * c-c++-common/pr84999.c: New test. From-SVN: r258747
Jakub Jelinek committed -
re PR c++/84972 (ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in extended_tree, at tree.h:5545) /cp 2018-03-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84972 * decl.c (maybe_deduce_size_from_array_init): Set TREE_TYPE to error_mark_node when check_array_designated_initializer fails. /testsuite 2018-03-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84972 * g++.dg/ext/desig10.C: New. From-SVN: r258746
Paolo Carlini committed -
2018-03-21 Thomas Koenig <tkoenig@gcc.gnu.org> Harald Anlauf <anlauf@gmx.de> PR fortran/84957 * trans-types.c (gfc_sym_type): Do not dereference NULL pointer. 2018-03-21 Thomas Koenig <tkoenig@gcc.gnu.org> Harald Anlauf <anlauf@gmx.de> PR fortran/84957 * gfortran.dg/pr84957.f90: New test. Co-Authored-By: Harald Anlauf <anlauf@gmx.de> From-SVN: r258745
Thomas Koenig committed -
PR tree-optimization/84960 * tree-cfg.c (remove_bb): Don't move forced labels into bb->prev_bb if it is ENTRY block, move them into single succ of ENTRY in that case. * gcc.c-torture/compile/pr84960.c: New test. From-SVN: r258744
Jakub Jelinek committed -
This patch fixes incorrect results for HOST_WIDE_INT positions at opposite extremes when used with HOST_WIDE_INT sizes. It also fixes UB when comparing such positions with unsigned HOST_WIDE_INT sizes (although the results in that case were wrapv-correct). 2018-03-20 Richard Sandiford <richard.sandiford@linaro.org> gcc/ PR tree-optimization/84811 * poly-int.h (poly_span_traits): Remove the T3 parameter and promote HOST_WIDE_INT T2 - T1 results to unsigned HOST_WIDE_INT. (maybe_in_range_p, known_in_range_p, ranges_known_overlap_p): (known_subrange_p): Update accordingly. Cast each value involved in the size comparison, rather than casting the result of the subtraction. gcc/testsuite/ PR tree-optimization/84811 * gcc.dg/torture/pr84811.c: New test. From-SVN: r258743
Richard Sandiford committed -
re PR tree-optimization/84982 (logically inverting bools into local array results in bitwise negation) PR tree-optimization/84982 * gimple-ssa-store-merging.c (invert_op): Handle boolean inversion by flipping the least significant bit rather than all bits from bitpos to bitpos + bitsize - 1. * c-c++-common/pr84982.c: New test. From-SVN: r258742
Jakub Jelinek committed -
PR c++/84961 * cp-tree.h (genericize_compound_lvalue): Declare. * typeck.c (genericize_compound_lvalue): New function. (unary_complex_lvalue, cp_build_modify_expr): Use it. * semantics.c (finish_asm_stmt): Replace MODIFY_EXPR, PREINCREMENT_EXPR and PREDECREMENT_EXPR in output and "m" constrained input operands with COMPOUND_EXPR. Call cxx_mark_addressable on the rightmost COMPOUND_EXPR operand. * c-c++-common/pr43690.c: Don't expect errors on "m" (--x) and "m" (++x) in C++. * g++.dg/torture/pr84961-1.C: New test. * g++.dg/torture/pr84961-2.C: New test. From-SVN: r258741
Jakub Jelinek committed -
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg01129.html PR c++/85008 * tree.c (decl_linkage): Use DECL_CLONED_FUNCTION_P. * decl2.c (vague_linkage_p): Likewise. PR c++/85008 * g++.dg/pr85008.C: New. From-SVN: r258738
Nathan Sidwell committed -
Since the kind of the hidden character length variable is not part of the character variable definition, we must ensure that character lengths are always of the same kind in interfaces, regardless of how they were declared in the source. This patch ensures this when calling a procedure. Regtested on x86_64-pc-linux-gnu and i686-pc-linux-gnu. gcc/fortran/ChangeLog: 2018-03-21 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/84615 * trans-expr.c (gfc_conv_procedure_call): Convert charlen to gfc_charlen_type_node when calling procedure. gcc/testsuite/ChangeLog: 2018-03-21 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/84615 * gfortran.dg/char_result_17.f90: New test. From-SVN: r258736
Janne Blomqvist committed -
gcc/cp/ChangeLog: PR c++/84994 * constexpr.c (constexpr_fn_retval): Make non-"static". * cp-tree.h (constexpr_fn_retval): New decl. * search.c (direct_accessor_p): Update leading comment. (reference_accessor_p): Likewise. (field_accessor_p): Replace check that function body is a RETURN_EXPR with a call to constexpr_fn_retval. Fix indentation of "field_type" decl. gcc/testsuite/ChangeLog: PR c++/84994 * g++.dg/other/accessor-fixits-1.C: Move to... * g++.dg/torture/accessor-fixits-1.C: ...here. * g++.dg/other/accessor-fixits-2.C: Move to... * g++.dg/torture/accessor-fixits-2.C: ...here. * g++.dg/other/accessor-fixits-3.C: Move to... * g++.dg/torture/accessor-fixits-3.C: ...here. * g++.dg/other/accessor-fixits-4.C: Move to... * g++.dg/torture/accessor-fixits-4.C: ...here. * g++.dg/other/accessor-fixits-5.C: Move to... * g++.dg/torture/accessor-fixits-5.C: ...here. * g++.dg/torture/accessor-fixits-6.C: New testcase. * g++.dg/torture/accessor-fixits-7.C: New testcase. * g++.dg/torture/accessor-fixits-8.C: New testcase. From-SVN: r258731
David Malcolm committed -
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg01083.html * doc/extend.texi (Deprecated Features): Remove mention of long-deleted deprecations. From-SVN: r258730
Nathan Sidwell committed -
* gcc.dg/tree-ssa/pr84512.c: xfail on 64-bit SPARC. From-SVN: r258729
Rainer Orth committed -
gcc/jit: PR jit/84288 * Make-lang.in ($(LIBGCCJIT_FILENAME)): Add $(EXTRA_GCC_LIBS). gcc: PR jit/84288 * configure.ac (gcc_cv_ld_soname) <*-*-solaris2*>: Set. * configure: Regenerate. From-SVN: r258727
Rainer Orth committed -
The test pr82989.c which was added in one of previous commits is failing for mthumb and big-endian configurations. The aim of this test was to check that NEON instructions are not being used for simple shift operations. The scanning of lsl and lsr instructions and checking its counts were just too restrictive for different configurations. So I have now simplified the test to only check for the absence of NEON instructions. *** gcc/testsuite/ChangeLog *** 2018-03-21 Sudakshina Das <sudi.das@arm.com> PR target/82989 * gcc.target/arm/pr82989.c: Change dg scan-assembly directives. From-SVN: r258723
Sudakshina Das committed -
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg01108.html PR c++/84804 * name-lookup.c (do_pushtag): Permit lambdas to be pushed into complete classes. PR c++/84804 * g++.dg/lookup/pr84804.C: New. From-SVN: r258722
Nathan Sidwell committed -
* Makefile.am (check-runtime): Pass -test.timeout with GOTOOLS_TEST_TIMEOUT. * Makefile.in: Rebuild. From-SVN: r258721
Uros Bizjak committed -
PR c++/84850 - -Wclass-memaccess on a memcpy in a copy assignment operator with no nontrivial bases or members gcc/cp/ChangeLog: PR c++/84850 * call.c (first_non_public_field): New template and function. (first_non_trivial_field): New function. (maybe_warn_class_memaccess): Call them. gcc/testsuite/ChangeLog: PR c++/84850 * g++.dg/Wclass-memaccess-3.C: New test. * g++.dg/Wclass-memaccess-4.C: New test. From-SVN: r258719
Martin Sebor committed -
gcc/cp/ChangeLog: PR c++/84892 * search.c (field_accessor_p): Use class_of_this_parm rather than type_of_this_parm, to check that "this" is a "const T *", rather than a "T *const". gcc/testsuite/ChangeLog: PR c++/84892 * g++.dg/other/accessor-fixits-1.C (test_access_const_t1_color): New. (test_deref_const_t1_color): New. * g++.dg/other/accessor-fixits-5.C: New testcase. From-SVN: r258716
David Malcolm committed -
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg01093.html * MAINTAINERS: Move maintainers of now-removed picochip and score ports to write after approval. From-SVN: r258715
Nathan Sidwell committed -
* testsuite/20_util/function_objects/comparisons_pointer.cc: Use VERIFY instead of assert. * testsuite/20_util/hash/84998.cc: New test. * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New copy of test adjusted for Debug Mode. * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run test in Debug Mode. From-SVN: r258714
Jonathan Wakely committed -
2018-03-21 Tom de Vries <tom@codesourcery.com> PR tree-optimization/83126 * tree-parloops.c (num_phis): New function. (gen_parallel_loop): Detect and handle canonicalize_loop_ivs failure. * gcc.dg/graphite/pr83126.c: New test. From-SVN: r258713
Tom de Vries committed -
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00995.html * doc/extend.texi (Deprecated Features): Update deprecared flags, mention anon-struct/union members and trailing attributes. cp/ * class.c (finish_struct_anon_r): Refactor, deprecate anything other than public non-static data members. * parser.c (cp_parser_init_declarator): Deprecate attributes after parenthesized initializer. testsuite/ * g++.dg/ext/anon-struct6.C: Adjust. * g++.dg/ext/deprecate-1.C: New. * g++.dg/ext/deprecate-2.C: New. * g++.dg/lookup/pr84602.C: Adjust. * g++.dg/lookup/pr84962.C: Adjust. * g++.old-deja/g++.other/anon4.C From-SVN: r258712
Nathan Sidwell committed -
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg01082.html PR c++/84836 * name-lookup.c (update_binding): Correct logic for local binding update. PR c++/84836 * g++.dg/lookup/pr84836.C: New. From-SVN: r258711
Nathan Sidwell committed -
PR tree-optimization/84969 * tree-loop-distribution.c (fuse_memset_builtins): Don't reorder builtin memset partitions if they set different rhs values. gcc/testsuite * gcc.dg/tree-ssa/pr84969.c: New test. From-SVN: r258710
Bin Cheng committed -
re PR rtl-optimization/84989 (_mm512_broadcast_f32x4 triggers ICE in simplify_const_unary_operation, at simplify-rtx.c:1731) PR rtl-optimization/84989 * simplify-rtx.c (simplify_unary_operation_1): Don't try to simplify VEC_DUPLICATE with scalar result mode. * gcc.target/i386/pr84989.c: New test. From-SVN: r258709
Jakub Jelinek committed -
From-SVN: r258708
Kyrylo Tkachov committed -
2018-03-21 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/arm/pr82518.c: Require arm_neon_hw. From-SVN: r258707
Christophe Lyon committed -
2018-03-21 Christophe Lyon <christophe.lyon@linaro.org> * test_summary: Match possible single quotes in configure path. From-SVN: r258706
Christophe Lyon committed -
2018-03-21 Martin Liska <mliska@suse.cz> PR ipa/84963 * ipa-icf.c (sem_item_optimizer::fixup_points_to_sets): Remove not intended return statement. 2018-03-21 Martin Liska <mliska@suse.cz> PR ipa/84963 * gfortran.dg/goacc/pr84963.f90: New test. From-SVN: r258705
Martin Liska committed -
2018-03-21 Martin Liska <mliska@suse.cz> PR target/84988 * tree-chkp.c (CHKP_ARRAY_MAX_CHECK_STEPS): Define a new macro. (chkp_find_bound_slots_1): Limit number of iterations. From-SVN: r258704
Martin Liska committed -
* constexpr.c (cxx_eval_bare_aggregate): Update constructor's flags even when we replace an element. * g++.dg/cpp0x/nsdmi14.C: New test. * g++.dg/cpp1y/nsdmi-aggr10.C: New test. From-SVN: r258703
Marek Polacek committed -
2018-03-21 Chenghua Xu <paul.hua.gm@gmail.com> * gcc.dg/vect/vect-strided-shift-1.c: Add dg-skip-if for MIPS with -mpaired-single directives. From-SVN: r258702
Chenghua Xu committed -
2018-03-20 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/85001 * interface.c (symbol_rank): Remove bogus null pointer check that crept in when translating a ternary operator into an if-else constructor. 2018-03-20 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/85001 * gfortran.dg/interface_41.f90: New test. From-SVN: r258698
Steven G. Kargl committed -
From-SVN: r258697
GCC Administrator committed
-
- 20 Mar, 2018 5 commits
-
-
PR target/84838 * Minor grammar fixes for x86 options. From-SVN: r258694
David H. Gutteridge committed -
2018-03-20 François Dumont <fdumont@gcc.gnu.org> PR libstdc++/84998 * include/bits/stl_bvector.h: Fix std::hash friend declaration. * include/std/bitset: Likewise. * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend declaration. * include/bits/stl_multimap.h (std::multimap<>): Likewise. * include/bits/stl_multiset.h (std::multiset<>): Likewise. * include/bits/stl_set.h (std::set<>): Likewise. * include/bits/unordered_map.h (std::unordered_map<>): Fix _Hash_merge_helper friend declaration. (std::unordered_multimap<>): Likewise. * include/bits/unordered_set.h (std::unordered_set<>): Likewise. (std::unordered_multiset<>): Likewise. From-SVN: r258693
François Dumont committed -
PR debug/84875 * dce.c (delete_unmarked_insns): Don't remove frame related noop moves holding REG_CFA_RESTORE notes, instead turn them into a USE. * gcc.dg/pr84875.c: New test. From-SVN: r258692
Jakub Jelinek committed -
PR c++/84927 * constexpr.c (cxx_eval_bare_aggregate): Update constructor's flags as we evaluate the elements. (cxx_eval_constant_expression): Verify constructor's flags unconditionally. * g++.dg/cpp1y/nsdmi-aggr9.C: New test. From-SVN: r258691
Marek Polacek committed -
* cvt.c (cp_get_fndecl_from_callee): Add fold parameter. (cp_get_callee_fndecl_nofold): New. * cp-gimplify.c (cp_genericize_r): Use it instead. * call.c (check_self_delegation): Likewise. From-SVN: r258689
Jason Merrill committed
-