- 15 Mar, 2019 6 commits
-
-
r269586 puts single quotes around option names. This patch fixes tests that expect the old format. From-SVN: r269706
Robin Dapp committed -
As of recently the -march,-mcpu,-mtune strings in the error messages are now quoted. This patch adjusts the testcases in gcc.target/aarch64/ that had started failing due to that change. PR target/89719 * gcc.target/aarch64/spellcheck_4.c: Adjust dg-error string. * gcc.target/aarch64/spellcheck_5.c: Likewise. * gcc.target/aarch64/spellcheck_6.c: Likewise. From-SVN: r269703
Kyrylo Tkachov committed -
PR c++/89709 * tree.c (inchash::add_expr): Strip any location wrappers. * fold-const.c (operand_equal_p): Move stripping of location wrapper after hash verification. * g++.dg/cpp0x/constexpr-89709.C: New test. From-SVN: r269702
Jakub Jelinek committed -
PR debug/89704 * dwarf2out.c (add_const_value_attribute): Return false for MINUS, SIGN_EXTEND and ZERO_EXTEND. * gcc.dg/debug/pr89704.c: New test. From-SVN: r269700
Jakub Jelinek committed -
The compiler generates two array index expressions when lowering an append expression. Currently they generate bound checks. Bound checks are not necessary in this case, as we know the slice has, or will grow to, enough length and capacity. Eliminate them. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/166817 From-SVN: r269699
Ian Lance Taylor committed -
From-SVN: r269698
GCC Administrator committed
-
- 14 Mar, 2019 18 commits
-
-
* hash-table.h (remove_elt_with_hash): Return if slot is NULL rather than if is_empty (*slot). * hash-set-tests.c (test_set_of_strings): Add tests for addition of existing elt and for elt removal. * hash-map-tests.c (test_map_of_strings_to_int): Add test for removal of already removed elt. * hashtab.c (htab_remove_elt_with_hash): Return if slot is NULL rather than if *slot is HTAB_EMPTY_ENTRY. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r269695
Jason Merrill committed -
When we split: (insn 18 17 76 2 (set (reg:SF 88 [ _19 ]) (float:SF (mem/c:SI (symbol_ref:DI ("d") [flags 0x2] <var_decl 0x7fd6d8290c60 d>) [1 d+0 S4 A32]))) "x.ii":4:20 170 {*floatsisf2} (expr_list:REG_EH_REGION (const_int 2 [0x2]) (nil))) to (insn 94 17 18 2 (set (reg:V4SF 115) (vec_merge:V4SF (vec_duplicate:V4SF (float:SF (mem/c:SI (symbol_ref:DI ("d") [flags 0x2] <var_decl 0x7f346837ac60 d>) [1 d+0 S4 A32]))) (reg:V4SF 114) (const_int 1 [0x1]))) "x.ii":4:20 -1 (nil)) (insn 18 94 76 2 (set (reg:SF 88 [ _19 ]) (subreg:SF (reg:V4SF 115) 0)) "x.ii":4:20 112 {*movsf_internal} (expr_list:REG_EH_REGION (const_int 2 [0x2]) (nil))) we must copy the REG_EH_REGION note to the first insn and split the block after the newly added insn. The REG_EH_REGION on the second insn will be removed later since it no longer traps. gcc/ PR target/89650 * config/i386/i386.c (remove_partial_avx_dependency): Handle REG_EH_REGION note. gcc/testsuite/ PR target/89650 * g++.target/i386/pr89650.C: New test. From-SVN: r269694
H.J. Lu committed -
* parser.c (cp_parser_decl_specifier_seq): Support C++20 concept-definition syntax without 'bool'. From-SVN: r269692
Jason Merrill committed -
From-SVN: r269691
Uros Bizjak committed -
2019-03-14 Thomas Koenig <tkoenig@gcc.gnu.org> * gfortran.texi: Document Q edit descriptor under " Extensions not implemented in GNU Fortran". From-SVN: r269690
Thomas Koenig committed -
2019-03-14 Martin Liska <mliska@suse.cz> PR other/89712 * doc/invoke.texi: Remove -fdump-class-hierarchy option. From-SVN: r269684
Martin Liska committed -
2019-03-14 Richard Biener <rguenther@suse.de> PR target/89711 * config/i386/i386.c (make_resolver_func): Properly set DECL_CONTEXT on the RESULT_DECL. * config/rs6000/rs6000.c (make_resolver_func): Likewise. From-SVN: r269683
Richard Biener committed -
2019-03-14 Richard Biener <rguenther@suse.de> c/ * c-tree.h (enum c_declspec_il): New. (struct c_declspecs): Merge gimple_p and rtl_p into declspec_il enum bitfield. * c-parser.c (c_parser_declaration_or_fndef): Adjust accordingly. Pass start pass and declspec_il to c_parser_parse_gimple_body. (c_parser_declspecs): Adjust. * gimple-parser.c: Include cfg.h, cfghooks.h, cfganal.h, tree-cfg.h, gimple-iterator.h, cfgloop.h, tree-phinodes.h, tree-into-ssa.h and bitmap.h. (struct gimple_parser): New. (gimple_parser::push_edge): New method. (c_parser_gimple_parse_bb_spec): New helper. (c_parser_parse_gimple_body): Get start pass and IL specification. Initialize SSA and CFG. (c_parser_gimple_compound_statement): Handle CFG and SSA build. Build a gimple_parser parsing state and pass it along. (c_parser_gimple_statement): Change intermittend __PHI internal function argument for the edge. (c_parser_gimple_or_rtl_pass_list): Handle ssa, cfg flags. (c_parser_gimple_goto_stmt): Record edges to build. (c_parser_gimple_if_stmt): Likewise. * gimple-parser.h (c_parser_parse_gimple_body): Adjust. (c_parser_gimple_or_rtl_pass_list): Likewise. * gimple-pretty-print.c: Include cfgloop.h. (dump_gimple_phi): Adjust. (dump_gimple_bb_header): Dump loop header for GIMPLE. (pp_cfg_jump): Adjust. (dump_implicit_edges): Dump fallthru to next block for GIMPLE as well. * tree-cfg.c (build_gimple_cfg): Remove lower_phi_internal_fn call. (lower_phi_internal_fn): Remove. (verify_gimple_call): Remove IFN_PHI special-casing. (dump_function_to_file): Dump IL state. * tree-into-ssa.c (rewrite_add_phi_arguments): Revert changes done to deal with PHI nodes being present in non-SSA state. * gcc.dg/gimplefe-13.c: Adjust. * gcc.dg/gimplefe-14.c: Likewise. * gcc.dg/gimplefe-17.c: Likewise. * gcc.dg/gimplefe-18.c: Likewise. * gcc.dg/gimplefe-7.c: Likewise. * gcc.dg/torture/pr89595.c: Likewise. * gcc.dg/tree-ssa/cunroll-13.c: Likewise. * gcc.dg/tree-ssa/ivopt_mult_1g.c: Likewise. * gcc.dg/tree-ssa/ivopt_mult_2g.c: Likewise. * gcc.dg/tree-ssa/scev-3.c: Likewise. * gcc.dg/tree-ssa/scev-4.c: Likewise. * gcc.dg/tree-ssa/scev-5.c: Likewise. * gcc.dg/vect/vect-cond-arith-2.c: Likewise. * gcc.target/aarch64/sve/loop_add_6.c: Likewise. From-SVN: r269682
Richard Biener committed -
PR ipa/89684 * multiple_target.c (create_dispatcher_calls): Change references_to_redirect from vector of ipa_ref * to vector of ipa_ref. In the node->iterate_referring loop, push *ref rather than ref, call ref->remove_reference () and always pass 0 to iterate_referring. * gcc.target/i386/pr89684.c: New test. From-SVN: r269681
Jakub Jelinek committed -
PR rtl-optimization/89679 * expmed.c (expand_mult_const): Don't add a REG_EQUAL note if it would contain a paradoxical SUBREG. * gcc.dg/pr89679.c: New test. From-SVN: r269680
Jakub Jelinek committed -
re PR tree-optimization/89710 (ICE in dyn_cast<gcond*, gimple>(gimple*) / should_duplicate_loop_header_p) 2019-03-14 Richard Biener <rguenther@suse.de> PR tree-optimization/89710 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use safe_dyn_cast. * gcc.dg/torture/pr89710.c: New testcase. From-SVN: r269679
Richard Biener committed -
2019-03-14 Martin Liska <mliska@suse.cz> * coverage.c (coverage_begin_function): Stream also end_column. * doc/gcov.texi: Document 2 new fields in JSON file. Improve documentation about function declaration location. * gcov-dump.c (tag_function): Print whole range of function declaration. * gcov.c (struct function_info): Add end_column field. (function_info::function_info): Initialize it. (output_json_intermediate_file): Output {start,end}_column fields. (read_graph_file): Read end_column. From-SVN: r269678
Martin Liska committed -
re PR c++/89698 (Run-time error due to optimization of field access after cast at -Os/-O2 and higher) 2019-03-14 Richard Biener <rguenther@suse.de> PR middle-end/89698 * fold-const.c (operand_equal_p): For INDIRECT_REF check that the access types are similar. * g++.dg/torture/pr89698.C: New testcase. From-SVN: r269677
Richard Biener committed -
PR tree-optimization/89703 * tree-ssa-strlen.c (valid_builtin_call): Punt if stmt call types aren't compatible also with builtin_decl_explicit. Check pure or non-pure status of BUILT_IN_STR{{,N}CMP,N{LEN,{CAT,CPY}{,_CHK}}} and BUILT_IN_STPNCPY{,_CHK}. * gcc.c-torture/compile/pr89703-1.c: New test. * gcc.c-torture/compile/pr89703-2.c: New test. From-SVN: r269674
Jakub Jelinek committed -
32-bit indices in VSIB address are sign-extended to 64 bits. In x32, when 32-bit indices are used as addresses, like in vgatherdps %ymm7, 0(,%ymm9,1), %ymm6 32-bit indices, 0xf7fa3010, is sign-extended to 0xfffffffff7fa3010 which is invalid address. Add addr32 prefix to UNSPEC_VSIBADDR instructions for x32 if there is no base register nor symbol. This fixes 175.vpr and 254.gap in SPEC CPU 2000 on x32 with -Ofast -funroll-loops -march=haswell gcc/ PR target/89523 * config/i386/i386.c (ix86_print_operand): Handle 'M' to add addr32 prefix to VSIB address for X32. * config/i386/sse.md (*avx512pf_gatherpf<mode>sf_mask): Prepend "%M2" to opcode. (*avx512pf_gatherpf<mode>df_mask): Likewise. (*avx512pf_scatterpf<mode>sf_mask): Likewise. (*avx512pf_scatterpf<mode>df_mask): Likewise. (*avx2_gathersi<mode>): Prepend "%M3" to opcode. (*avx2_gathersi<mode>_2): Prepend "%M2" to opcode. (*avx2_gatherdi<mode>): Prepend "%M3" to opcode. (*avx2_gatherdi<mode>_2): Prepend "%M2" to opcode. (*avx2_gatherdi<mode>_3): Prepend "%M3" to opcode. (*avx2_gatherdi<mode>_4): Prepend "%M2" to opcode.` (*avx512f_gathersi<mode>): Prepend "%M4" to opcode. (*avx512f_gathersi<mode>_2): Prepend "%M3" to opcode. (*avx512f_gatherdi<mode>): Prepend "%M4" to opcode. (*avx512f_gatherdi<mode>_2): Prepend "%M3" to opcode. (*avx512f_scattersi<mode>): Prepend "%M0" to opcode. (*avx512f_scatterdi<mode>): Likewise. gcc/testsuite/ PR target/89523 * gcc.target/i386/pr89523-1a.c: New test. * gcc.target/i386/pr89523-1b.c: Likewise. * gcc.target/i386/pr89523-2.c: Likewise. * gcc.target/i386/pr89523-3.c: Likewise. * gcc.target/i386/pr89523-4.c: Likewise. * gcc.target/i386/pr89523-5.c: Likewise. * gcc.target/i386/pr89523-6.c: Likewise. * gcc.target/i386/pr89523-7.c: Likewise. * gcc.target/i386/pr89523-8.c: Likewise. * gcc.target/i386/pr89523-9.c: Likewise. From-SVN: r269673
H.J. Lu committed -
PR c++/89512 * semantics.c (finish_qualified_id_expr): Reject variable templates. * g++.dg/cpp1y/var-templ61.C: New test. From-SVN: r269672
Jakub Jelinek committed -
PR c++/89652 * constexpr.c (struct constexpr_ctx): Change save_exprs type from hash_set<tree> to vec<tree>. (cxx_eval_call_expression): Adjust for save_exprs being a vec instead of hash_set. (cxx_eval_loop_expr): Likewise. Truncate the vector after each removal of SAVE_EXPRs from values. (cxx_eval_constant_expression) <case SAVE_EXPR>: Call safe_push method on save_exprs instead of add. * g++.dg/cpp1y/constexpr-89652.C: New test. From-SVN: r269671
Jakub Jelinek committed -
From-SVN: r269670
GCC Administrator committed
-
- 13 Mar, 2019 16 commits
-
-
This is an overlooked case in C++17 mandatory copy elision: We want overload resolution to reflect that initializing an object from a prvalue does not involve a copy or move constructor even when [over.match.ctor] says that only constructors are candidates. Here I implement that by looking through the copy/move constructor in joust. * call.c (joust_maybe_elide_copy): New. (joust): Call it. From-SVN: r269667
Jason Merrill committed -
2019-03-13 Harald Anlauf <anlauf@gmx.de> PR fortran/87045 * trans-expr.c (gfc_trans_pointer_assignment): Move check for same string length so that we do not get false errors for deferred length. PR fortran/87045 * gfortran.dg/pr87045.f90: New test. From-SVN: r269664
Harald Anlauf committed -
re PR target/85860 (ICE: in lra_split_hard_reg_for, at lra-assigns.c:1810: unable to find a register to spill with -flive-range-shrinkage -mbmi2) 2019-03-13 Vladimir Makarov <vmakarov@redhat.com> PR target/85860 * lra-constraints.c (inherit_in_ebb): Update potential_reload_hard_regs along with live_hard_regs. 2019-03-13 Vladimir Makarov <vmakarov@redhat.com> PR target/85860 * gcc.target/i386/pr85860.c: New. From-SVN: r269662
Vladimir Makarov committed -
PR debug/89498 * dwarf2out.c (size_of_die): For dw_val_class_view_list always use DWARF_OFFSET_SIZE. (value_format): For dw_val_class_view_list never use DW_FORM_loclistx. From-SVN: r269661
Jakub Jelinek committed -
* typeck.c (maybe_warn_pessimizing_move): Only accept (T &) &arg as the std::move's argument. Don't call convert_for_initialization when warn_redundant_move isn't on. * g++.dg/cpp0x/Wredundant-move8.C: New test. * g++.dg/cpp0x/Wredundant-move9.C: New test. From-SVN: r269660
Marek Polacek committed -
* parser.c (cp_parser_lambda_introducer): Give error when combining init-capture and simple-capture. * g++.dg/cpp2a/lambda-pack-init2.C: New test. From-SVN: r269659
Marek Polacek committed -
fix PR 89601 2019-03-13 Janus Weil <janus@gcc.gnu.org> PR fortran/89601 * decl.c (gfc_match_formal_arglist): Reject empty type parameter lists. (gfc_match_derived_decl): Mark as PDT only if type parameter list was matched successfully. 2019-03-13 Janus Weil <janus@gcc.gnu.org> PR fortran/89601 * gfortran.dg/pdt_16.f03: Modified to avoid follow-up errors. * gfortran.dg/pdt_30.f90: New test case. From-SVN: r269658
Janus Weil committed -
* parser.c (cp_parser_decl_specifier_seq): Pass flags to cp_parser_constructor_declarator_p. (cp_parser_direct_declarator): Allow missing typename for constructor parameters. (cp_parser_constructor_declarator_p): Add FLAGS parameter. Pass it to cp_parser_type_specifier. * g++.dg/cpp2a/typename15.C: New test. From-SVN: r269656
Marek Polacek committed -
gcc/ChangeLog: PR tree-optimization/89662 * tree-vrp.c (vrp_prop::check_mem_ref): Avoid assuming every type has a size. gcc/testsuite/ChangeLog: PR tree-optimization/89662 * gcc.dg/Warray-bounds-41.c: New test. From-SVN: r269655
Martin Sebor committed -
re PR c++/63508 (ICE when using bracketed initializer on pointer to member function of a templated class) 2019-03-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/63508 * g++.dg/cpp0x/auto53.C: New. From-SVN: r269651
Paolo Carlini committed -
2019-03-13 Richard Biener <rguenther@suse.de> PR middle-end/89677 * tree-scalar-evolution.c (simplify_peeled_chrec): Do not throw FP expressions at tree-affine. * gcc.dg/torture/pr89677.c: New testcase. From-SVN: r269646
Richard Biener committed -
tree-pretty-print.c (dump_generic_node): For -gimple properly dump negative integer constants using _Literal (type) -num. 2019-03-14 Richard Biener <rguenther@suse.de> * tree-pretty-print.c (dump_generic_node): For -gimple properly dump negative integer constants using _Literal (type) -num. From-SVN: r269645
Richard Biener committed -
2019-03-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85558 * g++.dg/other/friend16.C: New. * g++.dg/other/friend17.C: Likewise. From-SVN: r269644
Paolo Carlini committed -
PR sanitizer/80953 Merge from LLVM revision 355980 * asan/asan_allocator.h (kAllocatorSpace): Define for SPARC. (kAllocatorSize): Likewise. (DefaultSizeClassMap): Likewise. * asan/asan_mapping.h (kSPARC64_ShadowOffset64): Define. (SHADOW_OFFSET): Define for SPARC. Include asan_mapping_sparc64.h for SPARC 64-bit. * asan/asan_mapping_sparc64.h: New file. From-SVN: r269641
Eric Botcazou committed -
PR sanitizer/80953 Merge from LLVM revision 355979 * asan/asan_globals.c (GetGlobalsForAddress): Use internal_memcpy to copy Global objects for SPARC with GCC. From-SVN: r269640
Eric Botcazou committed -
PR sanitizer/80953 Merge from LLVM revision 355978 * sanitizer_common/sanitizer_allocator_primary32.h (class SizeClassAllocator32): Assert that kSpaceSize is power of 2 if SANITIZER_SIGN_EXTENDED_ADDRESSES is set. (PointerIsMine): Deal with SANITIZER_SIGN_EXTENDED_ADDRESSES. (ComputeRegionId): Likewise. * sanitizer_common/sanitizer_linux.cc (GetMaxVirtualAddress): Return appropriate value for SPARC 64-bit. * sanitizer_common/sanitizer_platform.h (SANITIZER_MMAP_RANGE_SIZE): Define for SPARC. (SANITIZER_SIGN_EXTENDED_ADDRESSES): Define to 1 for SPARC 64-bit. From-SVN: r269639
Eric Botcazou committed
-