- 22 Sep, 2018 1 commit
-
-
From-SVN: r264500
GCC Administrator committed
-
- 21 Sep, 2018 30 commits
-
-
2018-09-21 François Dumont <fdumont@gcc.gnu.org> PR libstdc++/87135 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt): Use __builtin_floor to compute _M_next_resize. * testsuite/23_containers/unordered_set/hash_policy/71181.cc: Adapt. * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: Adapt. From-SVN: r264494
François Dumont committed -
* gimple-ssa-evrp.c (evrp_dom_walker::cleanup): Call vr_values::cleanup_edges_and_switches. * tree-vrp.c (to_remove_edges, to_update_switch_stmts): Moved into vr_values class. (identify_jump_threads): Remove EDGE_IGNORE handling. (execute_vrp): Move handling of to_remove_edges and to_update_switch_stmts into vr_values class member functions. * tree-vrp.h (switch_update, to_remove_edges): Remove declarations. (to_update_switch_stmts): Likewise. * vr-values.c: Include cfghooks.h. (vr_values::vr_values): Initialize to_remove_edges and to_update_switch_stmts. (vr_values::~vr_values): Verify to_remove_edges and to_update_switch_stmts are empty. (vr_values::simplify_switch_using_ranges): Set EDGE_IGNORE as needed. (vr_values::cleanup_edges_and_switches): New member function. * vr-values.h (vr_values): Add cleanup_edges_and_switches member function. Add new data members. * gcc.dg/tree-ssa/vrp113.c: Disable EVRP. * gcc.dg/tree-ssa/vrp120.c: New test. From-SVN: r264491
Jeff Law committed -
PR middle-end/81035 * doc/extend.texi (Common Function Attributes): Mention that noreturn suppresses tail call optimization. From-SVN: r264490
Florian Weimer committed -
* constexpr.c (maybe_constant_init_1): Pass false for strict down to cxx_eval_outermost_constant_expr. * g++.dg/cpp1y/func_constexpr2.C: New test. From-SVN: r264489
Marek Polacek committed -
When producing error and warning messages, libgfortran writes a message by using many system calls. By using vectored writes (the POSIX writev function) when available and feasible to use without major surgery, we reduce the chance that output gets intermingled with other output to stderr. In practice, this is done by introducing a new function estr_writev in addition to the existing estr_write. In order to use this, the old st_vprintf is removed, replaced by direct calls of vsnprintf, allowing more message batching. Regtested on x86_64-pc-linux-gnu. libgfortran/ChangeLog: 2018-09-21 Janne Blomqvist <jb@gcc.gnu.org> * config.h.in: Regenerated. * configure: Regenerated. * configure.ac: Check for writev and sys/uio.h. * libgfortran.h: Include sys/uio.h. (st_vprintf): Remove prototype. (struct iovec): Define if not available. (estr_writev): New prototype. * runtime/backtrace.c (error_callback): Use estr_writev. * runtime/error.c (ST_VPRINTF_SIZE): Remove. (estr_writev): New function. (st_vprintf): Remove. (gf_vsnprintf): New function. (ST_ERRBUF_SIZE): New macro. (st_printf): Use vsnprintf. (os_error): Use estr_writev. (runtime_error): Use vsnprintf and estr_writev. (runtime_error_at): Likewise. (runtime_warning_at): Likewise. (internal_error): Use estr_writev. (generate_error_common): Likewise. (generate_warning): Likewise. (notify_std): Likewise. * runtime/pause.c (pause_string): Likewise. * runtime/stop.c (report_exception): Likewise. (stop_string): Likewise. (error_stop_string): Likewise. From-SVN: r264487
Janne Blomqvist committed -
2018-09-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/77325 * trans-array.c (gfc_alloc_allocatable_for_assignment): If the rhs has a charlen expression, convert that and use it. * trans-expr.c (gfc_trans_assignment_1): The rse.pre for the assignment of deferred character array vars to a realocatable lhs should not be added to the exterior block since vector indices, for example, generate temporaries indexed within the loop. 2018-09-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/77325 * gfortran.dg/deferred_character_22.f90 : New test. From-SVN: r264486
Paul Thomas committed -
2018-09-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/87359 * trans-stmt.c (gfc_trans_allocate): Don't deallocate alloc components if must_finalize is set for expr3. 2018-09-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/87359 * gfortran.dg/finalize_33.f90 : New test. From-SVN: r264485
Paul Thomas committed -
From-SVN: r264484
Jason Merrill committed -
Remove the hypot-long-double.cc file that used dg-xfail-run-if and simply use the lower tolerance for double if long double is not larger than double. * testsuite/26_numerics/headers/cmath/hypot-long-double.cc: Remove. * testsuite/26_numerics/headers/cmath/hypot.cc: Restore test for long double unconditionally, but use lower tolerance when sizeof(long double) == sizeof(double). From-SVN: r264483
Jonathan Wakely committed -
In r262891 I reimplemented this call: dump_printf_loc (MSG_NOTE, loc, "=== %s ===\n", name); in dump_begin_scope to use direct calls to dump_loc: if (dump_file) { dump_loc (MSG_NOTE, dump_file, loc.get_location_t ()); fprintf (dump_file, "=== %s ===\n", name); } if (alt_dump_file) { dump_loc (MSG_NOTE, alt_dump_file, loc.get_location_t ()); fprintf (alt_dump_file, "=== %s ===\n", name); } However ::dump_loc doesn't filter with pflags and alt_flags. This lead to stray output of the form: test.cpp:1:6: note: test.cpp:1:11: note: when using -fopt-info with "optimized" or "missed". This patch adds this missing filtering, eliminating the stray partial note output. gcc/ChangeLog: PR tree-optimization/87309 * dumpfile.c (dump_context::begin_scope): Filter the dump_loc calls with pflags and alt_flags. (selftest::test_capture_of_dump_calls): Add test of interaction of MSG_OPTIMIZED_LOCATIONS with AUTO_DUMP_SCOPE. gcc/testsuite/ChangeLog: PR tree-optimization/87309 * gcc.dg/pr87309.c: New test. From-SVN: r264481
David Malcolm committed -
2018-09-21 Olivier Hainque <hainque@adacore.com> * gcc/config.gcc: Factorize and comment inclusion of vxworks-dummy.h. From-SVN: r264480
Olivier Hainque committed -
2018-09-21 Alexandre Oliva <oliva@adacore.com> libgcc/ * config/vxcache.c: New file. Provide __clear_cache, based on the cacheTextUpdate VxWorks service. * config/t-vxworks (LIB2ADD): Add vxcache.c. (LIB2FUNCS_EXCLUDE): Add _clear_cache. * config/t-vxwoks7: Likewise. gcc/ * config/vxworks.h (CLEAR_INSN_CACHE): #define to 1. From-SVN: r264479
Olivier Hainque committed -
2018-09-21 Olivier Hainque <hainque@adacore.com> * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Remove -lc_internal. Merge block comment with the one ahead of VXWORKS_LIBS_RTP. Then: (VXWORKS_LIBS_RTP): Minor reordering. From-SVN: r264477
Olivier Hainque committed -
2018-09-21 Olivier Hainque <hainque@adacore.com> * config/vxworks.h (STARTFILE_PREFIX_SPEC): Define. (VXWORKS_LIBS_DIR_RTP): Remove definition and use. From-SVN: r264476
Olivier Hainque committed -
2018-09-21 Olivier Hainque <hainque@adacore.com> * config/vxworks.h (SIZE_TYPE): Account for TARGET_VXWORKS64. (PTRDIFF_TYPE): Likewise. From-SVN: r264475
Olivier Hainque committed -
2018-09-21 Olivier Hainque <hainque@adacore.com> * config.gcc: Enforce def of TARGET_VXWORKS64 to 1 from triplet, similar to support for VxWorks7. * config/vxworks-dummy.h: Provide a default definition of TARGET_VXWORKS64 to 0. From-SVN: r264474
Olivier Hainque committed -
From-SVN: r264473
Olivier Hainque committed -
2018-09-21 Olivier Hainque <hainque@adacore.com> * config/vxworks.h (TARGET_VXWORKS7): Move default definition ... * config/vxworks-dummy.h: here. From-SVN: r264472
Olivier Hainque committed -
2018-09-20 Olivier Hainque <hainque@adacore.com> * config.gcc (powerpc*-*-*): Prepend vxworks-dummy.h to tm_file. From-SVN: r264471
Olivier Hainque committed -
This patch adds HiSilicon's an mcpu: tsv110, which supports v8_4A. It has been tested on aarch64 and no regressions from this patch. 2018-09-21 Shaokun Zhang <zhangshaokun@hisilicon.com> Bo Zhou <zbo.zhou@hisilicon.com> * config/aarch64/aarch64-cores.def (tsv110): New CPU. * config/aarch64/aarch64-tune.md: Regenerated. * doc/invoke.texi (AArch64 Options/-mtune): Add "tsv110". * config/aarch64/aarch64.c (tsv110_tunings): New tuning table. * config/aarch64/aarch64-cost-tables.h: Add "tsv110" extra costs. Co-Authored-By: Bo Zhou <zbo.zhou@hisilicon.com> From-SVN: r264470
Shaokun Zhang committed -
The Fortran front-end has a bug in which it uses "int" values for "size_t" parameters. I don't know why this isn't problem for all 64-bit architectures, but GCN ends up with the data in the wrong argument register and/or stack slot, and bad things happen. This patch corrects the issue by setting the correct type. 2018-09-21 Andrew Stubbs <ams@codesourcery.com> Kwok Cheung Yeung <kcy@codesourcery.com> gcc/fortran/ * trans-expr.c (gfc_trans_structure_assign): Ensure that the first argument of a call to _gfortran_caf_register is of size_type_node. * trans-intrinsic.c (conv_intrinsic_event_query): Convert computed index to a size_type_node type. * trans-stmt.c (gfc_trans_event_post_wait): Likewise. Co-Authored-By: Kwok Cheung Yeung <kcy@codesourcery.com> From-SVN: r264468
Andrew Stubbs committed -
At present, pointers passed to builtin functions, including atomic operators, are stripped of their address space properties. This doesn't seem to be deliberate, it just omits to copy them. Not only that, but it forces pointer sizes to Pmode, which isn't appropriate for all address spaces. This patch attempts to correct both issues. It works for GCN atomics and GCN OpenACC gang-private variables. 2018-09-21 Andrew Stubbs <ams@codesourcery.com> Julian Brown <julian@codesourcery.com> gcc/ * builtins.c (get_builtin_sync_mem): Handle address spaces. Co-Authored-By: Julian Brown <julian@codesourcery.com> From-SVN: r264467
Andrew Stubbs committed -
* c-ada-spec.c: Include diagnostic.h. (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout. From-SVN: r264466
Eric Botcazou committed -
* config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Return false if the call takes a static chain. From-SVN: r264463
Eric Botcazou committed -
2018-09-21 Martin Liska <mliska@suse.cz> * auto-profile.c (autofdo_source_profile::read): Do not set sum_all. (read_profile): Do not add working sets. (read_autofdo_file): Remove sum_all. (afdo_callsite_hot_enough_for_early_inline): Remove const qualifier. * coverage.c (struct counts_entry): Remove gcov_summary. (read_counts_file): Read new GCOV_TAG_OBJECT_SUMMARY, do not support GCOV_TAG_PROGRAM_SUMMARY. (get_coverage_counts): Remove summary and expected arguments. * coverage.h (get_coverage_counts): Likewise. * doc/gcov-dump.texi: Remove -w option. * gcov-dump.c (dump_working_sets): Remove. (main): Do not support '-w' option. (print_usage): Likewise. (tag_summary): Likewise. * gcov-io.c (gcov_write_summary): Do not dump histogram. (gcov_read_summary): Likewise. (gcov_histo_index): Remove. (gcov_histogram_merge): Likewise. (compute_working_sets): Likewise. * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY): Mark it not obsolete. (GCOV_TAG_PROGRAM_SUMMARY): Mark it obsolete. (GCOV_TAG_SUMMARY_LENGTH): Adjust. (GCOV_HISTOGRAM_SIZE): Remove. (GCOV_HISTOGRAM_BITVECTOR_SIZE): Likewise. (struct gcov_summary): Simplify rapidly just to runs and sum_max fields. (gcov_histo_index): Remove. (NUM_GCOV_WORKING_SETS): Likewise. (compute_working_sets): Likewise. * gcov-tool.c (print_overlap_usage_message): Remove trailing empty line. * gcov.c (read_count_file): Read GCOV_TAG_OBJECT_SUMMARY. (output_lines): Remove program related line. * ipa-profile.c (ipa_profile): Do not consider GCOV histogram. * lto-cgraph.c (output_profile_summary): Do not stream GCOV histogram. (input_profile_summary): Do not read it. (merge_profile_summaries): And do not merge it. (input_symtab): Do not call removed function. * modulo-sched.c (sms_schedule): Do not print sum_max. * params.def (HOT_BB_COUNT_FRACTION): Reincarnate param that was removed when histogram method was invented. (HOT_BB_COUNT_WS_PERMILLE): Mention that it's used only in LTO mode. * postreload-gcse.c (eliminate_partially_redundant_load): Fix GCOV coding style. * predict.c (get_hot_bb_threshold): Use HOT_BB_COUNT_FRACTION and dump selected value. * profile.c (add_working_set): Remove. (get_working_sets): Likewise. (find_working_set): Likewise. (get_exec_counts): Do not work with working sets. (read_profile_edge_counts): Do not inform as sum_max is removed. (compute_branch_probabilities): Likewise. (compute_value_histograms): Remove argument for call of get_coverage_counts. * profile.h: Do not make gcov_summary const. 2018-09-21 Martin Liska <mliska@suse.cz> * libgcov-driver.c (crc32_unsigned): Remove. (gcov_histogram_insert): Likewise. (gcov_compute_histogram): Likewise. (compute_summary): Simplify rapidly. (merge_one_data): Do not handle PROGRAM_SUMMARY tag. (merge_summary): Rapidly simplify. (dump_one_gcov): Ignore gcov_summary. (gcov_do_dump): Do not handle program summary, it's not used. * libgcov-util.c (tag_summary): Remove. (read_gcda_finalize): Fix coding style. (read_gcda_file): Initialize curr_object_summary. (compute_summary): Remove. (calculate_overlap): Remove settings of run_max. From-SVN: r264462
Martin Liska committed -
libgcc/ * config/nds32/linux-unwind.h (struct _rt_sigframe): Use struct ucontext_t type instead. (nds32_fallback_frame_state): Remove struct _sigframe statement. From-SVN: r264461
Monk Chiang committed -
libgcc/ * config/nds32/t-nds32-glibc: New file. From-SVN: r264460
Kito Cheng committed -
gcc/ * config.gcc (nds32*-*-*): Set TARGET_DEFAULT_TLSDESC_TRAMPOLINE=0. From-SVN: r264459
Monk Chiang committed -
PR tree-optimization/86990 * gimple-ssa-store-merging.c (imm_store_chain_info:coalesce_immediate): Check that the entire merged store group is made of constants only for overlapping stores. From-SVN: r264458
Eric Botcazou committed -
From-SVN: r264456
GCC Administrator committed
-
- 20 Sep, 2018 9 commits
-
-
* call.c (build_user_type_conversion_1): Refine the maybe-rvalue check to only return if we're converting the return value to a base class. * g++.dg/cpp0x/ref-qual19.C: Adjust the expected results. * g++.dg/cpp0x/ref-qual20.C: New test. From-SVN: r264452
Marek Polacek committed -
The option has existed and been working for years, make sure it implies the right extra options, and list it in the documentation. 2018-09-20 Allan Sandfeld Jensen <allan.jensen@qt.io> gcc/ * gcc.c (LINK_COMMAND_SPEC): Handle -r like -nostdlib. (VTABLE_VERIFICATION_SPEC): Likewise. (SANITIZER_EARLY_SPEC): Likewise. (SANITIZER_SPEC): Likewise. * config/darwin.h (LINK_COMMAND_SPEC): Likewise. * doc/invoke.texi (Link Options): Document -r. gcc/cp/ * g++spec.c (lang_specific_driver): Handle -r like -nostdlib. gcc/fortran/ * gfortranspec.c (lang_specific_driver): Handle -r like -nostdlib. gcc/go/ * gospec.c (lang_specific_driver): Handle -r like -nostdlib. gcc/testsuite/ * g++.dg/ipa/pr64059.C: Removed now redundant -nostdlib. * g++.dg/lto/20081109-1_0.C: Likewise. * g++.dg/lto/20090302_0.C: Likewise. * g++.dg/lto/pr45621_0.C: Likewise. * g++.dg/lto/pr60567_0.C: Likewise. * g++.dg/lto/pr62026.C: Likewise. * gcc.dg/lto/pr45736_0.c: Likewise. * gcc.dg/lto/pr52634_0.c: Likewise. * gfortran.dg/lto/20091016-1_0.f90: Likewise. * gfortran.dg/lto/pr79108_0.f90: Likewise. From-SVN: r264451
Allan Sandfeld Jensen committed -
Building an ADDR_EXPR uses the canonical type to build the pointer type, but then, as we dereference it, we lose track of lax alignment known to apply to the dereferenced object. This might not be a problem in general, but it is when the compiler implicitly introduces address taking and dereferencing, as it does for asm statements, and as it may do in some loop optimizations. From: Richard Biener <rguenther@suse.de> for gcc/ChangeLog PR middle-end/87054 * gimplify.c (gimplify_expr): Retain alignment of addressable lvalue in dereference. From: Alexandre Oliva <oliva@adacore.com> for gcc/testsuite/ChangeLog PR middle-end/87054 * gcc.dg/pr87054.c: New. From-SVN: r264450
Alexandre Oliva committed -
Back when we had the logic to output is_stmt but never exercised it, it didn't matter that we didn't test for assembler support for it. But there are still assemblers out there that do not support it, so now that we enable the formerly latent is_stmt logic, we'd better make sure the assembler can deal with it. for gcc/ChangeLog PR bootstrap/87013 * configure.ac: Check for .loc is_stmt support. * configure, config.in: Rebuilt. * dwarf2out.c (dwarf2out_source_line): Skip is_stmt if not supported. From-SVN: r264449
Alexandre Oliva committed -
2018-09-20 Janus Weil <janus@gcc.gnu.org> * gfortran.h (gfc_str_startswith): New macro. * decl.c (variable_decl, gfc_match_end): Use it. * iresolve.c (is_trig_resolved): Ditto. * module.c (load_omp_udrs, read_module): Ditto. * options.c (gfc_handle_runtime_check_option): Ditto. * primary.c (match_arg_list_function): Ditto. * trans-decl.c (gfc_get_symbol_decl): Ditto. * trans-expr.c (gfc_conv_procedure_call): Ditto. * interface.c (dtio_op): Replace strncmp by strcmp. * resolve.c (resolve_actual_arglist, resolve_function): Ditto. * trans-expr.c (conv_arglist_function): Ditto. * trans-intrinsic.c (gfc_conv_ieee_arithmetic_function): Replace macro STARTS_WITH by gfc_str_startswith. From-SVN: r264448
Janus Weil committed -
These options have been deprecated for many years, supplanted by -misel and -mno-isel. This patch finally removes them. * config/rs6000/rs6000.opt (misel=no, misel=yes): Delete. * doc/invoke.texi (RS/6000 and PowerPC Options): Delete -misel=yes and -misel=no. From-SVN: r264447
Segher Boessenkool committed -
gcc/fortran/ * dump-parse-tree.c (show_omp_clauses): Add missing omp list_types and reorder the switch cases to match the enum in gfortran.h. From-SVN: r264446
Cesar Philippidis committed -
It's never used. * config/rs6000/rs6000-opts.h (enum rs6000_vector): Delete VECTOR_OTHER. * config/rs6000/rs6000.c (rs6000_debug_vector_unit): Delete case VECTOR_OTHER. From-SVN: r264444
Segher Boessenkool committed -
2018-09-20 Christophe Lyon <christophe.lyon@linaro.org> * testsuite/26_numerics/headers/cmath/hypot-long-double.cc: Skip on arm*. From-SVN: r264443
Christophe Lyon committed
-