diff mbox

[committed] Bug 66680 - [5 Regression] ICE with openmp, a loop and a type bound procedure

Message ID FDED286D-3D47-4461-88C6-86E7F6918A10@lps.ens.fr
State New
Headers show

Commit Message

Dominique d'Humières Jan. 7, 2016, 1:30 p.m. UTC
I have committed the following patch to trunk. I am planning to commit it to the gcc5 branch and close the PR as FIXED next sunday if there is no objection.

Cheers,

Dominique

Comments

H.J. Lu Jan. 7, 2016, 5:59 p.m. UTC | #1
On Thu, Jan 7, 2016 at 5:30 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
> I have committed the following patch to trunk. I am planning to commit it to the gcc5 branch and close the PR as FIXED next sunday if there is no objection.
>
> Cheers,
>
> Dominique
>
> Index: gcc/testsuite/ChangeLog
> ===================================================================
> --- gcc/testsuite/ChangeLog     (revision 232126)
> +++ gcc/testsuite/ChangeLog     (working copy)
> @@ -1,3 +1,8 @@
> +2016-01-07  Dominique d'Humieres <dominiq@lps.ens.fr>
> +
> +       PR fortran/66680
> +       gfortran.dg/gomp/pr66680.f90: New test.
> +
>  2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
>
>         PR target/69171

I got

gfortran: error: libgomp.spec: No such file or directory^M

FAIL: gfortran.dg/gomp/pr66680.f90   -O0  (test for excess errors)
H.J. Lu Jan. 7, 2016, 6:02 p.m. UTC | #2
On Thu, Jan 7, 2016 at 9:59 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Thu, Jan 7, 2016 at 5:30 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
>> I have committed the following patch to trunk. I am planning to commit it to the gcc5 branch and close the PR as FIXED next sunday if there is no objection.
>>
>> Cheers,
>>
>> Dominique
>>
>> Index: gcc/testsuite/ChangeLog
>> ===================================================================
>> --- gcc/testsuite/ChangeLog     (revision 232126)
>> +++ gcc/testsuite/ChangeLog     (working copy)
>> @@ -1,3 +1,8 @@
>> +2016-01-07  Dominique d'Humieres <dominiq@lps.ens.fr>
>> +
>> +       PR fortran/66680
>> +       gfortran.dg/gomp/pr66680.f90: New test.
>> +
>>  2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
>>
>>         PR target/69171
>
> I got
>
> gfortran: error: libgomp.spec: No such file or directory^M
>
> FAIL: gfortran.dg/gomp/pr66680.f90   -O0  (test for excess errors)
>

Shouldn't gomp run-time test be in libgomp/testsuite/libgomp.fortran?
Jakub Jelinek Jan. 7, 2016, 6:07 p.m. UTC | #3
On Thu, Jan 07, 2016 at 10:02:23AM -0800, H.J. Lu wrote:
> On Thu, Jan 7, 2016 at 9:59 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> > On Thu, Jan 7, 2016 at 5:30 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
> >> I have committed the following patch to trunk. I am planning to commit it to the gcc5 branch and close the PR as FIXED next sunday if there is no objection.
> >>
> >> Cheers,
> >>
> >> Dominique
> >>
> >> Index: gcc/testsuite/ChangeLog
> >> ===================================================================
> >> --- gcc/testsuite/ChangeLog     (revision 232126)
> >> +++ gcc/testsuite/ChangeLog     (working copy)
> >> @@ -1,3 +1,8 @@
> >> +2016-01-07  Dominique d'Humieres <dominiq@lps.ens.fr>
> >> +
> >> +       PR fortran/66680
> >> +       gfortran.dg/gomp/pr66680.f90: New test.
> >> +
> >>  2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
> >>
> >>         PR target/69171
> >
> > I got
> >
> > gfortran: error: libgomp.spec: No such file or directory^M
> >
> > FAIL: gfortran.dg/gomp/pr66680.f90   -O0  (test for excess errors)
> >
> 
> Shouldn't gomp run-time test be in libgomp/testsuite/libgomp.fortran?

Of course.  Patch to move it there preapproved.

	Jakub
