Tom de Vries [Thu, 3 Jan 2019 15:08:15 +0000 (15:08 +0000)]
[nvptx] Add early-out cases in nvptx_goacc_validate_dims
Add early-out cases for for oacc_min_dims_p and routine_p in
nvptx_goacc_validate_dims, allowing simplification of the rest of the
function.
2019-01-03 Tom de Vries <tdevries@suse.de>
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add early-out
cases for oacc_min_dims_p and routine_p. Add asserts for
oacc_default_dims_p and offload_region_p.
From-SVN: r267556
Tom de Vries [Thu, 3 Jan 2019 15:08:06 +0000 (15:08 +0000)]
[nvptx] Eliminate changed local var in nvptx_goacc_validate_dims
The TARGET_GOACC_VALIDATE_DIMS hook requires an implementation to return a bool
indicating whether the dims parameter has changed.
Factor nvptx_goacc_validate_dims_1 out of nvptx_goacc_validate_dims, and
calculate the return value in nvptx_goacc_validate_dims.
2019-01-03 Tom de Vries <tdevries@suse.de>
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): New function,
factored out of ...
(nvptx_goacc_validate_dims): ... here.
From-SVN: r267555
Thomas Koenig [Thu, 3 Jan 2019 12:32:34 +0000 (12:32 +0000)]
re PR fortran/48543 (Collapse identical strings)
2019-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/48543
* gfortran.dg/const_chararacter_merge.f90: Remove.
From-SVN: r267553
Jan Hubicka [Thu, 3 Jan 2019 12:23:27 +0000 (13:23 +0100)]
re PR lto/85574 (LTO bootstapped binaries differ)
2019-01-03 Jan Hubicka <hubicka@ucw.cz>
PR tree-optimization/85574
* tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused
structure.
(struct ssa_equip_hash_traits): Declare.
(val_ssa_equiv): Use custom hash traits using operand_equal_p.
From-SVN: r267552
Rainer Orth [Thu, 3 Jan 2019 11:28:27 +0000 (11:28 +0000)]
Update config.guess, config.sub (PR target/88535)
PR target/88535
* config.guess: Import upstream version 2019-01-03.
* config.sub: Import upstream version 2019-01-01.
From-SVN: r267551
Jakub Jelinek [Thu, 3 Jan 2019 11:05:24 +0000 (12:05 +0100)]
re PR debug/88644 (Unexpected pub type info eliminated after r246973 (causes pubtypes-*.c to regress).)
PR debug/88644
* dwarf2out.c (modified_type_die): If type is equal to sizetype,
change it to qualified_type.
* gcc.dg/debug/dwarf2/pr88644.c: New test.
* gcc.dg/debug/dwarf2/pr80263.c: Remove darwin hack.
2019-01-03 Iain Sandoe <iain@sandoe.co.uk>
* gcc.dg/pubtypes-2.c: Adjust expected pubtypes length.
* gcc.dg/pubtypes-3.c: Likewise.
* gcc.dg/pubtypes-4.c: Likewise.
From-SVN: r267550
Jan Hubicka [Thu, 3 Jan 2019 10:19:03 +0000 (11:19 +0100)]
ipa-utils.c (scale_ipa_profile_for_fn): Break out from ...
* ipa-utils.c (scale_ipa_profile_for_fn): Break out from ...
(ipa_merge_profiles): ... here; do not ICE on thunks and aliases.
From-SVN: r267549
Jakub Jelinek [Thu, 3 Jan 2019 10:11:40 +0000 (11:11 +0100)]
re PR c++/88636 (ICE: Segmentation fault (in c_tree_chain_next))
PR c++/88636
* decl.c (builtin_function_1): Return result of pushdecl_top_level
or pushdecl rather than decl.
* g++.target/i386/pr88636.C: New test.
From-SVN: r267548
Paolo Carlini [Thu, 3 Jan 2019 10:00:30 +0000 (10:00 +0000)]
tree.c (handle_nodiscard_attribute): Improve warning location.
/cp
2019-01-03 Paolo Carlini <paolo.carlini@oracle.com>
* tree.c (handle_nodiscard_attribute): Improve warning location.
/testsuite
2019-01-03 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp1z/nodiscard3.C: Test locations too.
From-SVN: r267547
Martin Liska [Thu, 3 Jan 2019 07:53:37 +0000 (08:53 +0100)]
Adjust a dump file in a test-case (PR testsuite/88436).
2019-01-03 Martin Liska <mliska@suse.cz>
PR testsuite/88436
* gcc.target/powerpc/pr54240.c: Scan phiopt2.
From-SVN: r267541
GCC Administrator [Thu, 3 Jan 2019 00:16:48 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r267540
Martin Sebor [Wed, 2 Jan 2019 23:59:51 +0000 (23:59 +0000)]
gimple-fold.c (strlen_range_kind): Remove SRK_LENRANGE_2.
* gimple-fold.c (strlen_range_kind): Remove SRK_LENRANGE_2.
(get_range_strlen_tree): Update appropriately.
(get_range_strlen)
* gimple-fold.h (get_range_strlen): Drop unused last argument.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r267537
Marek Polacek [Wed, 2 Jan 2019 22:39:16 +0000 (22:39 +0000)]
PR c++/81486 - CTAD failing with ().
* g++.dg/cpp1z/class-deduction60.C: New test.
* g++.dg/cpp1z/class-deduction61.C: New test.
From-SVN: r267535
Marek Polacek [Wed, 2 Jan 2019 22:20:45 +0000 (22:20 +0000)]
PR c++/88631 - CTAD failing for value-initialization.
* typeck2.c (build_functional_cast): Try deducing the template
arguments even if there are no arguments to deduce from.
* g++.dg/cpp1z/class-deduction59.C: New test.
From-SVN: r267533
Marek Polacek [Wed, 2 Jan 2019 22:15:46 +0000 (22:15 +0000)]
PR c++/88612 - ICE with -Waddress-of-packed-member.
* call.c (convert_for_arg_passing): Only give warnings with tf_warning.
* typeck.c (convert_for_assignment): Likewise.
* g++.dg/warn/Waddress-of-packed-member1.C: New test.
From-SVN: r267532
Martin Sebor [Wed, 2 Jan 2019 21:38:56 +0000 (21:38 +0000)]
gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range rather than set_range_info.
* gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range
rather than set_range_info.
* tree-ssa-strlen.c (set_strlen_range): Extracted from
maybe_set_strlen_range. Handle potentially boundary crossing
cases more conservatively.
(maybe_set_strlen_range): Parts refactored into set_strlen_range.
Call set_strlen_range.
* tree-ssa-strlen.h (set_strlen_range): Add prototype.
* gcc.dg/strlenopt-36.c: Update.
* gcc.dg/strlenopt-45.c: Update.
* gcc.c-torture/execute/strlen-5.c: New test.
* gcc.c-torture/execute/strlen-6.c: New test.
* gcc.c-torture/execute/strlen-7.c: New test.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r267531
Jakub Jelinek [Wed, 2 Jan 2019 19:50:13 +0000 (20:50 +0100)]
re PR testsuite/87304 (gcc.dg/vect/bb-slp-over-widen-1.c fails starting with r262371)
PR testsuite/87304
* gcc.dg/vect/bb-slp-over-widen-1.c: Expect basic block vectorized
messages only on vect_hw_misalign targets.
From-SVN: r267528
Steven G. Kargl [Wed, 2 Jan 2019 19:13:29 +0000 (19:13 +0000)]
parse.c (decode_statement): Suppress "Unclassifiable statement" error if previous error messages were emittes.
2019-01-01 Steven G. Kargl <kargl@gcc.gnu.org>
* parse.c (decode_statement): Suppress "Unclassifiable statement"
error if previous error messages were emittes.
2019-01-01 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/argument_checking_7.f90: Remove run-on error message.
* gfortran.dg/dec_d_lines_3.f: Ditto.
* gfortran.dg/dec_structure_24.f90: Ditto.
* gfortran.dg/dec_structure_26.f90: Ditto.
* gfortran.dg/dec_structure_27.f90: Ditto.
* gfortran.dg/dec_type_print_3.f90: Ditto.
* gfortran.dg/derived_name_1.f90: Ditto.
* gfortran.dg/error_recovery_1.f90: Ditto.
* gfortran.dg/gomp/pr29759.f90: Ditto.
* gfortran.dg/pr36192.f90: Ditto.
* gfortran.dg/pr56007.f90: Ditto.
* gfortran.dg/pr56520.f90: Ditto.
* gfortran.dg/pr78741.f90: Ditto.
* gfortran.dg/print_fmt_2.f90: Ditto.
* gfortran.dg/select_type_20.f90: Ditto.
From-SVN: r267526
Joseph Myers [Wed, 2 Jan 2019 18:39:14 +0000 (18:39 +0000)]
* es.po: Update.
From-SVN: r267521
Martin Sebor [Wed, 2 Jan 2019 18:30:50 +0000 (18:30 +0000)]
re PR middle-end/88663 (internal compiler error: in check, at tree-vrp.c:188)
PR middle-end/88663
* gimple-fold.c (get_range_strlen): Update prototype to no longer
need the flexp argument.
(get_range_strlen_tree): Drop flexp argument. Drop flexp argument
from calls to get_range_strlen. Update comments. Just update
VAL for an unterminated const char array and let the reset of the
code handle it normally. No longer try to set *flexp. Adjust
return value.
(get_range_strlen): Update for the new get_range_strlen API.
(get_maxval_strlen): Similarly.
(gimple_fold_builtin_strlen): Handle update meaning of return value
from get_range_strlen.
* gimple-ssa-sprintf.c (get_string_length): Update for the new
get_range_strlen API.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r267520
Marek Polacek [Wed, 2 Jan 2019 17:07:02 +0000 (17:07 +0000)]
re PR c++/86875 (ICE in tsubst_copy, at cp/pt.c:15478)
PR c++/86875
* g++.dg/cpp1y/lambda-generic-86875.C: New test.
From-SVN: r267519
Jonathan Wakely [Wed, 2 Jan 2019 16:30:49 +0000 (16:30 +0000)]
Add more testcases for class template argument deduction of maps
This adds additional tests for std::map and std::multimap CTAD. The
tests ensure that deduction works for braced-init-list of value_type
objects, and for pairs of input iterators (with both std::pair<Key, T>
and value_type as the iterator's value_type). This ensures deduction
from value_type still works, as well as the non-value_type cases in LWG
3025.
Similar tests for unordered maps do not work, apparently because the
constructor taking an initializer_list<value_type> is not usable for
deduction, and the deduction guide taking initializer_list<pair<Key, T>>
deduces key_type to be const. I am not addressing that.
* testsuite/23_containers/map/cons/deduction.cc: Test deduction from
initializer_list<value_type> and from input iterator ranges.
* testsuite/23_containers/multimap/cons/deduction.cc: Likewise.
From-SVN: r267518
Thomas Koenig [Wed, 2 Jan 2019 15:25:47 +0000 (15:25 +0000)]
re PR fortran/48543 (Collapse identical strings)
2019-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/48543
* gfortran.dg/const_chararacter_merge.f90: New test.
From-SVN: r267517
Jan Hubicka [Wed, 2 Jan 2019 15:23:27 +0000 (16:23 +0100)]
re PR lto/88130 (ICE in copy_function_or_variable, at lto-streamer-out.c:2315 since r260963)
PR lto/88130
* varpool.c (varpool_node::ctor_useable_for_folding_p): Also return
false at WPA time when body was removed.
* g++.dg/torture/pr88130.C: New testcase.
From-SVN: r267515
Martin Liska [Wed, 2 Jan 2019 14:03:53 +0000 (15:03 +0100)]
Calculate prediction remainder at proper place (PR tree-optimization/88650).
2019-01-02 Martin Liska <mliska@suse.cz>
PR tree-optimization/88650
* predict.c (set_even_probabilities): Calculate probability
remainer only when really used.
2019-01-02 Martin Liska <mliska@suse.cz>
PR tree-optimization/88650
* gfortran.dg/predict-3.f90: New test.
From-SVN: r267513
Richard Biener [Wed, 2 Jan 2019 13:52:03 +0000 (13:52 +0000)]
re PR tree-optimization/88651 (tree-data-ref.c:3764:26: runtime error: signed integer overflow:
9223372036854775802 - -6 cannot be represented in type 'long int')
2019-01-02 Richard Biener <rguenther@suse.de>
PR middle-end/88651
* tree-data-ref.c (analyze_subscript_affine_affine): Use
widest_ints when mangling max_stmt_execution results.
From-SVN: r267512
Rainer Orth [Wed, 2 Jan 2019 12:42:20 +0000 (12:42 +0000)]
Fix g++.dg/gcov/pr88263.C compilation on Solaris
* g++.dg/gcov/pr88263.C: Rename namespace log to logging.
From-SVN: r267511
Richard Biener [Wed, 2 Jan 2019 12:19:10 +0000 (12:19 +0000)]
re PR tree-optimization/88621 (wrong code at -O1 and above on x86_64-linux-gnu in 64-bit mode (not in 32-bit mode))
2019-01-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/88621
* tree-ssa-loop-im.c (gather_mem_refs_stmt): Fix pastos, avoid
bitfields when canoncalizing.
* gcc.dg/torture/pr88621.c: New testcase.
From-SVN: r267510
Richard Biener [Wed, 2 Jan 2019 11:04:45 +0000 (11:04 +0000)]
re PR target/87545 (-mtune=intel regressions)
2019-01-02 Richard Biener <rguenther@suse.de>
PR target/87545
* config/i386/x86-tune-costs.h (intel_cost): Adjust
cost of cheap SSE instruction.
From-SVN: r267509
Jonathan Wakely [Wed, 2 Jan 2019 10:44:35 +0000 (10:44 +0000)]
Fix year range in copyright header
* testsuite/experimental/string_view/element_access/char/empty.cc:
Fix year range in copyright header.
From-SVN: r267508
Jakub Jelinek [Wed, 2 Jan 2019 09:25:59 +0000 (10:25 +0100)]
re PR ipa/88561 (PGO devirtualization miscompilation of firefox)
PR ipa/88561
* g++.dg/tree-prof/devirt.C: Expect _ZThn16 only for lp64 and llp64
targets and expect _ZThn8 for ilp32 targets.
From-SVN: r267507
Richard Biener [Wed, 2 Jan 2019 08:49:07 +0000 (08:49 +0000)]
re PR lto/85574 (LTO bootstapped binaries differ)
2019-01-02 Richard Biener <rguenther@suse.de>
PR ipa/85574
* ipa-icf.h (sem_item_optimizer::sort_congruence_split): Declare.
* ipa-icf.c (sem_item_optimizer::sort_congruence_split): New
function.
(sem_item_optimizer::do_congruence_step_f): Sort the congruence
set after UIDs before splitting them.
From-SVN: r267506
Martin Sebor [Wed, 2 Jan 2019 06:17:54 +0000 (06:17 +0000)]
gimple-fold.c (get_range_strlen_tree): Record if the computed length is optimistic.
* gimple-fold.c (get_range_strlen_tree): Record if the computed
length is optimistic. If it is, then arrange to compute the
conservative length as well.
* gcc.dg/strlenopt-40.c: Update
* gcc.dg/strlenopt-51.c: Likewise.
* gcc.dg/tree-ssa/pr79376.c: Likewise.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r267505
Joel Brobecker [Wed, 2 Jan 2019 06:04:51 +0000 (06:04 +0000)]
Fix year range in libstdc++v3/testsuite/.../empty.cc copyright header
libstdc++-v3/ChangeLog:
* testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
Fix year range in copyright header.
From-SVN: r267504
Martin Sebor [Wed, 2 Jan 2019 06:02:37 +0000 (06:02 +0000)]
gimple-fold.h (get_range_strlen): Update prototype.
* gimple-fold.h (get_range_strlen): Update prototype.
* builtins.c (check_access): Update call to get_range_strlen to use
c_strlen_data pointer. Change various variable accesses to instead
pull data from the c_strlen_data structure.
(check_strncat_sizes, expand_builtin_strncat): Likewise.
* calls.c (maybe_warn_nonstring_arg): Likewise.
* tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Likewise. Reset
minimum length if maximum lengh is unknown.
* gimple-ssa-sprintf.c (get_string_length): Likewise. Drop code
that used c_strlen, it's no longer needed. Restructure slightly.
(format_string): Set unlikely range appropriately.
* gimple-fold.c (get_range_strlen): Update comments. Fix minor
formatting issues.
(get_range_strlen): Accept c_strlen_data pointer for external
call sites as well. Pass through to call to internal get_range_strlen.
Adjust minlen, maxlen and maxbound as needed.
(get_maxval_strlen): Update comments.
(gimple_fold_builtin_strlen): Update call to get_range_strlen
to use c_strlen_data pointer. Change variable accesses to instead
use c_strlen_data data members.
* gcc.dg/strlenopt-40.c: Disable a couple tests.
* gcc.dg/strlenopt-48.c: Twiddle test.
* gcc.dg/strlenopt-59.c: New test.
* gcc.dg/tree-ssa/builtin-snprintf-5.c: New test.
* g++.dg/init/strlen.C: New test.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r267503
GCC Administrator [Wed, 2 Jan 2019 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r267502
Thomas Koenig [Tue, 1 Jan 2019 21:19:53 +0000 (21:19 +0000)]
re PR fortran/82743 (uncaught character truncation in derived type initialization)
2019-01-01 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/82743
* primary.c (gfc_convert_to_structure_constructor): If a character
in a constructor is too long, add a warning with
-Wcharacter-truncation.
2019-01-01 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/82743
* gfortran.dg/structure_constructor_16.f90: New test.
From-SVN: r267499
Martin Sebor [Tue, 1 Jan 2019 18:20:13 +0000 (18:20 +0000)]
gimple-fold.c (get_range_strlen): Update prototype.
* gimple-fold.c (get_range_strlen): Update prototype.
(get_range_strlen_tree): Update prototype. Drop minlen/maxlen
local variables. Use pdata to return information to caller.
Update calls to get_range_strlen. Update pdata->maxbound.
(get_range_strlen -- static version): Similarly.
(get_range_strlen -- extern version): Update for internal
get_range_strlen API change. Convert to external data format.
(get_maxval_strlen): Similarly.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r267498
Jan Hubicka [Tue, 1 Jan 2019 13:30:53 +0000 (14:30 +0100)]
devirt-36.C: Add dg-do-compile.
* g++.dg/ipa/devirt-36.C: Add dg-do-compile.
* g++.dg/ipa/devirt-53.C: Fix scan template.
From-SVN: r267497
Jan Hubicka [Tue, 1 Jan 2019 13:10:39 +0000 (14:10 +0100)]
devirt-13_0.C: Drop broken scan of ssa dump.
* g++.dg/lto/devirt-13_0.C: Drop broken scan of ssa dump.
* g++.dg/lto/devirt-14_0.C: Drop broken scan of ssa dump.
* g++.dg/lto/devirt-23_0.C: Add -fdump-ipa-cp.
From-SVN: r267496
Jan Hubicka [Tue, 1 Jan 2019 12:49:18 +0000 (13:49 +0100)]
coverage.c (get_coverage_counts): Use current_function_decl.
* coverage.c (get_coverage_counts): Use current_function_decl.
* profile.c (read_thunk_profile): New function.
(branch_prob): Add THUNK parameter.
* tree-profile.c (tree_profiling): Handle thunks.
* value-prof.c (init_node_map): Handle thunks.
* value-prof.h (branch_prob): Upate prototype.
(read_thunk_profile): Declare.
* g++.dg/tree-prof/devirt.C: Update testcase.
From-SVN: r267495
Jakub Jelinek [Tue, 1 Jan 2019 12:31:55 +0000 (13:31 +0100)]
Update copyright years.
From-SVN: r267494
Jakub Jelinek [Tue, 1 Jan 2019 12:20:46 +0000 (13:20 +0100)]
* update-copyright.py: Add Gerard Jungman as external author.
From-SVN: r267493
Jakub Jelinek [Tue, 1 Jan 2019 11:34:49 +0000 (12:34 +0100)]
gcc.c (process_command): Update copyright notice dates.
* gcc.c (process_command): Update copyright notice dates.
* gcov-dump.c (print_version): Ditto.
* gcov.c (print_version): Ditto.
* gcov-tool.c (print_version): Ditto.
* gengtype.c (create_file): Ditto.
* doc/cpp.texi: Bump @copying's copyright year.
* doc/cppinternals.texi: Ditto.
* doc/gcc.texi: Ditto.
* doc/gccint.texi: Ditto.
* doc/gcov.texi: Ditto.
* doc/install.texi: Ditto.
* doc/invoke.texi: Ditto.
gcc/fortran/
* gfortranspec.c (lang_specific_driver): Update copyright notice
dates.
* gfc-internals.texi: Bump @copying's copyright year.
* gfortran.texi: Ditto.
* intrinsic.texi: Ditto.
* invoke.texi: Ditto.
gcc/go/
* gccgo.texi: Bump @copyrights-go year.
gcc/ada/
* gnat_ugn.texi: Bump @copying's copyright year.
* gnat_rm.texi: Likewise.
gcc/d/
* gdc.texi: Bump @copyrights-d year.
libitm/
* libitm.texi: Bump @copying's copyright year.
libgomp/
* libgomp.texi: Bump @copying's copyright year.
libquadmath/
* libquadmath.texi: Bump @copying's copyright year.
From-SVN: r267492
GCC Administrator [Tue, 1 Jan 2019 00:16:34 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r267491
Max Filippov [Mon, 31 Dec 2018 16:51:36 +0000 (16:51 +0000)]
re PR target/86814 (xtensa port needs updating for CVE-2017-5753)
PR target/86814
Xtensa architecture is not affected by speculation.
gcc/
2018-12-31 Max Filippov <jcmvbkbc@gmail.com>
* config/xtensa/xtensa.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
Define to speculation_safe_value_not_needed.
From-SVN: r267488
Thomas Koenig [Mon, 31 Dec 2018 14:59:46 +0000 (14:59 +0000)]
re PR fortran/82995 (Segmentation fault passing optional argument to intrinsic sum function)
2018-12-31 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/82995
* trans-expr.c (gfc_conv_procedure_call): Pass NULL pointer
for missing optional dummy arguments for library routines.
* trans-intinsic.c (conv_mask_condition): New function.
(gfc_conv_intrinsic_arith): Detect and handle optional mask.
(gfc_conv_intrinsic_minmaxloc): Likewise.
(gfc_conv_intrinsic_findloc): Likewise.
(gfc_conv_intrinsic_minmaxval): Likewise.
(gfc_inline_intrinsic_function_p): Do not inline for rank > 1 if
an optional mask is present.
2018-12-31 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/82995
* m4/ifindloc0.m4: Handle case of absend optional argument, passed
as a NULL pointer. Correct allocation of retarray->base_addr.
* m4/ifindloc1.m4: Likewise.
* m4/ifindloc2.m4: Handle case of absend optional argument, passed
as a NULL pointer.
* m4/iforeach-s.m4: Likewise.
* m4/iforeach-s2.m4: Likewise.
* m4/iforeach.m4: Likewise.
* m4/ifunction-s.m4: Likewise.
* m4/ifunction-s2.m4: Likewise.
* m4/ifunction.m4: Likewise.
* generated/findloc0_c16.c: Regenerated.
* generated/findloc0_c4.c: Regenerated.
* generated/findloc0_c8.c: Regenerated.
* generated/findloc0_i1.c: Regenerated.
* generated/findloc0_i16.c: Regenerated.
* generated/findloc0_i2.c: Regenerated.
* generated/findloc0_i4.c: Regenerated.
* generated/findloc0_i8.c: Regenerated.
* generated/findloc0_r16.c: Regenerated.
* generated/findloc0_r4.c: Regenerated.
* generated/findloc0_r8.c: Regenerated.
* generated/findloc0_s1.c: Regenerated.
* generated/findloc0_s4.c: Regenerated.
* generated/findloc1_c16.c: Regenerated.
* generated/findloc1_c4.c: Regenerated.
* generated/findloc1_c8.c: Regenerated.
* generated/findloc1_i1.c: Regenerated.
* generated/findloc1_i16.c: Regenerated.
* generated/findloc1_i2.c: Regenerated.
* generated/findloc1_i4.c: Regenerated.
* generated/findloc1_i8.c: Regenerated.
* generated/findloc1_r16.c: Regenerated.
* generated/findloc1_r4.c: Regenerated.
* generated/findloc1_r8.c: Regenerated.
* generated/findloc1_s1.c: Regenerated.
* generated/findloc1_s4.c: Regenerated.
* generated/findloc2_s1.c: Regenerated.
* generated/findloc2_s4.c: Regenerated.
* generated/iall_i1.c: Regenerated.
* generated/iall_i16.c: Regenerated.
* generated/iall_i2.c: Regenerated.
* generated/iall_i4.c: Regenerated.
* generated/iall_i8.c: Regenerated.
* generated/iany_i1.c: Regenerated.
* generated/iany_i16.c: Regenerated.
* generated/iany_i2.c: Regenerated.
* generated/iany_i4.c: Regenerated.
* generated/iany_i8.c: Regenerated.
* generated/iparity_i1.c: Regenerated.
* generated/iparity_i16.c: Regenerated.
* generated/iparity_i2.c: Regenerated.
* generated/iparity_i4.c: Regenerated.
* generated/iparity_i8.c: Regenerated.
* generated/maxloc0_16_i1.c: Regenerated.
* generated/maxloc0_16_i16.c: Regenerated.
* generated/maxloc0_16_i2.c: Regenerated.
* generated/maxloc0_16_i4.c: Regenerated.
* generated/maxloc0_16_i8.c: Regenerated.
* generated/maxloc0_16_r10.c: Regenerated.
* generated/maxloc0_16_r16.c: Regenerated.
* generated/maxloc0_16_r4.c: Regenerated.
* generated/maxloc0_16_r8.c: Regenerated.
* generated/maxloc0_16_s1.c: Regenerated.
* generated/maxloc0_16_s4.c: Regenerated.
* generated/maxloc0_4_i1.c: Regenerated.
* generated/maxloc0_4_i16.c: Regenerated.
* generated/maxloc0_4_i2.c: Regenerated.
* generated/maxloc0_4_i4.c: Regenerated.
* generated/maxloc0_4_i8.c: Regenerated.
* generated/maxloc0_4_r10.c: Regenerated.
* generated/maxloc0_4_r16.c: Regenerated.
* generated/maxloc0_4_r4.c: Regenerated.
* generated/maxloc0_4_r8.c: Regenerated.
* generated/maxloc0_4_s1.c: Regenerated.
* generated/maxloc0_4_s4.c: Regenerated.
* generated/maxloc0_8_i1.c: Regenerated.
* generated/maxloc0_8_i16.c: Regenerated.
* generated/maxloc0_8_i2.c: Regenerated.
* generated/maxloc0_8_i4.c: Regenerated.
* generated/maxloc0_8_i8.c: Regenerated.
* generated/maxloc0_8_r10.c: Regenerated.
* generated/maxloc0_8_r16.c: Regenerated.
* generated/maxloc0_8_r4.c: Regenerated.
* generated/maxloc0_8_r8.c: Regenerated.
* generated/maxloc0_8_s1.c: Regenerated.
* generated/maxloc0_8_s4.c: Regenerated.
* generated/maxloc1_16_i1.c: Regenerated.
* generated/maxloc1_16_i16.c: Regenerated.
* generated/maxloc1_16_i2.c: Regenerated.
* generated/maxloc1_16_i4.c: Regenerated.
* generated/maxloc1_16_i8.c: Regenerated.
* generated/maxloc1_16_r10.c: Regenerated.
* generated/maxloc1_16_r16.c: Regenerated.
* generated/maxloc1_16_r4.c: Regenerated.
* generated/maxloc1_16_r8.c: Regenerated.
* generated/maxloc1_16_s1.c: Regenerated.
* generated/maxloc1_16_s4.c: Regenerated.
* generated/maxloc1_4_i1.c: Regenerated.
* generated/maxloc1_4_i16.c: Regenerated.
* generated/maxloc1_4_i2.c: Regenerated.
* generated/maxloc1_4_i4.c: Regenerated.
* generated/maxloc1_4_i8.c: Regenerated.
* generated/maxloc1_4_r10.c: Regenerated.
* generated/maxloc1_4_r16.c: Regenerated.
* generated/maxloc1_4_r4.c: Regenerated.
* generated/maxloc1_4_r8.c: Regenerated.
* generated/maxloc1_4_s1.c: Regenerated.
* generated/maxloc1_4_s4.c: Regenerated.
* generated/maxloc1_8_i1.c: Regenerated.
* generated/maxloc1_8_i16.c: Regenerated.
* generated/maxloc1_8_i2.c: Regenerated.
* generated/maxloc1_8_i4.c: Regenerated.
* generated/maxloc1_8_i8.c: Regenerated.
* generated/maxloc1_8_r10.c: Regenerated.
* generated/maxloc1_8_r16.c: Regenerated.
* generated/maxloc1_8_r4.c: Regenerated.
* generated/maxloc1_8_r8.c: Regenerated.
* generated/maxloc1_8_s1.c: Regenerated.
* generated/maxloc1_8_s4.c: Regenerated.
* generated/maxval0_s1.c: Regenerated.
* generated/maxval0_s4.c: Regenerated.
* generated/maxval1_s1.c: Regenerated.
* generated/maxval1_s4.c: Regenerated.
* generated/maxval_i1.c: Regenerated.
* generated/maxval_i16.c: Regenerated.
* generated/maxval_i2.c: Regenerated.
* generated/maxval_i4.c: Regenerated.
* generated/maxval_i8.c: Regenerated.
* generated/maxval_r10.c: Regenerated.
* generated/maxval_r16.c: Regenerated.
* generated/maxval_r4.c: Regenerated.
* generated/maxval_r8.c: Regenerated.
* generated/minloc0_16_i1.c: Regenerated.
* generated/minloc0_16_i16.c: Regenerated.
* generated/minloc0_16_i2.c: Regenerated.
* generated/minloc0_16_i4.c: Regenerated.
* generated/minloc0_16_i8.c: Regenerated.
* generated/minloc0_16_r10.c: Regenerated.
* generated/minloc0_16_r16.c: Regenerated.
* generated/minloc0_16_r4.c: Regenerated.
* generated/minloc0_16_r8.c: Regenerated.
* generated/minloc0_16_s1.c: Regenerated.
* generated/minloc0_16_s4.c: Regenerated.
* generated/minloc0_4_i1.c: Regenerated.
* generated/minloc0_4_i16.c: Regenerated.
* generated/minloc0_4_i2.c: Regenerated.
* generated/minloc0_4_i4.c: Regenerated.
* generated/minloc0_4_i8.c: Regenerated.
* generated/minloc0_4_r10.c: Regenerated.
* generated/minloc0_4_r16.c: Regenerated.
* generated/minloc0_4_r4.c: Regenerated.
* generated/minloc0_4_r8.c: Regenerated.
* generated/minloc0_4_s1.c: Regenerated.
* generated/minloc0_4_s4.c: Regenerated.
* generated/minloc0_8_i1.c: Regenerated.
* generated/minloc0_8_i16.c: Regenerated.
* generated/minloc0_8_i2.c: Regenerated.
* generated/minloc0_8_i4.c: Regenerated.
* generated/minloc0_8_i8.c: Regenerated.
* generated/minloc0_8_r10.c: Regenerated.
* generated/minloc0_8_r16.c: Regenerated.
* generated/minloc0_8_r4.c: Regenerated.
* generated/minloc0_8_r8.c: Regenerated.
* generated/minloc0_8_s1.c: Regenerated.
* generated/minloc0_8_s4.c: Regenerated.
* generated/minloc1_16_i1.c: Regenerated.
* generated/minloc1_16_i16.c: Regenerated.
* generated/minloc1_16_i2.c: Regenerated.
* generated/minloc1_16_i4.c: Regenerated.
* generated/minloc1_16_i8.c: Regenerated.
* generated/minloc1_16_r10.c: Regenerated.
* generated/minloc1_16_r16.c: Regenerated.
* generated/minloc1_16_r4.c: Regenerated.
* generated/minloc1_16_r8.c: Regenerated.
* generated/minloc1_16_s1.c: Regenerated.
* generated/minloc1_16_s4.c: Regenerated.
* generated/minloc1_4_i1.c: Regenerated.
* generated/minloc1_4_i16.c: Regenerated.
* generated/minloc1_4_i2.c: Regenerated.
* generated/minloc1_4_i4.c: Regenerated.
* generated/minloc1_4_i8.c: Regenerated.
* generated/minloc1_4_r10.c: Regenerated.
* generated/minloc1_4_r16.c: Regenerated.
* generated/minloc1_4_r4.c: Regenerated.
* generated/minloc1_4_r8.c: Regenerated.
* generated/minloc1_4_s1.c: Regenerated.
* generated/minloc1_4_s4.c: Regenerated.
* generated/minloc1_8_i1.c: Regenerated.
* generated/minloc1_8_i16.c: Regenerated.
* generated/minloc1_8_i2.c: Regenerated.
* generated/minloc1_8_i4.c: Regenerated.
* generated/minloc1_8_i8.c: Regenerated.
* generated/minloc1_8_r10.c: Regenerated.
* generated/minloc1_8_r16.c: Regenerated.
* generated/minloc1_8_r4.c: Regenerated.
* generated/minloc1_8_r8.c: Regenerated.
* generated/minloc1_8_s1.c: Regenerated.
* generated/minloc1_8_s4.c: Regenerated.
* generated/minval0_s1.c: Regenerated.
* generated/minval0_s4.c: Regenerated.
* generated/minval1_s1.c: Regenerated.
* generated/minval1_s4.c: Regenerated.
* generated/minval_i1.c: Regenerated.
* generated/minval_i16.c: Regenerated.
* generated/minval_i2.c: Regenerated.
* generated/minval_i4.c: Regenerated.
* generated/minval_i8.c: Regenerated.
* generated/minval_r10.c: Regenerated.
* generated/minval_r16.c: Regenerated.
* generated/minval_r4.c: Regenerated.
* generated/minval_r8.c: Regenerated.
* generated/product_c10.c: Regenerated.
* generated/product_c16.c: Regenerated.
* generated/product_c4.c: Regenerated.
* generated/product_c8.c: Regenerated.
* generated/product_i1.c: Regenerated.
* generated/product_i16.c: Regenerated.
* generated/product_i2.c: Regenerated.
* generated/product_i4.c: Regenerated.
* generated/product_i8.c: Regenerated.
* generated/product_r10.c: Regenerated.
* generated/product_r16.c: Regenerated.
* generated/product_r4.c: Regenerated.
* generated/product_r8.c: Regenerated.
* generated/sum_c10.c: Regenerated.
* generated/sum_c16.c: Regenerated.
* generated/sum_c4.c: Regenerated.
* generated/sum_c8.c: Regenerated.
* generated/sum_i1.c: Regenerated.
* generated/sum_i16.c: Regenerated.
* generated/sum_i2.c: Regenerated.
* generated/sum_i4.c: Regenerated.
* generated/sum_i8.c: Regenerated.
* generated/sum_r10.c: Regenerated.
* generated/sum_r16.c: Regenerated.
* generated/sum_r4.c: Regenerated.
* generated/sum_r8.c: Regenerated.
2018-12-31 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/82995
* gfortran.dg/optional_absent_4.f90: New test.
* gfortran.dg/optional_absent_5.f90: New test.
From-SVN: r267487
Martin Liska [Mon, 31 Dec 2018 14:11:09 +0000 (15:11 +0100)]
Fix scan pattern of a test-case.
2018-12-31 Martin Liska <mliska@suse.cz>
* g++.dg/tree-prof/devirt.C: Fix scan pattern and test options.
From-SVN: r267486
Martin Liska [Mon, 31 Dec 2018 13:46:08 +0000 (14:46 +0100)]
predict.c (set_even_probabilities): Include also unlikely_count in calculation.
).
2018-12-31 Martin Liska <mliska@suse.cz>
* predict.c (set_even_probabilities): Include also
unlikely_count in calculation.
(combine_predictions_for_bb): Consider also HOT and
COLD labels predictions.
* predict.def (PRED_HOT_LABEL): Move it just after
__builtin_expect_with_probability predictor.
(PRED_COLD_LABEL): Likewise.
2018-12-31 Martin Liska <mliska@suse.cz>
* g++.dg/predict-2.C: New test.
* g++.dg/predict-3.C: New test.
* g++.dg/predict-4.C: New test.
* gcc.dg/tree-ssa/attr-hotcold-2.c: Adjust test-case.
From-SVN: r267485
Jan Hubicka [Mon, 31 Dec 2018 10:05:30 +0000 (11:05 +0100)]
* x86-tune.def: Enable inter_unit_moves_to_vec for generic.
From-SVN: r267484
Martin Sebor [Mon, 31 Dec 2018 03:18:49 +0000 (03:18 +0000)]
gimple-fold.c (get_range_strlen): Minor logic cleanup.
* gimple-fold.c (get_range_strlen): Minor logic cleanup. Add comments
on code's intent.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r267483
Martin Sebor [Mon, 31 Dec 2018 01:01:10 +0000 (01:01 +0000)]
gimple-fold.c (strlen_range_kind): New enum.
* gimple-fold.c (strlen_range_kind): New enum.
(get_range_strlen): Update signature to use strlen_range_kind
instead of type+fuzzy.
(get_range_strlen_tree): Update signature to use
strlen_range_kind instead of type+fuzzy. Pass rkind down to
get_range_strlen. Check the rkind enum value instead of
type+fuzzy.
(get_range_strlen): Similarly.
(get_maxval_strlen): Update signature to make NONSTR argument have
a default value and make static. Add asserts to ensure sanity of
arguments. Update calls to get_range_strlen.
(gimple_fold_builtin_strcpy): Update calls to get_maxval_strlen.
(gimple_fold_builtin_strcat, gimple_fold_builtin_fputs): Similarly.
(gimple_fold_builtin_memory_chk): Similarly.
(gimple_fold_builtin_stxcpy_chk): Similarly.
(gimple_fold_builtin_snprintf_chk): Similarly.
(gimple_fold_builtin_sprintf, gimple_fold_builtin_snprintf): Similarly.
* gimple-fold.h (get_maxval_strlen): Delete prototype.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r267482
GCC Administrator [Mon, 31 Dec 2018 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r267481
H.J. Lu [Sun, 30 Dec 2018 17:36:05 +0000 (17:36 +0000)]
Use dg-additional-options instead of dg-options
Use dg-additional-options rather than dg-options to avoid overwriting the
default IEEE options which are passed by ieee.exp and necessary.
PR testsuite/88639
* gfortran.dg/ieee/ieee_10.f90: Use dg-additional-options
instead of dg-options.
From-SVN: r267478
GCC Administrator [Sun, 30 Dec 2018 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r267473
Gerald Pfeifer [Sat, 29 Dec 2018 23:22:50 +0000 (23:22 +0000)]
Makefile.am (xcoff_%.c): Use an actual newline instead of \n in sed pattern.
* Makefile.am (xcoff_%.c): Use an actual newline instead of \n
in sed pattern.
* Makefile.in: Regenerate.
From-SVN: r267470
Dominique d'Humieres [Sat, 29 Dec 2018 22:30:14 +0000 (23:30 +0100)]
key2.C: Silence the [-Wreturn-type] warning.
2018-12-29 Dominique d'Humieres <dominiq@gcc.gnu.org>
* g++.dg/abi/key2.C: Silence the [-Wreturn-type] warning.
From-SVN: r267469
Steven G. Kargl [Sat, 29 Dec 2018 19:14:32 +0000 (19:14 +0000)]
expr.c (external_spec_function): Add ieee_support_subnormal to list of IEEE inquiry functions.
2018-12-29 Steven G. Kargl <kargl@gcc.gnu.org>
* expr.c (external_spec_function): Add ieee_support_subnormal to list
of IEEE inquiry functions.
2018-12-29 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.map: Expose subnormal functions in dynamic library.
* ieee/ieee_arithmetic.F90: Add support for IEEE_SUBNORMAL,
IEEE_POSITIVE_SUBNORMAL, and IEEE_NEGATIVE_SUBNORMAL.
* ieee/ieee_helper.c: Ditto.
* ieee/ieee_features.F90: Add IEEE_SUBNORMAL.
2018-12-29 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/ieee/ieee_11.F90: New test.
From-SVN: r267468
Jozef Lawrynowicz [Sat, 29 Dec 2018 19:00:48 +0000 (19:00 +0000)]
msp430.c (msp430_attr): Warn when the critical and interrupt function attributes are used together.
2018-12-29 Jozef Lawrynowicz <jozef.l@mittosystems.com>
gcc/ChangeLog:
* config/msp430/msp430.c (msp430_attr): Warn when the critical and
interrupt function attributes are used together.
* gcc/doc/extend.texi: Update documentation on the critical attribute.
gcc/testsuite/ChangeLog:
* gcc.target/msp430/critical-interrupt.c: New test.
From-SVN: r267467
Steven G. Kargl [Sat, 29 Dec 2018 18:10:57 +0000 (18:10 +0000)]
re PR fortran/88342 (Possible bug with IEEE_POSITIVE_INF and -ffpe-trap=overflow)
2018-12-29 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88342
* ieee/ieee_arithmetic.F90: Prevent exceptions in IEEE_VALUE if
-ffpe-trap=invalid or -ffpe-trap=overflow is used.
2018-12-29 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88342
* gfortran.dg/ieee/ieee_10.f90: New test.
From-SVN: r267465
Steven G. Kargl [Sat, 29 Dec 2018 17:43:02 +0000 (17:43 +0000)]
cpp.c (gfc_cpp_init): Add pre-defined macros for INTEGER(1) INTEGER(2)...
2018-12-25 Steven G. Kargl <kargl@gcc.gnu.org>
* cpp.c (gfc_cpp_init): Add pre-defined macros for INTEGER(1)
INTEGER(2), INTEGER(8) and INTEGER(16) if supported. Add pre-defined
macros for REAL(10) and REAL(16) if available.
* gfortran.texi: Document new macros.
From-SVN: r267464
John David Anglin [Sat, 29 Dec 2018 17:02:51 +0000 (17:02 +0000)]
config.gcc (hppa*64*-*-linux*): Add pa/t-pa to tmake_file.
* config.gcc (hppa*64*-*-linux*): Add pa/t-pa to tmake_file. Define
d_target_objs.
(hppa*-*-openbsd*): Likewise.
(hppa[12]*-*-hpux10*): Likewise.
(hppa*64*-*-hpux11*): Likewise.
(hppa[12]*-*-hpux11*): Likewise.
From-SVN: r267463
Dominique d'Humieres [Sat, 29 Dec 2018 15:05:55 +0000 (16:05 +0100)]
re PR tree-optimization/68356 (FAIL: gcc.dg/torture/pr68264.c -O* execution test on x86_64-apple-darwin1(0|4))
2018-12-29 Dominique d'Humieres <dominiq@gcc.gnu.org>
PR tree-optimization/68356
PR target/81210
PR target/81693
* gcc.dg/torture/pr68264.c: Skip on darwin.
* gcc.dg/torture/pr68037-1.c: Likewise.
* gcc.dg/torture/pr68037-2.c: Likewise.
* gcc.dg/torture/pr68037-3.c: Likewise.
* gcc.dg/torture/pr25967-1.c: Likewise.
* gcc.dg/torture/pr25967-2.c: Likewise.
M ChangeLog
M gcc.dg/torture/pr25967-1.c
M gcc.dg/torture/pr25967-2.c
M gcc.dg/torture/pr68037-1.c
M gcc.dg/torture/pr68037-2.c
M gcc.dg/torture/pr68037-3.c
M gcc.dg/torture/pr68264.c
From-SVN: r267462
Jakub Jelinek [Sat, 29 Dec 2018 10:53:36 +0000 (11:53 +0100)]
re PR ipa/88586 (ICE: Segmentation fault (in free_lang_data_in_decl))
PR ipa/88586
* omp-low.c (lower_omp_task_reductions): Set DECL_CONTEXT on field
and ifield. Update TYPE_ALIGN from alignment of field, ifield or
bfield.
* g++.dg/gomp/pr88586.C: New test.
From-SVN: r267461
GCC Administrator [Sat, 29 Dec 2018 00:16:30 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r267460
Ian Lance Taylor [Sat, 29 Dec 2018 00:07:06 +0000 (00:07 +0000)]
runtime: prevent deadlock when profiling signal arrives in stack scan
Precise stack scan needs to unwind the stack. When it is
unwinding the stack, if a profiling signal arrives, which also
does a traceback, it may deadlock in dl_iterate_phdr. Prevent
this deadlock by setting up runtime_in_callers before traceback.
Reviewed-on: https://go-review.googlesource.com/c/155766
From-SVN: r267457
Uros Bizjak [Fri, 28 Dec 2018 22:50:12 +0000 (23:50 +0100)]
i386.h (ADDITIONAL_REGISTER_NAMES): Add sil, dil, bpl and spl aliases.
* config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
sil, dil, bpl and spl aliases.
From-SVN: r267456
Ian Lance Taylor [Fri, 28 Dec 2018 21:10:33 +0000 (21:10 +0000)]
compiler: remove escapes_ field from Variable and Result_variable
The fields were set to true initially and never set to false.
These were left over from an earlier attempt at escape analysis.
Reviewed-on: https://go-review.googlesource.com/c/155750
From-SVN: r267455
Martin Sebor [Fri, 28 Dec 2018 19:26:14 +0000 (19:26 +0000)]
tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Avoid undesirable warning.
* tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Avoid
undesirable warning.
From-SVN: r267454
David Edelsohn [Fri, 28 Dec 2018 19:14:51 +0000 (19:14 +0000)]
ident-1b.c: XFAIL AIX and Darwin.
* c-c++-common/ident-1b.c: XFAIL AIX and Darwin.
* c-c++-common/ident-2b.c: Likewise.
From-SVN: r267453
Steven G. Kargl [Fri, 28 Dec 2018 18:26:09 +0000 (18:26 +0000)]
re PR libfortran/81984 (NULL string pointer dereferencing forces undefined behaviour in libgfortran)
2018-12-28 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/81984
* intrinsics/string_intrinsics_inc.c: Placate the sanitizer.
From-SVN: r267452
H.J. Lu [Fri, 28 Dec 2018 15:13:14 +0000 (15:13 +0000)]
x86-64: Remove .file directive from snapshot source
* gcc.target/x86_64/abi/avx/asm-support-darwin.s: Remove .file
directive.
* gcc.target/x86_64/abi/avx/asm-support.S: Likewise.
* gcc.target/x86_64/abi/avx512f/asm-support.S: Likewise.
From-SVN: r267451
H.J. Lu [Fri, 28 Dec 2018 14:40:27 +0000 (14:40 +0000)]
x86-64: Remove .file directive from snapshot source
Since snapshot() is implemented in assembly code, .file directive should
be removed. Otherwise, debugger can't find the snapshot source.
* gcc.target/x86_64/abi/asm-support-darwin.s: Remove .file
directive.
* gcc.target/x86_64/abi/asm-support.S: Likewise.
From-SVN: r267450
Thomas Schwinge [Fri, 28 Dec 2018 11:34:14 +0000 (12:34 +0100)]
For libgomp OpenACC entry points, redefine the "device" argument to "flags"
... so that we're then able to use this for other flags in addition to
"GOACC_FLAG_HOST_FALLBACK".
gcc/
* omp-expand.c (expand_omp_target): Restructure OpenACC vs. OpenMP
code paths. Update for libgomp OpenACC entry points change.
include/
* gomp-constants.h (GOACC_FLAG_HOST_FALLBACK)
(GOACC_FLAGS_MARSHAL_OP, GOACC_FLAGS_UNMARSHAL): Define.
libgomp/
* oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
(GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
(GOACC_declare): Redefine the "device" argument to "flags".
From-SVN: r267448
Thomas Schwinge [Fri, 28 Dec 2018 11:34:03 +0000 (12:34 +0100)]
poly_int: get_inner_reference & co.: fix known_eq typo/bug
gcc/
* gimplify.c (gimplify_scan_omp_clauses): Fix known_eq typo/bug.
Co-Authored-By: Julian Brown <julian@codesourcery.com>
From-SVN: r267447
Thomas Schwinge [Fri, 28 Dec 2018 11:33:54 +0000 (12:33 +0100)]
Cleanup libgomp's coalesce chunk data structures
libgomp/
* target.c (struct gomp_coalesce_chunk): New structure.
(struct gomp_coalesce_buf): Update the chunks member to use that
type. Adjust all users.
Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
From-SVN: r267446
Tom de Vries [Fri, 28 Dec 2018 03:43:56 +0000 (03:43 +0000)]
[libbacktrace] Reduce memory usage in build_address_map
In build_address_map we allocate a unit, and then look for addresses in the
unit, which we store in the addrs vector, with the elements pointing to the
unit. However, if we cannot find addresses in the unit, the allocated unit is
not used.
Fix this by detecting if the allocated unit has been used, and reusing it
otherwise.
Bootstrapped and reg-tested on x86_64.
2018-12-28 Tom de Vries <tdevries@suse.de>
* dwarf.c (build_address_map): Reuse unused units.
From-SVN: r267445
Tom de Vries [Fri, 28 Dec 2018 03:43:41 +0000 (03:43 +0000)]
[libbacktrace] Simplify memory management in build_address_map
In the main loop in build_address_map, we first read the abbrevs into a local
variable abbrevs, and then allocate the corresponding unit, after which we assign
the abbrevs to the unit. This results in dedicated free-upon-failure
handling for the variable, and extra code to make sure that free-upon-failure
doesn't trigger once the unit has taken ownership of the abbrevs.
Simplify this by reversing the order of abbrev reading and unit allocation,
and eliminating the abbrevs local variable.
Bootstrapped and reg-tested on x86_64.
2018-12-28 Tom de Vries <tdevries@suse.de>
* dwarf.c (build_address_map): Simplify by removing local variable
abbrevs.
From-SVN: r267444
Ian Lance Taylor [Fri, 28 Dec 2018 03:43:26 +0000 (03:43 +0000)]
[libbacktrace] Fix memory leak in loop in build_address_map
When failing in build_address_map, we free the unit that's currently being
handled in the loop, but the ones that already have been allocated are leaked.
Fix this by keeping track of allocated units in a vector, and releasing them
upon failure.
Also, now that we have a vector of allocated units, move the freeing upon
failure of the abbrevs associated with each unit to build_address_map, and
remove the now redundant call to free_unit_addrs_vector.
Bootstrapped and reg-tested on x86_64.
2018-12-28 Ian Lance Taylor <iant@golang.org>
Tom de Vries <tdevries@suse.de>
PR libbacktrace/88063
* dwarf.c (free_unit_addrs_vector): Remove.
(build_address_map): Keep track of allocated units in vector. Free
allocated units and corresponding abbrevs upon failure. Remove now
redundant call to free_unit_addrs_vector. Free addrs vector upon
failure. Free allocated unit vector.
Co-Authored-By: Tom de Vries <tdevries@suse.de>
From-SVN: r267443
Tom de Vries [Fri, 28 Dec 2018 03:43:15 +0000 (03:43 +0000)]
[libbacktrace] Fix memory leak in build_address_map
While upon failure in build_address_map we call free_unit_addrs_vector, this
does not actually free the addrs vector, but merely the abbrevs of the units
pointed at by the elements of the addrs vector.
Fix this by adding code to build_address_map to make sure that the addrs vector
is freed upon failure.
Bootstrapped and reg-tested on x86_64.
2018-12-28 Tom de Vries <tdevries@suse.de>
* dwarf.c (build_address_map): Free addrs vector upon failure.
From-SVN: r267442
GCC Administrator [Fri, 28 Dec 2018 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r267441
Jan Hubicka [Thu, 27 Dec 2018 21:23:30 +0000 (22:23 +0100)]
ipa-devirt.c (polymorphic_call_target_d): Add n_odr_types.
* ipa-devirt.c (polymorphic_call_target_d): Add n_odr_types.
(polymorphic_call_target_hasher::hash): Hash it.
(polymorphic_call_target_hasher::equal): Compare it.
(possible_polymorphic_call_targets): Set it.
* tree.c (free_lang_data): Rebuild type inheritance graph even on
non-LTO path.
* g++.dg/ipa/devirt-53.C: New testcase.
From-SVN: r267438
Steven G. Kargl [Thu, 27 Dec 2018 21:13:53 +0000 (21:13 +0000)]
re PR fortran/81027 (Assumed-shape array reported as deferred.)
2018-12-27 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/81027
* expr.c (gfc_check_init_expr): Distinguish assumed-shape versus
deferred-shape dummy arguments in an error message.
2018-12-27 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/81027
* gfortran.dg/pr81027.f90: New test.
* gfortran.dg/initialization_7.f90: Update error message.
From-SVN: r267437
Steven G. Kargl [Thu, 27 Dec 2018 20:57:12 +0000 (20:57 +0000)]
aligned1.f03: Fix invalid code that now causes an error after r267415.
2018-12-27 Steven G. Kargl <kargl@gcc.gnu.org>
* libgomp.fortran/aligned1.f03: Fix invalid code that now causes
an error after r267415.
From-SVN: r267436
Ian Lance Taylor [Thu, 27 Dec 2018 16:34:50 +0000 (16:34 +0000)]
runtime: delete export_arm_test.go
The only thing export_arm_test.go does is to export usplit,
which does not exist in gccgo.
Reviewed-on: https://go-review.googlesource.com/c/155760
From-SVN: r267435
Ian Lance Taylor [Thu, 27 Dec 2018 16:31:50 +0000 (16:31 +0000)]
runtime: let ARM32 EABI personality function continue unwind when called from traceback
On ARM32 EABI, unlike other platforms, the personality function is
called during _Unwind_Backtrace (libgcc/unwind-arm-common.inc:581).
In this case, simply unwind the frame without returning any
handlers. Otherwise traceback will loop if there is a frame with
a defer on stack.
Reviewed-on: https://go-review.googlesource.com/c/155759
From-SVN: r267434
Martin Liska [Thu, 27 Dec 2018 09:47:20 +0000 (10:47 +0100)]
Cherry pick libsanitizer patch (https://reviews.llvm.org/D54856).
2018-12-27 Martin Liska <mliska@suse.cz>
PR sanitizer/86229
* asan/asan_errors.cc (ErrorAllocTypeMismatch::Print): Cherry
pick rL350085.
* asan/asan_errors.h (struct ErrorAllocTypeMismatch): Likewise.
From-SVN: r267432
Martin Liska [Thu, 27 Dec 2018 08:59:35 +0000 (09:59 +0100)]
Fix slowness in gcov (PR gcov-profile/88225).
2018-12-27 Martin Liska <mliska@suse.cz>
PR gcov-profile/88225
* gcov.c(source_info::get_functions_at_location):
Use newly added line_to_function_map.
(source_info::add_function): New.
(output_json_intermediate_file): Use a pointer return
type for get_functions_at_location.
(process_all_functions): Use add_function instead
of direct push to a s->functions container.
(release_structures): Release ident_to_fn.
(read_graph_file): Register function into ident_to_fn.
(read_count_file): Use the map.
(output_lines): Handle pointer return type of
get_functions_at_location.
From-SVN: r267431
Martin Liska [Thu, 27 Dec 2018 08:51:14 +0000 (09:51 +0100)]
Comparison with an enum should mention enum value.
2018-12-27 Martin Liska <mliska@suse.cz>
* builtins.c (expand_movstr): Compare with RETURN_BEGIN.
* expr.c (move_by_pieces): Likewise.
(store_by_pieces): Likewise.
(store_expr): Fix GNU coding style.
From-SVN: r267430
Martin Liska [Thu, 27 Dec 2018 08:46:13 +0000 (09:46 +0100)]
Use proper location for tls_init function (PR c++/88263).
2018-12-27 Martin Liska <mliska@suse.cz>
PR c++/88263
* decl2.c (get_local_tls_init_fn): Add location_t argument and
use it.
(get_tls_init_fn): Call it with location of variable for which
we'll need to create tls_init function.
(handle_tls_init): Likewise.
2018-12-27 Martin Liska <mliska@suse.cz>
PR c++/88263
* g++.dg/gcov/pr88263.C: New test.
From-SVN: r267429
Ian Lance Taylor [Thu, 27 Dec 2018 03:13:11 +0000 (03:13 +0000)]
runtime: on ARM32 EABI, don't get LSDA if compact model is used
On ARM32 EABI, when the "compact" unwinding model is used, it
does not have standard LSDA and _Unwind_GetLanguageSpecificData
will not return data that is parseable by us. Check this
conditon before calling _Unwind_GetLanguageSpecificData.
Fix ARM32 build.
Reviewed-on: https://go-review.googlesource.com/c/155758
From-SVN: r267428
Andrew Pinski [Thu, 27 Dec 2018 01:07:43 +0000 (01:07 +0000)]
aarch64-cores.def (octeontx): New.
2018-12-26 Andrew Pinski <apinski@marvell.com>
* config/aarch64/aarch64-cores.def (octeontx): New.
(octeontx81): Likewise.
(octeontx83): Likewise.
* config/aarch64/aarch64-tune.md: Regenerate.
* doc/invoke.texi (AArch64 Options) [mtune]: Add octeontx, octeontx81
and octeontx83.
From-SVN: r267427
GCC Administrator [Thu, 27 Dec 2018 00:16:33 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r267426
Steven G. Kargl [Wed, 26 Dec 2018 21:08:53 +0000 (21:08 +0000)]
re PR fortran/85357 (ICE on invalid code with equal procedure names)
2018-12-26 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/85357
* gfortran.df/pr85357.f90: New test.
From-SVN: r267423
Harald Anlauf [Wed, 26 Dec 2018 20:37:28 +0000 (20:37 +0000)]
re PR fortran/85407 (Replace gcc_assert in module.c:read_module by more helpful diagnostics)
2018-12-26 Harald Anlauf <anlauf@gmx.de>
PR fortran/85407
* module.c (read_module): Convert assert to fatal error to give
user a sensible error message.
From-SVN: r267422
GCC Administrator [Wed, 26 Dec 2018 00:16:25 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r267421
GCC Administrator [Tue, 25 Dec 2018 00:16:35 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r267418
Steven G. Kargl [Mon, 24 Dec 2018 18:26:25 +0000 (18:26 +0000)]
re PR fortran/45513 (BOZ kinds differently handled, F2008: BOZ in bit intrinsics)
2018-12-24 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/45513
PR fortran/81509
* check.c: Rename function gfc_check_iand to gfc_check_iand_ieor_ior.
* check.c (boz_args_check): New function. Check I and J not both BOZ.
(gfc_check_dshift,gfc_check_iand_ieor_ior, gfc_check_ishft,
gfc_check_and, gfc_check_merge_bits): Use it.
* check.c (gfc_check_iand_ieor_ior): Force conversion of BOZ to kind
type of other agrument. Remove silly GNU extension.
(gfc_check_ieor, gfc_check_ior): Delete now unused functions.
* intrinsic.c (add_functions): Use gfc_check_iand_ieor_ior. Wrap long
line.
* intrinsic.h: Rename gfc_check_iand to gfc_check_iand_ieor_ior.
Delete prototype for bool gfc_check_ieor and gfc_check_ior
* intrinsic.texi: Update documentation for boz-literal-constant.
2018-12-24 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/45513
PR fortran/81509
* gfortran.dg/graphite/id-26.f03: Fix non-conforming use of IAND.
* gfortran.dg/pr81509_1.f90: New test.
* gfortran.dg/pr81509_2.f90: New test.
From-SVN: r267415
Steven G. Kargl [Mon, 24 Dec 2018 18:03:49 +0000 (18:03 +0000)]
ieee_9.f90: XFAIL on arm*-*-gnueabi[hf].
2018-12-24 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/ieee/ieee_9.f90: XFAIL on arm*-*-gnueabi[hf].
From-SVN: r267414
Martin Sebor [Mon, 24 Dec 2018 15:32:11 +0000 (15:32 +0000)]
gimple-fold.c (get_range_strlen_tree): Factored out of get_range_strlen.
* gimple-fold.c (get_range_strlen_tree): Factored out of
get_range_strlen. Minor comment updates/additions. Assert
argument is not a simple SSA_NAME.
(get_range_strlen): Call get_range_strlen_tree as appropriate.
Minor comment updates/additions.
From-SVN: r267412