platform/upstream/gcc.git
5 years agoCalculate prediction remainder at proper place (PR tree-optimization/88650).
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

5 years agore PR tree-optimization/88651 (tree-data-ref.c:3764:26: runtime error: signed integer...
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

5 years agoFix g++.dg/gcov/pr88263.C compilation on Solaris
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

5 years agore PR tree-optimization/88621 (wrong code at -O1 and above on x86_64-linux-gnu in...
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

5 years agore PR target/87545 (-mtune=intel regressions)
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

5 years agoFix year range in copyright header
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

5 years agore PR ipa/88561 (PGO devirtualization miscompilation of firefox)
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

5 years agore PR lto/85574 (LTO bootstapped binaries differ)
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

5 years agogimple-fold.c (get_range_strlen_tree): Record if the computed length is optimistic.
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

5 years agoFix year range in libstdc++v3/testsuite/.../empty.cc copyright header
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

5 years agogimple-fold.h (get_range_strlen): Update prototype.
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

5 years agoDaily bump.
GCC Administrator [Wed, 2 Jan 2019 00:16:20 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r267502

5 years agore PR fortran/82743 (uncaught character truncation in derived type initialization)
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

5 years agogimple-fold.c (get_range_strlen): Update prototype.
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

5 years agodevirt-36.C: Add dg-do-compile.
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

5 years agodevirt-13_0.C: Drop broken scan of ssa dump.
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

5 years agocoverage.c (get_coverage_counts): Use current_function_decl.
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

5 years agoUpdate copyright years.
Jakub Jelinek [Tue, 1 Jan 2019 12:31:55 +0000 (13:31 +0100)]
Update copyright years.

From-SVN: r267494

5 years ago* update-copyright.py: Add Gerard Jungman as external author.
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

5 years agogcc.c (process_command): Update copyright notice dates.
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

5 years agoDaily bump.
GCC Administrator [Tue, 1 Jan 2019 00:16:34 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r267491

5 years agore PR target/86814 (xtensa port needs updating for CVE-2017-5753)
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

5 years agore PR fortran/82995 (Segmentation fault passing optional argument to intrinsic sum...
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

5 years agoFix scan pattern of a test-case.
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

5 years agopredict.c (set_even_probabilities): Include also unlikely_count in calculation.
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

5 years ago* x86-tune.def: Enable inter_unit_moves_to_vec for generic.
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

5 years agogimple-fold.c (get_range_strlen): Minor logic cleanup.
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

5 years agogimple-fold.c (strlen_range_kind): New enum.
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

5 years agoDaily bump.
GCC Administrator [Mon, 31 Dec 2018 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r267481

5 years agoUse dg-additional-options instead of dg-options
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

5 years agoDaily bump.
GCC Administrator [Sun, 30 Dec 2018 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r267473

5 years agoMakefile.am (xcoff_%.c): Use an actual newline instead of \n in sed pattern.
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

5 years agokey2.C: Silence the [-Wreturn-type] warning.
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

5 years agoexpr.c (external_spec_function): Add ieee_support_subnormal to list of IEEE inquiry...
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

5 years agomsp430.c (msp430_attr): Warn when the critical and interrupt function attributes...
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

5 years agore PR fortran/88342 (Possible bug with IEEE_POSITIVE_INF and -ffpe-trap=overflow)
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

5 years agocpp.c (gfc_cpp_init): Add pre-defined macros for INTEGER(1) INTEGER(2)...
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

5 years agoconfig.gcc (hppa*64*-*-linux*): Add pa/t-pa to tmake_file.
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

5 years agore PR tree-optimization/68356 (FAIL: gcc.dg/torture/pr68264.c -O* execution test...
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

5 years agore PR ipa/88586 (ICE: Segmentation fault (in free_lang_data_in_decl))
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

5 years agoDaily bump.
GCC Administrator [Sat, 29 Dec 2018 00:16:30 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r267460

5 years agoruntime: prevent deadlock when profiling signal arrives in stack scan
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

5 years agoi386.h (ADDITIONAL_REGISTER_NAMES): Add sil, dil, bpl and spl aliases.
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

5 years agocompiler: remove escapes_ field from Variable and Result_variable
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

5 years agotree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Avoid undesirable warning.
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

5 years agoident-1b.c: XFAIL AIX and Darwin.
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

5 years agore PR libfortran/81984 (NULL string pointer dereferencing forces undefined behaviour...
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

5 years agox86-64: Remove .file directive from snapshot source
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

5 years agox86-64: Remove .file directive from snapshot source
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

5 years agoFor libgomp OpenACC entry points, redefine the "device" argument to "flags"
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

5 years agopoly_int: get_inner_reference & co.: fix known_eq typo/bug
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

5 years agoCleanup libgomp's coalesce chunk data structures
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

5 years ago[libbacktrace] Reduce memory usage in build_address_map
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

5 years ago[libbacktrace] Simplify memory management in build_address_map
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

5 years ago[libbacktrace] Fix memory leak in loop in build_address_map
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

5 years ago[libbacktrace] Fix memory leak in build_address_map
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

5 years agoDaily bump.
GCC Administrator [Fri, 28 Dec 2018 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r267441

5 years agoipa-devirt.c (polymorphic_call_target_d): Add n_odr_types.
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

5 years agore PR fortran/81027 (Assumed-shape array reported as deferred.)
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

5 years agoaligned1.f03: Fix invalid code that now causes an error after r267415.
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

5 years agoruntime: delete export_arm_test.go
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

5 years agoruntime: let ARM32 EABI personality function continue unwind when called from traceback
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

5 years agoCherry pick libsanitizer patch (https://reviews.llvm.org/D54856).
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

5 years agoFix slowness in gcov (PR gcov-profile/88225).
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

5 years agoComparison with an enum should mention enum value.
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

5 years agoUse proper location for tls_init function (PR c++/88263).
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

5 years agoruntime: on ARM32 EABI, don't get LSDA if compact model is used
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

5 years agoaarch64-cores.def (octeontx): New.
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

5 years agoDaily bump.
GCC Administrator [Thu, 27 Dec 2018 00:16:33 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r267426

5 years agore PR fortran/85357 (ICE on invalid code with equal procedure names)
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

5 years agore PR fortran/85407 (Replace gcc_assert in module.c:read_module by more helpful diagn...
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

5 years agoDaily bump.
GCC Administrator [Wed, 26 Dec 2018 00:16:25 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r267421

5 years agoDaily bump.
GCC Administrator [Tue, 25 Dec 2018 00:16:35 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r267418

5 years agore PR fortran/45513 (BOZ kinds differently handled, F2008: BOZ in bit intrinsics)
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

5 years agoieee_9.f90: XFAIL on arm*-*-gnueabi[hf].
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

5 years agogimple-fold.c (get_range_strlen_tree): Factored out of get_range_strlen.
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

5 years agoipa-devirt.c (dump_targets): Cap number of targets printed.
Jan Hubicka [Mon, 24 Dec 2018 11:26:15 +0000 (12:26 +0100)]
ipa-devirt.c (dump_targets): Cap number of targets printed.

* ipa-devirt.c (dump_targets): Cap number of targets printed.
(dump_possible_polymorphic_call_targets): Add verbose parameter.
(ipa_devirt): Use it.
* ipa-utils.h (dump_possible_polymorphic_call_targets): Add verbose
parametrs.

From-SVN: r267400

5 years agoFix double-application of patch.
Jan Hubicka [Mon, 24 Dec 2018 11:23:57 +0000 (11:23 +0000)]
Fix double-application of patch.

From-SVN: r267399

5 years agotree.c (fld_simplified_type): Temporarily disable array simplification.
Jan Hubicka [Mon, 24 Dec 2018 11:21:25 +0000 (12:21 +0100)]
tree.c (fld_simplified_type): Temporarily disable array simplification.

* tree.c (fld_simplified_type): Temporarily disable array
simplification.

* gcc.c-torture/pr88140.c: New testcase.

From-SVN: r267398

5 years agolto-symtab.c (lto_symtab_merge_decls_2): Do not report ODR violations for method...
Jan Hubicka [Mon, 24 Dec 2018 11:12:42 +0000 (12:12 +0100)]
lto-symtab.c (lto_symtab_merge_decls_2): Do not report ODR violations for method whose basetype was already reported.

* lto-symtab.c (lto_symtab_merge_decls_2): Do not report ODR violations
for method whose basetype was already reported.

* ipa-devirt.c (odr_type_violation_reported_p): New.
* ipa-utils.h (odr_type_violation_reported_p): Declare.

From-SVN: r267397

5 years agoFix PR67974 for Darwin by adding an asm shim for AVX.
Iain Sandoe [Mon, 24 Dec 2018 09:02:03 +0000 (09:02 +0000)]
Fix PR67974 for Darwin by adding an asm shim for AVX.

The PR is about a set of tests that were not executed because of
missing asm support.

However, the assembler can handle the insns now, so the tests are
attempted (but with a missing asm shim they fail).

This adds the shim.

In principle (bugs notwithstanding) Darwin’s x86_64 ABI is supposed
to follow the sysv psABI so we can have essentially a copy of the
Linux one.

2018-12-24  Iain Sandoe  <iain@sandoe.co.uk>

PR testsuite/67974
* gcc.target/x86_64/abi/avx/asm-support-darwin.s: New.

From-SVN: r267395

5 years agopowerpc-darwin, skip ident tests.
Iain Sandoe [Mon, 24 Dec 2018 08:55:01 +0000 (08:55 +0000)]
powerpc-darwin, skip ident tests.

The c-c++-common tests fail (or XPASS depending on which) on
powerpc Darwin because it doesn't currently emit .ident marker.

Since there's no support for .ident in the assembler, we can't
enable the output and therefore these tests should be skipped.

2018-12-24  Iain Sandoe  <iain@sandoe.co.uk>

* c-c++-common/ident-0a.c: Skip for powerpc-darwin.
* c-c++-common/ident-0b.c: Likewise.
* c-c++-common/ident-1a.c: Likewise.
* c-c++-common/ident-1b.c: Likewise.
* c-c++-common/ident-2a.c: Likewise.
* c-c++-common/ident-2b.c: Likewise.

From-SVN: r267394

5 years agodarwin, configuration, check properly for dwarf2 debug line support
Iain Sandoe [Mon, 24 Dec 2018 08:43:20 +0000 (08:43 +0000)]
darwin, configuration, check properly for dwarf2 debug line support

This corrects a long-standing misconfiguration for Darwin.
The assembler supports the “.file” and “.loc” directives, but
the GCC configury was not detecting this because it was
using objdump, which does not exist on most Darwin installations.

We added support for “otool” to GCC and now we can use that to
make the check that’s done with objdump on ELF targets.

2018-12-24  Iain Sandoe  <iain@sandoe.co.uk>

* configure.ac (dwarf2_debug_line): Check for the debug_line
section using otool when there’s no objdump available.
* configure: Regenerate.

From-SVN: r267393

5 years agoipa-utils.c (ipa_merge_profiles): Fix updating of fnsummary; also handle rescaling...
Jan Hubicka [Mon, 24 Dec 2018 01:37:44 +0000 (02:37 +0100)]
ipa-utils.c (ipa_merge_profiles): Fix updating of fnsummary; also handle rescaling of mismatched profiles.

* ipa-utils.c (ipa_merge_profiles): Fix updating of fnsummary;
also handle rescaling of mismatched profiles.
* ipa-fnsummary.c (analyze_function): Handle speculative edges.

From-SVN: r267392

5 years agoDaily bump.
GCC Administrator [Mon, 24 Dec 2018 00:16:20 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r267391

5 years ago2018-12-23 François Dumont <fdumont@gcc.gnu.org>
François Dumont [Sun, 23 Dec 2018 18:11:38 +0000 (18:11 +0000)]
2018-12-23  François Dumont  <fdumont@gcc.gnu.org>

* libstdc++-v3/testsuite/util/testsuite_allocator.h
(CustomPointerAlloc<>::allocate(size_t, pointer)): Replace by...
(CustomPointerAlloc<>::allocate(size_t, const_void_pointer)): ...this.

From-SVN: r267381

5 years agoRespect pointer_traits on node deallocation in _ReuseOrAllocNode parenthesis operator.
François Dumont [Sun, 23 Dec 2018 18:05:23 +0000 (18:05 +0000)]
Respect pointer_traits on node deallocation in _ReuseOrAllocNode parenthesis operator.

2018-12-23  François Dumont  <fdumont@gcc.gnu.org>

Respect pointer_traits on node deallocation in _ReuseOrAllocNode
parenthesis operator.

* include/bits/hashtable_policy.h
(_Hashtable_alloc<>::_M_deallocate_node_ptr(__node_type*)): New.
(_Hashtable_alloc<>::_M_deallocate_node(__node_type*)): Use latter.
(_ReuseOrAllocNode<>::operator<_Arg>()(_Arg&&)): Likewise.

From-SVN: r267380

5 years agore PR fortran/77703 (ICE on assignment to pointer function)
Paul Thomas [Sun, 23 Dec 2018 17:35:13 +0000 (17:35 +0000)]
re PR fortran/77703 (ICE on assignment to pointer function)

2018-12-23  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/77703
* resolve.c (get_temp_from_expr): Use the string length of
constant character expressions.

2018-12-23  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/77703
* gfortran.dg/ptr_func_assign_5.f08 : New test.

From-SVN: r267379

5 years agobuiltins.h (c_strlen_data): Add new fields and comments.
Martin Sebor [Sun, 23 Dec 2018 16:00:45 +0000 (16:00 +0000)]
builtins.h (c_strlen_data): Add new fields and comments.

* builtins.h (c_strlen_data): Add new fields and comments.
* builtins.c (unterminated_array): Change field reference from
"len" to "minlen" in c_strlen_data instance.
* gimple-fold.c (get_range_strlen): Likewise.
* gimple-ssa-sprintf.c (get_string_length): Likewise.

Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r267378

5 years agobuiltins.c (unterminated_array): Rename "data" to "lendata".
Martin Sebor [Sun, 23 Dec 2018 15:49:43 +0000 (15:49 +0000)]
builtins.c (unterminated_array): Rename "data" to "lendata".

* builtins.c (unterminated_array): Rename "data" to "lendata".  Fix
a few comments.
(expand_builtin_strnlen, expand_builtin_stpcpy_1): Likewise.
(fold_builtin_strlen): Likewise.
* gimple-fold.c (get_range_strlen): Likewise.  Also rename a couple
instances of "type" to "optype" and "arg" to "fld".

Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r267377

5 years agobuiltins.c (unterminated_array): Use empty brace initialization for c_strlen_data.
Martin Sebor [Sun, 23 Dec 2018 15:37:28 +0000 (15:37 +0000)]
builtins.c (unterminated_array): Use empty brace initialization for c_strlen_data.

2018-12-23  Martin Sebor  <msebor@redhat.com>
    Jeff Law  <law@redhat.com>

* builtins.c (unterminated_array): Use empty brace initialization
for c_strlen_data.
(c_strlen, expand_builtin_strnlen): Likewise.
(expand_builtin_stpcpy_1, fold_builtin_strlen): Likewise.
* gimple-fold.c (get_range_strlen): Likewise.
(gimple_fold_builtin_stpcpy): Likewise.
* gimple-ssa-sprintf.c (get_string_length): Likewise.

Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r267376

5 years ago[RS6000] PR88346, Inconsistent list of CPUs supported after r266502
Alan Modra [Sun, 23 Dec 2018 13:28:20 +0000 (23:58 +1030)]
[RS6000] PR88346, Inconsistent list of CPUs supported after r266502

This patch removes the %e error for AIX, since it seems there has been
no attempt to keep cpu support up to date for AIX, and adds missing
entries to ASM_CPU_SPEC in rs6000.h.  The rs64a->rs64 name change
happened a long time ago as a fix for PR20813 (git commit c92b4c3f5b).

PR 88346
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Correct %e message.  Handle
-mcpu=rs64, not -mcpu=rs64a.  Handle -mcpu=powerpc64 and -mcpu=titan.
* config/rs6000/driver-rs6000.c (asm_names): Similarly.
* config/rs6000/aix71.h (ASM_CPU_SPEC): Delete %e message.  Handle
-mcpu=rs64, not -mcpu=rs64a.
* config/rs6000/aix72.h (ASM_CPU_SPEC): Likewise.

From-SVN: r267375

5 years agoFix Ada bootstrap for Darwin9 and earlier.
Iain Sandoe [Sun, 23 Dec 2018 12:51:52 +0000 (12:51 +0000)]
Fix Ada bootstrap for Darwin9 and earlier.

2018-12-23  Iain Sandoe  <iain@sandoe.co.uk>

gcc/ada/

* adaint.c [__APPLE__] (__gnat_lwp_self): Ensure that the system
interface used is available on the target.

From-SVN: r267374

5 years agoLTO-wrapper, don't pre-link early debug objects.
Iain Sandoe [Sun, 23 Dec 2018 12:43:47 +0000 (12:43 +0000)]
LTO-wrapper, don't pre-link early debug objects.

Pass them to the final link, the pre-link wasn't effective.
Make the temp filenames easier to follow.
Also save them in the CWD when save-temps is given.

2018-12-23  Iain Sandoe  <iain@sandoe.co.uk>

* lto-wrapper.c (tool_cleanup): Don’t report ficticious temp files.
(debug_objcopy): Improve temp filenames.  Append the early
debug objects to the outfiles.  Remove the phase prelinking the
early debug. Emit the early debug filenames for ld.

From-SVN: r267373

5 years agoFix ident tests by Enabling ident output for X86 Darwin.
Iain Sandoe [Sun, 23 Dec 2018 11:04:14 +0000 (11:04 +0000)]
Fix ident tests by Enabling ident output for X86 Darwin.

The c-c++-common tests fail (or XPASS depending on which) on Darwin
because it doesn't currently emit .ident marker.  For X86 Darwin, this
is a trivial oversight; the assembler supports the directive.  We can
therefore use the default target hook there.

2018-12-23  Iain Sandoe  <iain@sandoe.co.uk>

        * config/i386/darwin.h (TARGET_ASM_OUTPUT_IDENT): New.

From-SVN: r267372

5 years agouse simple-object instead of nm to determine if files contain LTO.
Iain Sandoe [Sun, 23 Dec 2018 10:43:59 +0000 (10:43 +0000)]
use simple-object instead of nm to determine if files contain LTO.

This replaces the use of nm to search for the LTO common symbol marker
and uses simple object to see if there's a section starting with
".gnu.lto_." or ".gnu.offload_lto_"

2018-12-23  Iain Sandoe  <iain@sandoe.co.uk>

* collect2.c (maybe_run_lto_and_relink): Don’t say we have a temp file
unless we actually did some LTO.
(has_lto_section, is_lto_object_file): New.
(maybe_lto_object_file): Remove.
(scan_prog_file): Use is_lto_object_file() instead of scanning the
output of nm.

From-SVN: r267371

5 years agoHandle -save-temps in collect2
Iain Sandoe [Sun, 23 Dec 2018 10:35:28 +0000 (10:35 +0000)]
Handle -save-temps in collect2

Handle the option, make the saved filenames and paths easier to handle.
Don't print '[Leaving...]' for files we never created and don't exist - or unless
verbose is true.

2018-12-23  Iain Sandoe  <iain@sandoe.co.uk>

* collect2.c (main): Parse the output file early so we can make nicer
temp names.  Respond to “-save-temps” in the GCC OPTIONS.
(maybe_unlink): Don’t print “[Leaving…”] for files we never created
and don’t exist.

From-SVN: r267370

5 years agoEnsure collect2 responds to intended commmand line options.
Iain Sandoe [Sun, 23 Dec 2018 10:28:51 +0000 (10:28 +0000)]
Ensure collect2 responds to intended commmand line options.

To ensure compatibility with the flags consumed by ld, some of the flags
needed by collect2 come from the command line and some are passed
in the COLLECT_GCC_OPTIONS.

Here we combine initial parses of both and then set the LTO mode accordingly.

2018-12-23  Iain Sandoe  <iain@sandoe.co.uk>

* collect2.c (main): Combine flags from both the command line and
COLLECT_GCC_OPTIONS to determine the set in force

From-SVN: r267369

5 years agore PR fortran/88328 (ICE in resolve_tag_format, at fortran/io.c:1641)
Steven G. Kargl [Sun, 23 Dec 2018 05:18:27 +0000 (05:18 +0000)]
re PR fortran/88328 (ICE in resolve_tag_format, at fortran/io.c:1641)

2018-12-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/88328
* io.c (resolve_tag_format): Add error for zero-sized array.
(gfc_resolve_dt): Manipulate gfc_current_locus to get sensible error
message locus.

2018-12-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/88328
* gfortran.dg/pr88328.f90: New test.

From-SVN: r267367

5 years agoDaily bump.
GCC Administrator [Sun, 23 Dec 2018 00:16:22 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r267366