Dominique d'Humières Jan. 7, 2016, 6:13 p.m. UTC | #4
> Le 7 janv. 2016 à 19:02, H.J. Lu <hjl.tools@gmail.com> a écrit :
> 
> On Thu, Jan 7, 2016 at 9:59 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Thu, Jan 7, 2016 at 5:30 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
>>> I have committed the following patch to trunk. I am planning to commit it to the gcc5 branch and close the PR as FIXED next sunday if there is no objection.
>>> 
>>> Cheers,
>>> 
>>> Dominique
>>> 
>>> Index: gcc/testsuite/ChangeLog
>>> ===================================================================
>>> --- gcc/testsuite/ChangeLog     (revision 232126)
>>> +++ gcc/testsuite/ChangeLog     (working copy)
>>> @@ -1,3 +1,8 @@
>>> +2016-01-07  Dominique d'Humieres <dominiq@lps.ens.fr>
>>> +
>>> +       PR fortran/66680
>>> +       gfortran.dg/gomp/pr66680.f90: New test.
>>> +
>>> 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
>>> 
>>>        PR target/69171
>> 
>> I got
>> 
>> gfortran: error: libgomp.spec: No such file or directory^M
>> 
>> FAIL: gfortran.dg/gomp/pr66680.f90   -O0  (test for excess errors)
>> 
> 
> Shouldn't gomp run-time test be in libgomp/testsuite/libgomp.fortran?

May be. The test succeeds for me in gfortran.dg/gomp/, but I don’t know why.

Nevertheless I’ll move it to libgomp/testsuite/libgomp.fortran after testing.

Dominique

> 
> -- 
> H.J.
H.J. Lu Jan. 7, 2016, 6:18 p.m. UTC | #5
On Thu, Jan 7, 2016 at 10:07 AM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Thu, Jan 07, 2016 at 10:02:23AM -0800, H.J. Lu wrote:
>> On Thu, Jan 7, 2016 at 9:59 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> > On Thu, Jan 7, 2016 at 5:30 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
>> >> I have committed the following patch to trunk. I am planning to commit it to the gcc5 branch and close the PR as FIXED next sunday if there is no objection.
>> >>
>> >> Cheers,
>> >>
>> >> Dominique
>> >>
>> >> Index: gcc/testsuite/ChangeLog
>> >> ===================================================================
>> >> --- gcc/testsuite/ChangeLog     (revision 232126)
>> >> +++ gcc/testsuite/ChangeLog     (working copy)
>> >> @@ -1,3 +1,8 @@
>> >> +2016-01-07  Dominique d'Humieres <dominiq@lps.ens.fr>
>> >> +
>> >> +       PR fortran/66680
>> >> +       gfortran.dg/gomp/pr66680.f90: New test.
>> >> +
>> >>  2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
>> >>
>> >>         PR target/69171
>> >
>> > I got
>> >
>> > gfortran: error: libgomp.spec: No such file or directory^M
>> >
>> > FAIL: gfortran.dg/gomp/pr66680.f90   -O0  (test for excess errors)
>> >
>>
>> Shouldn't gomp run-time test be in libgomp/testsuite/libgomp.fortran?
>
> Of course.  Patch to move it there preapproved.
>
>         Jakub

Done.
diff mbox

Patch

Index: gcc/testsuite/ChangeLog
===================================================================
--- gcc/testsuite/ChangeLog	(revision 232126)
+++ gcc/testsuite/ChangeLog	(working copy)
@@ -1,3 +1,8 @@ 
+2016-01-07  Dominique d'Humieres <dominiq@lps.ens.fr>
+
+	PR fortran/66680
+	gfortran.dg/gomp/pr66680.f90: New test.
+
 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR target/69171
Index: gcc/testsuite/gfortran.dg/gomp/pr66680.f90
===================================================================
--- gcc/testsuite/gfortran.dg/gomp/pr66680.f90	(nonexistent)
+++ gcc/testsuite/gfortran.dg/gomp/pr66680.f90	(working copy)
@@ -0,0 +1,46 @@ 
+! { dg-do run }
+! PR 66680: ICE with openmp, a loop and a type bound procedure
+! Contributed by Miha Polajnar <polajnar.miha@gmail.com>
+!
+module m1 
+  implicit none
+  integer :: n = 5
+  type :: t1
+  contains
+    procedure :: s => s1
+  end type t1
+contains
+  pure subroutine s1(self,p,esta)
+    class(t1), intent(in) :: self
+    integer, optional, intent(in) :: p
+    integer, intent(out) :: esta
+  end subroutine s1 
+end module m1
+module m2
+  use m1, only: t1, n
+  implicit none
+  type(t1), allocatable :: test(:)
+contains
+  pure subroutine s2(test1,esta)
+    type(t1), intent(in) :: test1
+    integer, intent(out) :: esta
+    integer :: p, i
+    do p = 1, n
+      i = p ! using i instead of p works
+      call test1%s(p=p,esta=esta)
+      if ( esta /= 0 ) return
+    end do
+  end subroutine s2
+  subroutine s3()
+    integer :: i, esta
+    !$omp parallel do  &
+    !$omp private(i)
+    do i = 1, n
+        call s2(test(i),esta)
+    end do
+    !$omp end parallel do
+  end subroutine s3
+end module m2
+program main
+  implicit none
+end program main