Committed on trunk as revision r233588.

Dominique

> Le 15 févr. 2016 à 14:53, Dominique d'Humières <domi...@lps.ens.fr> a écrit :
> 
> PRs 52531 and 57365 are fixed on trunk and gcc5 branch. Unless someone 
> objects I am planing to add the following tests in the coming days.
> 
> Tested on x86_64-apple-darwin15.
> 
> Cheers,
> 
> Dominique
> 
> Index: gcc/testsuite/ChangeLog
> ===================================================================
> --- gcc/testsuite/ChangeLog   (revision 233424)
> +++ gcc/testsuite/ChangeLog   (working copy)
> @@ -1,3 +1,13 @@
> +2016-02-15  Dominique d'Humieres  <domi...@lps.ens.fr>
> +
> +     PR fortran/57365
> +     gfortran.dg/allocate_with_source_18.f03: New test.
> +
> +2016-02-15  Harald Anlauf  <anl...@gmx.de>
> +
> +     PR fortran/52531
> +     gfortran.dg/gomp/pr52531.f90: New test.
> +
> 2016-02-15  Richard Biener  <rguent...@suse.de>
> 
>       PR tree-optimization/69783
> Index: gcc/testsuite/gfortran.dg/allocate_with_source_18.f03
> ===================================================================
> --- gcc/testsuite/gfortran.dg/allocate_with_source_18.f03     (nonexistent)
> +++ gcc/testsuite/gfortran.dg/allocate_with_source_18.f03     (working copy)
> @@ -0,0 +1,31 @@
> +! { dg-do run }
> +!
> +! PR fortran/57365
> +! [OOP] Sourced allocation fails with unlimited polymorphism
> +! Contributed by <r...@hotmail.de>
> +!
> +program bug
> +
> +    implicit none
> +    character(len=:), allocatable :: test
> +
> +    test = "A test case"
> +    call allocate_test(test)
> +    deallocate(test)
> +
> +contains
> +
> +    subroutine allocate_test(var)
> +        class(*) :: var
> +        class(*), pointer :: copyofvar
> +        allocate(copyofvar, source=var)
> +        select type (copyofvar)
> +            type is (character(len=*))
> +!                print*, len(copyofvar), copyofvar
> +                if (len(copyofvar) /= 11) call abort ()
> +                if (copyofvar /= "A test case") call abort ()
> +        end select
> +        deallocate(copyofvar)
> +    end subroutine
> +
> +end program bug
> Index: gcc/testsuite/gfortran.dg/gomp/pr52531.f90
> ===================================================================
> --- gcc/testsuite/gfortran.dg/gomp/pr52531.f90        (nonexistent)
> +++ gcc/testsuite/gfortran.dg/gomp/pr52531.f90        (working copy)
> @@ -0,0 +1,16 @@
> +! { dg-do compile }
> +! PR fortran/52531
> +module test_mod
> +  type, public :: test_type
> +  end type
> +contains
> +  subroutine foo(bar)
> +    type(test_type) :: bar
> +!$omp parallel default(none) shared(bar) ! Compiles if one removes 
> default(none)
> +    call question(bar)
> +!$omp end parallel
> +  end subroutine
> +  subroutine question(var)
> +    class(test_type), intent(in) :: var ! Compiles if one replaces class by 
> type
> +  end subroutine
> +end module
> 

Reply via email to