gcc/ChangeLog:
PR tree-optimization/86196
* gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref): Use
base size only of arrays.
gcc/testsuite/ChangeLog:
PR tree-optimization/86196
* gcc.dg/Wrestrict-18.c: New test.
From-SVN: r266967
This deletes powerpcspe, which was deprecated for GCC 8.
This does not change the testsuite, or libgcc for rs6000 (which still
is shared code with powerpcspe, so can use some cleanup after this).
/
* contrib/config-list.mk: Remove powerpc-eabispe and powerpc-linux_spe.
gcc/
* config.gcc (Obsolete configurations): Delete powerpc*-*-*spe*.
(Unsupported targets): Add powerpc*-*-*spe*.
(powerpc*-*-*spe*): Delete.
(powerpc-*-eabispe*): Delete.
(powerpc-*-rtems*spe*): Delete.
(powerpc*-*-linux*spe*): Delete.
(powerpc*-*-linux*): Do not handle the linux*spe* targets.
(powerpc-wrs-vxworks*spe): Delete.
(with_cpu setting code): Delete powerpc*-*-*spe* handling.
* config.host (target powerpc*-*-*spe*): Delete.
* doc/invoke.texi (PowerPC SPE Options): Delete.
(PowerPC SPE Options): Delete.
* config/powerpcspe: Delete.
From-SVN: r266961
2018-12-10 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88269
* io.c (io_constraint): Update macro. If locus line buffer is NULL,
use gfc_current_locus in error messages.
(check_io_constraints): Catch missing IO UNIT in write and read
statements. io_constraint macro is incompatible here.
2018-12-10 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88269
* gfortran.dg/pr88269.f90: New test.
From-SVN: r266959
This test was copied from 27_io/filesystem/path/query/is_absolute.cc but
should have been modified to test the path type from the TS instead of
std::filesystem::path.
* testsuite/experimental/filesystem/path/query/is_absolute.cc: Fix
test to use TS, not C++17.
From-SVN: r266957
2018-12-10 Richard Biener <rguenther@suse.de>
* tree-affine.c (tree_to_aff_combination): Remove unreachable
MEM_REF case.
(aff_combination_expand): Cache on SSA names, not possibly
on conversion trees. Avoid expanding cases we do not handle.
From-SVN: r266956
2018-12-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/88427
* vr-values.c (vr_values::extract_range_from_phi_node):
Handle symbolic ranges conservatively when trying to drop
to Inf +- 1.
* gcc.dg/pr88427.c: New testcase.
From-SVN: r266955
2018-12-10 Martin Jambor <mjambor@suse.cz>
PR ipa/88214
* ipa-prop.c (determine_locally_known_aggregate_parts): Make sure
we check pointers against pointers.
testsuite/
* gcc.dg/ipa/pr88214.c: New test.
From-SVN: r266953
2018-12-10 Richard Biener <rguenther@suse.de>
PR middle-end/88415
* gimple.c (gimple_assign_set_rhs_with_ops): Transfer EH
info to a newly allocated stmt.
* gcc.dg/gomp/pr88415.c: New testcase.
From-SVN: r266951
* c-c++-common/patchable_function_entry-decl.c: Pass -mcpu=gr6 for
Visium and remove other specific handling.
* c-c++-common/patchable_function_entry-default.c: Likewise.
* c-c++-common/patchable_function_entry-definition.c: Likewise.
From-SVN: r266948
2018-12-10 Fredrik Nyström <fredrik@lysator.liu.se>
PR bootstrap/65725
* config/sol2.h: Only use libgcc-unwind.map if
ENABLE_SHARED_LIBGCC.
From-SVN: r266946
2018-12-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88205
* io.c (gfc_match_open): Move NEWUNIT checks to after STATUS checks.
2018-12-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88205
* gfortran.dg/pr88205.f90: New unit.
From-SVN: r266936
The tests in gdc.test/compilable/ddoc*.d don't require the module to be
compiled all the way down to object code. Instead, only compile the
test sources with -fdoc, and scan the generated html content.
gcc/testsuite/ChangeLog:
PR d/88039
* gdc.test/gdc-test.exp (gdc-convert-args): Handle -D.
(dmd2dg): Check generated html in ddoc tests.
(gdc-do-test): Set dg-do-what-default to compile for ddoc tests.
From-SVN: r266933
2018-12-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88206
* match.c (gfc_match_type_spec): REAL can be an intrinsic function.
2018-12-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88206
* gfortran.dg/pr88206.f90: New test.
From-SVN: r266930
2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/88411
* io/transfer.c (dta_transfer_init): Do not treat as an
asynchronous statement unless the statement has
ASYNCHRONOUS="YES".
(st_write_done): Likewise.
(st_read_done): Do not perform async_wait for synchronous I/O
on an async unit.
(st_read_done): Likewise.
2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/88411
* testsuite/libgomp.fortran/async_io_8.f90: New test.
From-SVN: r266929
2018-12-09 Fritz Reese <fritzoreese@gmail.com>
PR fortran/88228
* resolve.c (resolve_operator): Do not call resolve_function.
Break like other cases.
2018-12-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88228
* gfortran.dg/pr88228.f90: New test.
From-SVN: r266926
Backports VRP fixes from the D front-end implementation to the C++ port,
and fixes errors reported by ubsan build where the conversion from D
didn't include adjusting integer suffixes from 'UL' to 'ULL'.
Fixes https://gcc.gnu.org/PR88366
Reviewed-on: https://github.com/dlang/dmd/pull/9046
From-SVN: r266925
gcc/fortran/
* trans-openmp.c (gfc_trans_oacc_combined_directive): Set the
location of combined acc loops.
gcc/testsuite/
* gfortran.dg/goacc/combined-directives-3.f90: New file.
Reviewed-by: Thomas Schwinge <thomas@codesourcery.com>
From-SVN: r266924
The C++ FE doesn't set the expr_location of the split acc loop in combined acc
parallel/kernels loop directives. This only happens for with combined
directives, otherwise cp_parser_omp_construct would be responsible for setting
the location. After fixing this bug, I was able to resolve a couple of long
standing diagnostics discrepancies between the C/C++ FEs in the test suite.
gcc/cp/
* parser.c (cp_parser_oacc_kernels_parallel): Adjust EXPR_LOCATION
on the combined acc loop.
gcc/testsuite/
* c-c++-common/goacc/combined-directives-3.c: New test.
* c-c++-common/goacc/loop-2-kernels.c (void K): Adjust test.
* c-c++-common/goacc/loop-2-parallel.c (void P): Adjust test.
* c-c++-common/goacc/loop-3.c (void p2): Adjust test.
Reviewed-by: Thomas Schwinge <thomas@codesourcery.com>
From-SVN: r266923
Don't duplicate in the Fortran front end what's generically being checked in
the middle end.
gcc/fortran/
* openmp.c (resolve_oacc_loop_blocks): Remove checking of OpenACC
loop clauses.
gcc/testsuite/
* gfortran.dg/goacc/loop-2-kernels.f95: Update.
* gfortran.dg/goacc/loop-2-parallel.f95: Likewise.
* gfortran.dg/goacc/nested-parallelism.f90: Likewise.
From-SVN: r266922
gcc/testsuite/
* gfortran.dg/goacc/loop-2.f95: Split into...
* gfortran.dg/goacc/loop-2-kernels-nested.f95: ... this new
file...
* gfortran.dg/goacc/loop-2-kernels-tile.f95: ..., and this new
file...
* gfortran.dg/goacc/loop-2-kernels.f95: ..., and this new file...
* gfortran.dg/goacc/loop-2-parallel-3.f95: ..., and this new
file...
* gfortran.dg/goacc/loop-2-parallel-nested.f95: ..., and this new
file...
* gfortran.dg/goacc/loop-2-parallel-tile.f95: ..., and this new
file...
* gfortran.dg/goacc/loop-2-parallel.f95: ..., and this new file.
From-SVN: r266921
The Fortran front end declares that the OpenACC "Clause SEQ conflicts with
INDEPENDENT". While that combination doesn't make too much sense indeed, it's
still valid; these are orthogonal concepts.
gcc/fortran/
PR fortran/88420
* openmp.c (resolve_oacc_loop_blocks): Remove "Clause SEQ
conflicts with INDEPENDENT" diagnostic.
gcc/testsuite/
PR fortran/88420
* gfortran.dg/goacc/loop-1-2.f95: Update.
* gfortran.dg/goacc/loop-1.f95: Likewise.
From-SVN: r266920
2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88048
* resolve.c (check_data_variable): Named constant cannot be a
data object.
2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88048
* gfortran.dg/pr88048.f90: New test.
From-SVN: r266916
PR fortran/87945
* decl.c (var_element): Inquiry parameters cannit be data objects.
20180-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/87945
* gfortran.dg/pr87945_1.f90: New test.
* gfortran.dg/pr87945_2.f90: New test.
From-SVN: r266915
2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88025
* expr.c (gfc_apply_init): Remove asserts that cannot trigger.
Check for a NULL pointer.
2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88025
* gfortran.dg/pr88025.f90: New test.
From-SVN: r266913
I noticed I accidentally copied a line too many from the "volatile"
handling to the "inline" handling. This fixes it.
gcc/c/
* c-parser (c_parser_asm_statement) [RID_INLINE]: Delete stray line
setting "quals".
From-SVN: r266909
2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88357
* class.c (insert_component_ref): Check for NULL pointer and
previous error message issued.
* parse.c (parse_associate): Check for NULL pointer.
* resolve.c (resolve_assoc_var): Check for NULL pointer.
2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/pr88357_1.f90: New test.
* gfortran.dg/pr88357_2.f90: New test.
From-SVN: r266908
PR fortran/88304
* tree-nested.c (convert_local_reference_stmt): Handle clobbers where
lhs is not a decl normally, don't call use_pointer_in_frame on that
lhs.
* gfortran.fortran-torture/compile/pr88304-2.f90: New test.
From-SVN: r266907
PR rtl-optimization/88390
* dwarf2cfi.c (struct dw_cfi_row): Add window_save field.
(cfi_row_equal_p): Compare it.
(dwarf2out_frame_debug_cfa_window_save): Add FAKE parameter.
If FAKE is false, set window_save of the current row.
(dwarf2out_frame_debug) <REG_CFA_TOGGLE_RA_MANGLE>: Call above
function with FAKE parameter set to true.
<REG_CFA_WINDOW_SAVE>: Likewise but with FAKE parameter set to false.
(change_cfi_row): Emit a DW_CFA_GNU_window_save if necessary.
From-SVN: r266906
PR libgomp/87995
* testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
tls_runtime effective target.
(t): New threadprivate variable.
(main): Set t in threads which execute iterations of the worksharing
loop. Propagate that to the task after the loop and don't abort
if the current taskgroup hasn't been cancelled.
From-SVN: r266904