Commit 0be606d3 by Cesar Philippidis Committed by Cesar Philippidis

re PR fortran/85703 ([openacc] ICE in resolve_fntype, at fortran/resolve.c:16313)

PR fortran/85703

	gcc/fortran/
	* parse.c (decode_oacc_directive): Set gfc_matching_function
	to false.
	(decode_omp_directive): Likewise.

	gcc/testsuite/
	* gfortran.dg/goacc/pr85703.f90: New test.
	* gfortran.dg/gomp/pr85703.f90: New test.

From-SVN: r261551
parent adc41ebe
2018-06-13 Cesar Philippidis <cesar@codesourcery.com>
PR fortran/85703
* parse.c (decode_oacc_directive): Set gfc_matching_function
to false.
(decode_omp_directive): Likewise.
2018-06-13 Cesar Philippidis <cesar@codesourcery.com>
PR fortran/85702
* openmp.c (gfc_match_oacc_wait): Use %C to report error location.
......
......@@ -624,6 +624,8 @@ decode_oacc_directive (void)
gfc_clear_error (); /* Clear any pending errors. */
gfc_clear_warning (); /* Clear any pending warnings. */
gfc_matching_function = false;
if (gfc_pure (NULL))
{
gfc_error_now ("OpenACC directives at %C may not appear in PURE "
......@@ -795,6 +797,8 @@ decode_omp_directive (void)
gfc_clear_error (); /* Clear any pending errors. */
gfc_clear_warning (); /* Clear any pending warnings. */
gfc_matching_function = false;
if (gfc_current_state () == COMP_FUNCTION
&& gfc_current_block ()->result->ts.kind == -1)
spec_only = true;
......
2018-06-13 Cesar Philippidis <cesar@codesourcery.com>
PR fortran/85703
* gfortran.dg/goacc/pr85703.f90: New test.
* gfortran.dg/gomp/pr85703.f90: New test.
2018-06-13 Cesar Philippidis <cesar@codesourcery.com>
PR fortran/85702
* gfortran.dg/goacc/pr85702.f90: New test.
......
! PR fortran/85703
! { dg-do compile }
character function f()
!$acc parallel loop reduction(+:a)
do i = 1, 4
end do
!$acc end parallel loop
end
! PR fortran/85703
! { dg-do compile }
character function f()
!$omp single
!$omp end single
f = 'a'
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment