- 18 Sep, 2018 14 commits
-
-
The deleter only needs to be invocable when the unique_ptr destructor and reset member function are instantiated. In other contexts it might not be possible to pass unique_ptr<T, D>::pointer to the deleter, if that requires a derived-to-base conversion from T* and T is incomplete. * include/bits/unique_ptr.h (__uniq_ptr_impl): Remove static assertion checking invocable condition. (unique_ptr::~unique_ptr, unique_ptr::reset): Restore static assertion here, where types must be complete. Pass pointer to deleter as an rvalue. * testsuite/20_util/unique_ptr/requirements/incomplete.cc: New test. From-SVN: r264399
Jonathan Wakely committed -
i386.md (*<code>extend<mode>xf2): Macroize insn from *<code>extendsfxf2 and *<code>extenddfxf2 using MODEF mode... * config/i386/i386.md (*<code>extend<mode>xf2): Macroize insn from *<code>extendsfxf2 and *<code>extenddfxf2 using MODEF mode iterator. From-SVN: r264398
Uros Bizjak committed -
libgomp/ * plugin/plugin-nvptx.c (struct cuda_map): New. (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev, h_tail with (cuda_map *) map. (cuda_map_create): New function. (cuda_map_destroy): New function. (map_init): Update to use a linked list of cuda_map objects. (map_fini): Likewise. (map_pop): Likewise. (map_push): Likewise. Return CUdeviceptr instead of void. (init_streams_for_device): Remove stales references to ptx_stream members. (select_stream_for_async): Likewise. (nvptx_exec): Update call to map_init. From-SVN: r264397
Cesar Philippidis committed -
The changes to invoke.texi in r242433 left some unwanted spaces that texi2pod.pl interprets as verbatim formatting. There are also some grammatical errors due to the removal of references to GCJ, where the G++ driver is referred to in the plural. PR other/87353 * doc/invoke.texi (Link Options): Fix formatting and grammar. From-SVN: r264395
Jonathan Wakely committed -
From-SVN: r264394
Nathan Sidwell committed -
From-SVN: r264393
Kyrylo Tkachov committed -
This new test has some difficulties on the fabsl function. On arm this is because we don't support the _Float128 type which the test uses. This is handled in the patch by requiring a float128 target selector. On aarch64-none-elf, a Newlib target, it fails because fabsl is not available. long double support is known to be incomplete in newlib, and the fabsl function is not available for targets where long double is larger than a double. Therefore this patch skips the test on such targets. * gcc.dg/warn-abs-1.c: Require float128 target. Skip if large_long_double newlib target. From-SVN: r264392
Kyrylo Tkachov committed -
https://gcc.gnu.org/ml/gcc-patches/2018-09/msg00984.html PR c++/86881 cp/ * name-lookup.c (check_local_shadow): Ignore auto types. testsuite/ * g++.dg/warn/pr86881.C: New. From-SVN: r264391
Nathan Sidwell committed -
These two tests started failing after commit r264335 that adjusted the cutoff point at which the diagnostic suggestions machinery decides a suggestion is meaningful. For these tests it means we no longer suggest anything as an alternative to "armv8-a-typo" as an "arch=" pargma value. We do still list the valid options, we just don't prefer one particular value over the others. When I first wrote this test it wasn't with a particular architecture suggestion in mind, but rather to test that the suggestion machinery is being sanely invoked. So this patch changes the dg-message check to treat the "did you mean...?" hunk as optional (in case the heuristics in the suggestions machinery change again). With this patch the two tests PASS again on aarch64. * gcc.target/aarch64/spellcheck_1.c: Make architecture suggestion optional. * gcc.target/aarch64/spellcheck_4.c: Likewise. From-SVN: r264390
Kyrylo Tkachov committed -
As described in https://gcc.gnu.org/ml/gcc-patches/2018-09/msg00963.html this test generates UXTW instructions with -mabi=ilp32 because the foo* functions take pointers and store results into them. In ILP32 the callee clears the top bits with a UXTW. This trips the scan-assembler-not UXTW test that checks that the zero_extend form of the BFXIL pattern is used, which it is. This patch avoids this problem by not passing pointers to the results, but instead using global variables for which the foo* functions will synthesise the address using ADRP, avoiding the UXTW instructions. With this patch the test PASSes fully with -mabi=ilp32 and still PASSes on LP64. * gcc.target/aarch64/combine_bfxil.c: Avoid passing pointers to functions. From-SVN: r264389
Kyrylo Tkachov committed -
2018-09-18 Richard Biener <rguenther@suse.de> PR middle-end/63155 * tree-ssa-coalesce.c (tree_int_map_hasher): Remove. (compute_samebase_partition_bases): Likewise. (coalesce_ssa_name): Always use compute_optimized_partition_bases. (gimple_can_coalesce_p): Simplify. From-SVN: r264388
Richard Biener committed -
* configure.ac (solaris_ld_v2_maps): New test. * configure: Regenerate. * Makefile.in (solaris_ld_v2_maps): New variable. * config/t-slibgcc-sld (libgcc-unwind.map): Emit v2 mapfile syntax if supported. From-SVN: r264382
Rainer Orth committed -
* config/mmix/mmix.c (TARGET_INIT_LIBFUNCS): Override with... (mmix_init_libfuncs): New function: make __builtin_ffs expand to __ffsdi2. From-SVN: r264381
Hans-Peter Nilsson committed -
From-SVN: r264380
GCC Administrator committed
-
- 17 Sep, 2018 18 commits
-
-
This patch updates the pure virtual function range_label::get_text (and its implementations) so that the index of the range is passed in, allowing for one label instance to be shared by multiple ranges. gcc/c-family/ChangeLog: * c-format.c (range_label_for_format_type_mismatch::get_text): Update for new param. gcc/c/ChangeLog: * c-objc-common.c (range_label_for_type_mismatch::get_text): Update for new param. * c-typeck.c (maybe_range_label_for_tree_type_mismatch::get_text): Likewise. gcc/cp/ChangeLog: * error.c (range_label_for_type_mismatch::get_text): Update for new param. gcc/ChangeLog: * diagnostic-show-locus.c (class layout_range): Add field "m_original_idx". (layout_range::layout_range): Add "original_idx" param and use it to initialize new field. (make_range): Use 0 for original_idx. (layout::layout): Pass in index to calls to maybe_add_location_range. (layout::maybe_add_location_range): Add param "original_idx" and pass it on to layout_range. (layout::print_any_labels): Pass on range->m_original_idx to get_text call. (gcc_rich_location::add_location_if_nearby): Use 0 for original_idx. * gcc-rich-location.h (text_range_label::get_text): Update for new param. (range_label_for_type_mismatch::get_text): Likewise. libcpp/ChangeLog: * include/line-map.h (range_label::get_text): Add param "range_idx". From-SVN: r264376
David Malcolm committed -
* config/i386/i386.c (ix86_emit_i387_log1p): Emit fldln2 earlier. From-SVN: r264373
Uros Bizjak committed -
With the addition of ranges in r263564, format_warning_at_substring_n has 10 arguments. Reduce the number of args by bundling the shared ones into a class format_string_diagnostic_t. gcc/c-family/ChangeLog: * c-format.c (format_warning_at_char): Update for introduction of format_string_diagnostic_t. (format_type_warning): Likewise. gcc/ChangeLog: * gimple-ssa-sprintf.c (fmtwarn): Update for introduction of format_string_diagnostic_t. (fmtwarn_n): Likewise. * substring-locations.c (format_string_diagnostic_t::format_string_diagnostic_t) New ctor. (format_warning_n_va): Convert to... (format_string_diagnostic_t::emit_warning_n_va): ...this. (format_warning_va): Convert to... (format_string_diagnostic_t::emit_warning_va): ...this. (format_warning_at_substring): Convert to... (format_string_diagnostic_t::emit_warning): ...this. (format_warning_at_substring_n): Convert to... (format_string_diagnostic_t::emit_warning_n): ...this. * substring-locations.h (class format_string_diagnostic_t): New class. (format_warning_va): Convert to format_string_diagnostic_t::emit_warning_va. (format_warning_n_va): Convert to format_string_diagnostic_t::emit_warning_n_va. (format_warning_at_substring): Convert to format_string_diagnostic_t::emit_warning. (format_warning_at_substring_n): Convert to format_string_diagnostic_t::emit_warning_n. From-SVN: r264372
David Malcolm committed -
gcc/ * config/nvptx/nvptx.md (atomic_fetch_<logic><mode>): Enable with SImode args. gcc/testsuite/ * gcc.target/nvptx/atomic-fetch-2.c: Rename to ... * gcc.target/nvptx/atomic_fetch-2.c: ... this. * gcc.target/nvptx/atomic_fetch-3.c: New test. Co-Authored-By: Bernd Schmidt <bernds_cb1@t-online.de> From-SVN: r264371
Cesar Philippidis committed -
* config/i386/i386.md (truncxf<mode>2_i387_noop_unspec): Change operand 0 predicate to nonimmediate operand. (rint<mode>2_frndint): Remove insn pattern. (rint<mode>2): Change operand 1 predicate to general_operand. Extend operand 1 to XFmode and generate rintxf2 insn. (frndintxf2_<rounding>): Rename from frndint<mode>2_<rounding>. Do not use X87MODEF mode macro. (frndintxf2_<rounding>_i387): Rename from frndint<mode>2_<rounding>_i387. Do not use X87MODEF mode macro. (<rounding_insn><mode>2): For non-SSE modes, extend operand 1 to XFmode and generate significandxf3 insn. From-SVN: r264370
Uros Bizjak committed -
2018-09-17 Richard Biener <rguenther@suse.de> PR tree-optimization/87328 * tree-ssa-sccvn.c (process_bb): Remove assertion about not visiting unexecutable backedges when not iterating. (do_rpo_vn): Mark all edges not executable even when not iterating. * gcc.dg/torture/pr87328.c: New testcase. From-SVN: r264369
Richard Biener committed -
2018-09-17 Martin Jambor <mjambor@suse.cz> gcc/ * doc/invoke.texi (Warning Options): Likewise. gcc/c-family/ * c.opt (Wabsolute-value): New. gcc/c/ * c-parser.c: (warn_for_abs): New function. (c_parser_postfix_expression_after_primary): Call it. testsuite/ * gcc.dg/warn-abs-1.c: New test. * gcc.dg/dfp/warn-abs-2.c: Likewise. From-SVN: r264368
Martin Jambor committed -
2018-09-17 Bernd Edlinger <bernd.edlinger@hotmail.de> * gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp: Don't pass TEST_ALWAYS_FLAGS to HOSTCXX. From-SVN: r264367
Bernd Edlinger committed -
2018-09-17 Paul Thomas <pault@gcc.gnu.org> PR fortran/64120 * trans-decl.c (gfc_get_symbol_decl): Flag allocatable, scalar characters with a variable length expression for deferred init. (gfc_trans_deferred_vars): Perform the assignment for these symbols by calling gfc_conv_string_length. 2018-09-17 Paul Thomas <pault@gcc.gnu.org> PR fortran/64120 * gfortran.dg/allocatable_scalar_14.f90 : New test. From-SVN: r264365
Paul Thomas committed -
re PR tree-optimization/87301 (ICE: verify_gimple failed (error: statement marked for throw, but doesn't)) 2018-09-17 Richard Biener <rguenther@suse.de> PR tree-optimization/87301 * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_cleanup): Properly clean EH info from leftover copy assignments. * gcc.dg/torture/pr87301.c: New testcase. From-SVN: r264364
Richard Biener committed -
2018-09-17 Martin Liska <mliska@suse.cz> PR gcov-profile/85871 * gcov.c (output_intermediate_file): Fix out of bounds access. From-SVN: r264363
Martin Liska committed -
2018-09-17 Vineet Gupta <vgupta@synopsys.com> * config/arc/arc.c: Object attributes for core4 not reflected correctly. * config/arc/arc.h: Don't restrict DBNZ to core3 (core4 includes core3). From-SVN: r264362
Vineet Gupta committed -
With no trailing space in LINK_EH_SPEC linker spec gets generated as: ------------------------>8--------------------- %{!r:--build-id} --eh-frame-hdr%{h*} ... ------------------------>8--------------------- or even worse if hash style is added: ------------------------>8--------------------- %{!r:--build-id} --eh-frame-hdr--hash-style=sysv %{h*} ... ------------------------>8--------------------- Now if that spec is really used by LD then it fails inevitably saying that it doesn't know option "--eh-frame-hdr--hash-style=sysv". 2018-09-17 Alexey Brodkin <abrodkin@synopsys.com> * config/arc/linux.h (LINK_EH_SPEC): Add missing space. From-SVN: r264361
Alexey Brodkin committed -
2018-09-17 Martin Liska <mliska@suse.cz> * doc/gcov.texi: Document new option --use-hotness-colors. * gcov.c (struct source_info): Declare new field. (source_info::source_info): Set default for maximum_count. (print_usage): Add new -q option. (process_args): Process it. (accumulate_line_info): Save src->maximum_count. (output_line_beginning): Make color line number if flag_use_hotness_colors is set. (output_line_details): Pass default argument value. (output_lines): Pass src->maximum_count. From-SVN: r264360
Martin Liska committed -
2018-09-17 Martin Liska <mliska@suse.cz> * common/config/i386/i386-common.c (ix86_get_valid_option_values): Use processor_names table. * config/i386/i386.c (ix86_default_align): Use processor_cost_table for alignment values. (ix86_option_override_internal): Use processor_names. (ix86_function_specific_print): Likewise. * config/i386/i386.h (struct processor_costs): Add alignment values. (struct ptt): Remove and replace with const char *. * config/i386/x86-tune-costs.h (struct processor_costs): Declare default alignments for all costs. From-SVN: r264359
Martin Liska committed -
2018-09-17 Paul Thomas <pault@gcc.gnu.org> PR fortran/85954 * resolve.c (resolve_assoc_var): If the target expression is a deferred charlen dummy and the associate name shares the charlen, generate a new one. Make sure that new charlens are in the namespace list so that they get cleaned up. * trans-array.c (gfc_is_reallocatable_lhs): Associate names are not reallocatable. * trans-decl.c (gfc_get_symbol_decl): Put deferred character length dummy and result arrays on the deferred initialization list so that the variable length arrays can be correctly dealt with. * trans-expr.c (gfc_conv_string_length): Return if 'expr' is NULL rather than ICEing.. 2018-09-17 Paul Thomas <pault@gcc.gnu.org> PR fortran/85954 * gfortran.dg/deferred_character_21.f90 : New test. From-SVN: r264358
Paul Thomas committed -
tree-vrp.c (extract_range_from_unary_expr): Do not special case symbolics or VR_VARYING ranges for ABS_EXPR. * tree-vrp.c (extract_range_from_unary_expr): Do not special case symbolics or VR_VARYING ranges for ABS_EXPR. * wide-int-range.cc (wide_int_range_abs): Return positive numbers when range will wrap. From-SVN: r264356
Aldy Hernandez committed -
From-SVN: r264355
GCC Administrator committed
-
- 16 Sep, 2018 3 commits
-
-
2018-09-16 Janus Weil <janus@gcc.gnu.org> PR fortran/86484 PR fortran/84543 * match.c (gfc_match_assignment): For a polymorphic assignment, make sure that the vtab for the rhs type is generated. 2018-09-16 Janus Weil <janus@gcc.gnu.org> PR fortran/86484 PR fortran/84543 * gfortran.dg/class_assign_2.f90: New test case. * gfortran.dg/class_assign_3.f90: New test case. From-SVN: r264350
Janus Weil committed -
2018-09-16 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/37802 * frontend-passes.c (B_ERROR): New macro for matmul bounds checking error messages. (C_ERROR): Likewise. (inline_matmul_assign): Reorganize bounds checking, use B_ERROR and C_ERROR macros. 2018-09-16 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/37802 * gfortran.dg/matmul_bounds_13.f90: New test case. * gfortran.dg/inline_matmul_15.f90: Adjust test for runtime error. * gfortran.dg/matmul_5.f90: Likewise. * gfortran.dg/matmul_bounds_10.f90: Likewise. * gfortran.dg/matmul_bounds_11.f90: Likewise. * gfortran.dg/matmul_bounds_2.f90: Likewise. * gfortran.dg/matmul_bounds_4.f90: Likewise. * gfortran.dg/matmul_bounds_5.f90: Likewise. 2018-09-16 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/37802 * m4/matmul_internal.m4: Adjust error messages. * generated/matmul_c10.c: Regenerated. * generated/matmul_c16.c: Regenerated. * generated/matmul_c4.c: Regenerated. * generated/matmul_c8.c: Regenerated. * generated/matmul_i1.c: Regenerated. * generated/matmul_i16.c: Regenerated. * generated/matmul_i2.c: Regenerated. * generated/matmul_i4.c: Regenerated. * generated/matmul_i8.c: Regenerated. * generated/matmul_r10.c: Regenerated. * generated/matmul_r16.c: Regenerated. * generated/matmul_r4.c: Regenerated. * generated/matmul_r8.c: Regenerated. * generated/matmulavx128_c10.c: Regenerated. * generated/matmulavx128_c16.c: Regenerated. * generated/matmulavx128_c4.c: Regenerated. * generated/matmulavx128_c8.c: Regenerated. * generated/matmulavx128_i1.c: Regenerated. * generated/matmulavx128_i16.c: Regenerated. * generated/matmulavx128_i2.c: Regenerated. * generated/matmulavx128_i4.c: Regenerated. * generated/matmulavx128_i8.c: Regenerated. * generated/matmulavx128_r10.c: Regenerated. * generated/matmulavx128_r16.c: Regenerated. * generated/matmulavx128_r4.c: Regenerated. * generated/matmulavx128_r8.c: Regenerated. From-SVN: r264349
Thomas Koenig committed -
From-SVN: r264346
GCC Administrator committed
-
- 15 Sep, 2018 2 commits
-
-
PR middle-end/86864 * cfgexpand.c (expand_gimple_basic_block): Be prepared for a BARRIER before and after a JUMP_TABLE_DATA. From-SVN: r264342
Eric Botcazou committed -
From-SVN: r264341
GCC Administrator committed
-
- 14 Sep, 2018 3 commits
-
-
PR middle-end/87188 * dojump.c (do_compare_and_jump): Canonicalize function pointers when one operand is a function pointer. Use POINTER_TYPE_P and FUNC_OR_METHOD_TYPE_P. * expr.c (do_store_flag): Use POINTER_TYPE_P and FUNC_OR_METHOD_TYPE_P. * fold-const.c (build_range_check): Likewise. * match.pd (simple_comparison): Likewise. From-SVN: r264336
John David Anglin committed -
This patch tunes class best_match's cutoff for rejecting meaningless spelling suggestions. Previously, we allowed an edit distance of up to half of the length of the longer of the goal string and closest candidate strings, rounded down. With this patch, we now allow only up to a third - with some tuning of rounding (and for very short strings), to ensure that: (a) everything that worked before still works (with the removal of a couple of cases that shouldn't), and that (b) the new threshold is always at least as conservative as the old threshold and thus shouldn't offer new nonsensical suggestions (with the possible exception of cases where transposition has helped; see r261521 aka Damerau-Levenshtein; PR other/69968). In particular, all of the bogus suggestions from PR c/82967 are now no longer offered. gcc/ChangeLog: PR c/82967 * spellcheck.c (get_edit_distance_cutoff): New function. (selftest::test_edit_distance_unit_test_oneway): Rename to... (selftest::test_get_edit_distance_one_way): ...this. (selftest::test_get_edit_distance_unit): Rename to... (selftest::test_get_edit_distance_both_ways): ...this. (selftest::test_edit_distances): Move tests to this new function, and test some more pairs of strings. Update for above renaming. (selftest::get_old_cutoff): New function. (selftest::test_get_edit_distance_cutoff): New function. (selftest::assert_suggested_for): New function. (ASSERT_SUGGESTED_FOR): New macro. (selftest::assert_not_suggested_for): New function. (ASSERT_NOT_SUGGESTED_FOR): New macro. (selftest::test_suggestions): New function. (selftest::spellcheck_c_tests): Move test_get_edit_distance_unit tests to selftest::test_edit_distances and call it. Add calls to selftest::test_get_edit_distance_cutoff and selftest::test_suggestions. * spellcheck.h (get_edit_distance_cutoff): New function declaration. (best_match::consider): Replace hard-coded cutoff calculation with a call to... (best_match::get_cutoff): New declaration. (best_match::get_best_meaningful_candidate): Likewise. gcc/testsuite/ChangeLog: PR c/82967 * c-c++-common/attributes-1.c: Remove bogus suggestion from dg-prune-output. * gcc.dg/diagnostic-token-ranges.c (undeclared_identifier): Remove bogus suggestion. * gcc.dg/spellcheck-identifiers-4.c: New test. From-SVN: r264335
David Malcolm committed -
2018-09-14 Bernd Edlinger <bernd.edlinger@hotmail.de> * builtins.c (fold_builtin_strlen): Remove TODO comment. testsuite: 2018-09-14 Bernd Edlinger <bernd.edlinger@hotmail.de> * gcc.dg/warn-strlen-no-nul.c: Add some missing test cases. From-SVN: r264334
Bernd Edlinger committed
-