- 20 Nov, 2018 7 commits
-
-
PR rtl-optimization/85925 * rtl.h (word_register_operation_p): New predicate. * combine.c (record_dead_and_set_regs_1): Only apply specific handling for WORD_REGISTER_OPERATIONS targets to word_register_operation_p RTX. * rtlanal.c (nonzero_bits1): Likewise. Adjust couple of comments. (num_sign_bit_copies1): Likewise. From-SVN: r266302
Eric Botcazou committed -
2018-11-20 Richard Biener <rguenther@suse.de> PR tree-optimization/88087 * tree-ssa-pre.c (create_expression_by_pieces): Re-materialize call fntype. * tree-ssa-sccvn.c (copy_reference_ops_from_call): Remember call fntype. * gcc.dg/tree-ssa/pr88087.c: New testcase. From-SVN: r266301
Richard Biener committed -
2018-11-20 Richard Biener <rguenther@suse.de> PR middle-end/88089 * tree-data-ref.c (lambda_matrix_right_hermite): Use abs_hwi. From-SVN: r266300
Richard Biener committed -
* gcc.c-torture/execute/align-3.c: Skip if pdp11. * gcc.c-torture/execute/pr23467.c: Ditto. * gcc.c-torture/execute/pr36093.c: Ditto. * gcc.c-torture/execute/pr43783.c: Ditto. * gcc.dg/const-elim-2.c: Xfail if pdp11. * gcc.dg/torture/pr36400.c: Ditto. * gcc.dg/tree-ssa/loop-1.c: Xfail for pdp11. Add pdp11 to check for jsr. From-SVN: r266299
Paul Koning committed -
* lib/target-supports.exp (check_weak_available): Return "no" for pdp11. From-SVN: r266297
Paul Koning committed -
From-SVN: r266293
GCC Administrator committed -
gnattools build machinery uses just-build xgcc and xg++ as $(CC) and $(CXX) in native builds. However, if C and C++ languages are not enabled, it won't find them. So, enable C and C++ if Ada is enabled. Most of the time, this is probably no big deal: C is always enabled anyway, and C++ is already enabled for bootstraps. We need not enable those for cross builds, however. At first I just took the logic from gnattools/configure, but found it to be lacking: it would use the just-built tools even in cross-back settings, whose tools just built for the host would not run on the build machine. So I've narrowed down the test to rely on autoconf-detected cross-ness (build->host only), but also to ensure that host matches build, and that target matches host. I've considered sourcing ada/config-lang.in from within gnattools/configure, and testing lang_requires as set by it, so as to avoid a duplication of tests that ought to remain in sync, but decided it would be too fragile, as ada/config-lang.in does not expect srcdir to refer to gnattools. for gcc/ada/ChangeLog PR ada/81878 * gcc-interface/config-lang.in (lang_requires): Set to "c c++" when gnattools wants it. for gnattools/ChangeLog PR ada/81878 * configure.ac (default_gnattools_target): Do not mistake just-built host tools as native in cross-back toolchains. * configure: Rebuilt. From-SVN: r266290
Alexandre Oliva committed
-
- 19 Nov, 2018 25 commits
-
-
re PR ipa/87957 (ICE tree check: expected tree that contains ‘decl minimal’ structure, have ‘identifier_node’ in warn_odr, at ipa-devirt.c:1051 since r265519) PR lto/87957 * ipa-devirt.c (free_enum_values): Do not ICE on ODR vilations. From-SVN: r266289
Jan Hubicka committed -
2018-11-19 Sandra Loosemore <sandra@codesourcery.com> PR driver/50250 gcc/ * doc/invoke.texi (Link Options): Mention shared libraries in documentation for the -l option. Simplify discussion and point to the system linker documentation for details. From-SVN: r266287
Sandra Loosemore committed -
* parser.c (cp_parser_elaborated_type_specifier): Ensure that typename follows a nested-name-specifier. * g++.dg/parse/elab3.C: New test. * g++.dg/template/crash115.C: Adjust dg-error. From-SVN: r266285
Marek Polacek committed -
* include/ext/throw_allocator.h (annotate_base::insert(void*, size_t)): Use insert result to check for double insert attempt. (annotate_base::insert_construct(void*)): Likewise. (annotate_base::check_allocated(void*, size_t)): Return found iterator. (annotate_base::erase(void*, size_t)): Use latter method returned iterator. (annotate_base::check_constructed(void*, size_t)): Return found iterator. (annotate_base::erase_construct(void*)): Use latter method returned iterator. From-SVN: r266284
François Dumont committed -
re PR rtl-optimization/88033 (ICE on valid code at -O2 and -O3 on x86-64-linux-gnu: in remove_some_program_points_and_update_live_ranges, at lra-lives.c:1179) gcc/ PR rtl-optimization/88033 * ira-lives.c (non_conflicting_reg_copy_p): Skip copies from a register to itself. Use HARD_REGISTER_NUM_P. gcc/testsuite/ PR rtl-optimization/88033 * gcc.target/i386/pr88033.c: New test. From-SVN: r266282
Peter Bergner committed -
This is an alternative to https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00694.html As richi suggested, this disables unrolling of loops vectorised with variable-length SVE in the vectoriser itself through the loop->unroll member. It took me a few tries to get it right, as it needs to be set to '1' to disable unrolling, the rationale for that mechanism is described in the comment in cfgloop.h. * tree-vect-loop.c (vect_transform_loop): Disable further unrolling of the loop if vf is non-constant. * gcc.target/aarch64/sve/unroll-1.c: New test. From-SVN: r266281
Kyrylo Tkachov committed -
PR tree-optimization/87025 reports an ICE within -fsave-optimization-record's optrecord_json_writer. The issue is that dump_context::begin_scope creates an optinfo of kind OPTINFO_KIND_SCOPE, but fails to call dump_context::end_any_optinfo, so the optinfo for the scope remains pending. The JSON writer would normally push a JSON array for the "scope" optinfo when the latter is emitted. However, if a dump_* call happens that doesn't flush the "scope" optinfo e.g. dump_printf (as opposed to dump_printf_loc), that dump_ call is added to the pending optinfo, and optinfo::handle_dump_file_kind changes the pending optinfo's m_kind (e.g. to OPTINFO_KIND_NOTE). Hence when the pending optinfo is eventually emitted, it isn't OPTINFO_KIND_SCOPE anymore, and hence the JSON writer doesn't create and push a JSON array for it, leading to dump_context's view of scopes getting out-of-sync with that of the JSON writer's. Later, dump_context::end_scope unconditionally tries to pop the JSON scope array, but no JSON scope array was added, leading to an assertion failure (or crash). The fix is to call dump_context::end_any_optinfo immediately after creating the scope optinfo, so that it is emitted immediately, ensuring that the JSON writer stays in-sync with the dump_context. gcc/ChangeLog: PR tree-optimization/87025 * dumpfile.c (dump_context::begin_scope): Call end_any_optinfo immediately after creating the scope optinfo. (selftest::test_pr87025): New function. (selftest::dumpfile_c_tests): Call it. * optinfo-emit-json.cc (optrecord_json_writer::pop_scope): Assert that we're not popping the top-level records array. * optinfo.cc (optinfo::handle_dump_file_kind): Assert that we're not changing the kind of a "scope" optinfo. gcc/testsuite/ChangeLog: PR tree-optimization/87025 * gcc.dg/pr87025.c: New test. From-SVN: r266280
David Malcolm committed -
As work towards fixing PR tree-optimization/87025, this patch eliminates global state from optinfo-emit-json.cc in favor of adding an optional m_json_writer field to dump_context, replacing the m_forcibly_enable_optinfo flag. This allows for writing selftests for the interaction of the JSON-building code with the dumpfile.c code. In particular, the existing selftest that created optinfo instances now exercise the JSON-building code (although no JSON is actually written out). The patch also simplifies the layering by replacing optinfo::emit () with dump_context::emit_optinfo, so that dump_context has responsibility for keeping track of dump destinations. gcc/ChangeLog: PR tree-optimization/87025 * dump-context.h: Include "optinfo.h". (class optrecord_json_writer): New forward decl. (dump_context::forcibly_enable_optinfo_p): Delete. (dump_context::optinfo_enabled_p): New member function. (dump_context::optimization_records_enabled_p): New member function. (dump_context::set_json_writer): New member function. (dump_context::emit_optinfo): New member function. (dump_context::m_forcibly_enable_optinfo): Delete. (dump_context::m_json_writer): New member data. * dumpfile.c (dump_context::set_json_writer): New member function. (dump_context::finish_any_json_writer): New member function. (dump_context::end_scope): Replace call to optimization_records_maybe_pop_dump_scope with call to m_json_writer->pop_scope. (dump_context::optinfo_enabled_p): New member function. (dump_context::end_any_optinfo): Replace call to optinfo::emit with call to dump_context::emit_optinfo. (dump_context::emit_optinfo): New member function. (temp_dump_context::temp_dump_context): Replace m_forcibly_enable_optinfo with call to set_json_writer. (temp_dump_context::~temp_dump_context): Clean up any json writer. * optinfo-emit-json.cc (class optrecord_json_writer): Move to optinfo-emit-json.h (the_json_writer): Delete. (optimization_records_start): Delete. (optimization_records_finish): Delete. (optimization_records_enabled_p): Delete, in favor of dump_context::optimization_records_enabled_p. (optimization_records_maybe_record_optinfo): Delete. (optimization_records_maybe_pop_dump_scope): Delete. * optinfo-emit-json.h: Include "json.h". Delete forward decl of opt_pass. (optimization_records_start): Delete. (optimization_records_finish): Delete. (optimization_records_enabled_p): Delete. (optimization_records_maybe_record_optinfo): Delete. (optimization_records_maybe_pop_dump_scope): Delete. (class optrecord_json_writer): Move here from optinfo-emit-json.cc. * optinfo.cc (optinfo::emit_for_opt_problem): Replace call to optinfo::emit with call to dump_context::emit_optinfo. (optinfo::emit): Delete, in favor of dump_context::emit_optinfo. (optinfo_enabled_p): Delete, in favor of dump_context::optinfo_enabled_p. (optinfo_wants_inlining_info_p): Update for conversion o optimization_records_enabled_p to a member function of dump_context. * optinfo.h (optinfo_enabled_p): Delete, in favor of dump_context::optinfo_enabled_p. (optinfo::emit): Delete, in favor of dump_context::emit_optinfo. * toplev.c: Include "dump-context.h". (compile_file): Replace call to optimization_records_finish with dump_context::finish_any_json_writer. (do_compile): Replace call to optimization_records_start with conditionally creating a optrecord_json_writer for the dump_context. From-SVN: r266279
David Malcolm committed -
re PR libstdc++/87855 (std::optional<T> only copy-constructible if T is trivially copy-constructible) PR libstdc++/87855 Also implement P0602R4 (variant and optional should propagate copy/move triviality) for std::optional. * include/std/optional (_Optional_payload): Change the main constraints to check constructibility in addition to assignability. (operator=): Make constexpr. (_M_reset): Likewise. (_M_construct): Likewise. (operator->): Likewise. * testsuite/20_util/optional/assignment/8.cc: Adjust. * testsuite/20_util/optional/assignment/9.cc: New. From-SVN: r266278
Ville Voutilainen committed -
2018-11-19 Martin Liska <mliska@suse.cz> PR lto/88077 * lto-symtab.c (lto_symtab_merge): Transform the condition before r256989. 2018-11-19 Martin Liska <mliska@suse.cz> PR lto/88077 * gcc.dg/lto/pr88077_0.c: New test. * gcc.dg/lto/pr88077_1.c: New test. From-SVN: r266277
Martin Liska committed -
PR tree-optimization/88071 * tree-vect-loop.c (vectorize_fold_left_reduction): Pass true instead of false as last argument to gsi_remove. * tree-vect-stmts.c (vect_finish_replace_stmt): Pass true instead of false as last argument to gsi_replace. * gcc.dg/pr88071.c: New test. From-SVN: r266276
Jakub Jelinek committed -
PR c++/60994 * g++.dg/lookup/pr60994.C: New test. From-SVN: r266275
Jakub Jelinek committed -
PR debug/87039 * omp-expand.c: Don't include debug.h. (adjust_context_and_scope): Add REGION argument. Find DECL_CONTEXT from innermost outer parallel, task, teams or target that has a child_fn set, or, if there is no such outer region, use current_function_decl. Do the DECL_CONTEXT adjustment regardless of whether a suitable BLOCK is found or not. (expand_parallel_call, expand_teams_call): Don't call adjust_context_and_scope here. (grid_expand_target_grid_body): Revert 2017-01-25 changes. (expand_omp_taskreg, expand_omp_target): Likewise. Call adjust_context_and_scope. * dwarf2out.c (dwarf2out_early_global_decl): For decl_function_context recurse instead of calling dwarf2out_decl. * g++.dg/gomp/pr78363-4.C: New test. * g++.dg/gomp/pr78363-5.C: New test. * g++.dg/gomp/pr78363-6.C: New test. * g++.dg/gomp/pr78363-7.C: New test. From-SVN: r266272
Jakub Jelinek committed -
2018-11-19 Richard Biener <rguenther@suse.de> PR lto/87229 * tree.c (free_lang_data_in_one_sizepos): Free non-gimple-val sizepos values. * g++.dg/lto/pr87229_0.C: New testcase. From-SVN: r266271
Richard Biener committed -
2018-11-19 Martin Liska <mliska@suse.cz> * g++.dg/gcov/pr84548.C: Remove remove-gcda. * g++.dg/gcov/ternary.C: Likewise. * lib/gcov.exp: Support pattern of following form: count(1*). From-SVN: r266270
Martin Liska committed -
* include/std/string_view (basic_string_view::copy): Use traits to copy. * testsuite/21_strings/basic_string_view/operations/copy/char/2.cc: New test. * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc: New test. From-SVN: r266269
Jonathan Wakely committed -
* compare-elim.c (struct comparison): Add not_in_a field. (is_not): New static function. (strip_not): Likewise. (conforming_compare): Handle a NOT in the first operand. (can_eliminate_compare): Likewise. (find_comparison_dom_walker::before_dom_children): Likewise. (try_eliminate_compare): Likewise. * config/visium/visium.md (negsi2_insn_set_carry): Turn into... (neg<mode>2_insn_set_carry): ...this and add missing NEG operation. From-SVN: r266268
Eric Botcazou committed -
* doc/extend.texi (Common Type Attributes): Fix typos. From-SVN: r266267
Jonathan Wakely committed -
From-SVN: r266266
Eric Botcazou committed -
From-SVN: r266265
Eric Botcazou committed -
decl2.c (grokfield): Remove obsolete _vptr check; fix explicit template argument list error location. /cp 2018-11-18 Paolo Carlini <paolo.carlini@oracle.com> * decl2.c (grokfield): Remove obsolete _vptr check; fix explicit template argument list error location. /testsuite 2018-11-18 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/template/crash91.C: Check location too. From-SVN: r266264
Paolo Carlini committed -
2018-11-19 Martin Liska <mliska@suse.cz> PR gcov-profile/88045 * coverage.c (coverage_begin_function): Add assert. 2018-11-19 Martin Liska <mliska@suse.cz> PR gcov-profile/88045 * g++.dg/gcov/pr88045.C: New test. From-SVN: r266262
Martin Liska committed -
2018-11-19 Martin Liska <mliska@suse.cz> * check_GNU_style_lib.py: Detect mixed usage of spaces and tabs. From-SVN: r266261
Martin Liska committed -
2018-11-18 Sandra Loosemore <sandra@codesourcery.com> PR other/40498 gcc/ * doc/extend.texi (Common Function Attributes): Document that no_instrument_function applies to -p and -pg, too. * doc/invoke.texi (Instrumentation Options): Add cross-references to docs for -p, -pg, and -finstrument-functions. From-SVN: r266260
Sandra Loosemore committed -
From-SVN: r266259
GCC Administrator committed
-
- 18 Nov, 2018 8 commits
-
-
libphobos/ChangeLog: 2018-11-19 Iain Buclaw <ibuclaw@gdcproject.org> * src/Makefile.am: Remove std.internal.digest.sha_SSSE3 and std.internal.math.biguintx86 modules. * src/Makefile.in: Rebuild. * src/std/internal/digest/sha_SSSE3.d: Remove. * src/std/internal/math/biguintx86.d: Remove. From-SVN: r266256
Iain Buclaw committed -
2018-11-16 Michele Pezzutti <mpezz@tiscali.it> Edward Smith-Rowland <3dw4rd@verizon.net> PR libstdc++/83566 - cyl_bessel_j returns wrong result for x>1000 for high orders. * include/tr1/bessel_function.tcc: Perform no fewer than nu/2 iterations of the asymptotic series (nu is the Bessel order). * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: Add tests at nu=100, 1000<=x<=2000. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: Ditto. * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Ditto. * testsuite/special_functions/10_cyl_neumann/check_value.cc: Ditto. Co-Authored-By: Edward Smith-Rowland <3dw4rd@verizon.net> From-SVN: r266252
Michele Pezzutti committed -
2018-11-18 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/88073 * frontend-passes.c (combine_array_constructor): Do not do anything if in a WHERE statement. 2018-11-18 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/88073 * gfortran.dg/where_7.f90: New test. From-SVN: r266251
Thomas Koenig committed -
Also give target access to the gnu-user.h LINK_GCC_C_SEQUENCE_SPEC. * config/gnu-user.h (GNU_USER_TARGET_CRTI): Define. (GNU_USER_TARGET_STARTFILE_SPEC): Use it here. (GNU_USER_TARGET_CRTN): Define. (GNU_USER_TARGET_ENDFILE_SPEC): Use it here. (GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC): Define. From-SVN: r266250
Alan Modra committed -
The HAVE_LD_PIE variant doesn't contain anything that will break linking when !HAVE_LD_PIE that isn't already broken if you choose to build PIEs with a linker that doesn't support PIE. All this HAVE_LD_PIE protects is the choice of different crt files, which is more about libc capability than linker capability. * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Delete !HAVE_LD_PIE variant. (GNU_USER_TARGET_ENDFILE_SPEC): Likewise. From-SVN: r266249
Alan Modra committed -
2018-11-18 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/70260 * expr.c (gfc_check_assign): Reject assigning to an external symbol. (gfc_check_pointer_assign): Add suppress_type_test argument. Insert line after if. A non-proc pointer can not point to a constant. Only check types if suppress_type_test is false. * gfortran.h (gfc_check_pointer_assign): Add optional suppress_type_test argument. * resolve.c (gfc_resolve_code): Move up gfc_check_pointer_assign and give it the extra argument. (resolve_fl_procedure): Set error on value for a function with an inizializer. 2018-11-18 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/70260 * gfortran.dg/proc_ptr_result_5.f90: Add dg-error directive. * gfortran.dg/protected_4.f90: Split line to allow for extra error. * gfortran.dg/protected_6.f90: Likewise. * gfortran.dg/assign_11.f90: New test. * gfortran.dg/pointer_assign_12.f90: New test. From-SVN: r266248
Thomas Koenig committed -
From-SVN: r266247
Nick Clifton committed -
2018-11-17 Eric Gallager <egallager@gcc.gnu.org> Sandra Loosemore <sandra@codesourcery.com> PR driver/31357 gcc/ * doc/invoke.texi (Overall Options): Document that --help and --help=<value> options cannot be combined. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r266246
Nick Clifton committed
-