[patch, fortran] PR32088 - Fix implicit typing of RESULT variables

Brooks Moses brooks.moses@codesourcery.com
Tue May 29 07:38:00 GMT 2007


Tobias Burnus wrote:
> Index: gcc/testsuite/gfortran.dg/func_result_3.f90
> ===================================================================
> --- gcc/testsuite/gfortran.dg/func_result_3.f90	(revision 0)
> +++ gcc/testsuite/gfortran.dg/func_result_3.f90	(revision 0)
> @@ -0,0 +1,25 @@
> +! { dg-do compile }
> +! PR fortran/32088
> +!
> +! Test implicitly defined result variables
> +!
> +subroutine dummy
> +contains
> +  function quadric(a,b) result(c)
> +  intent(in) a,b; dimension a(0:3),b(0:3),c(0:9)
> +    c(0)=a(0)*b(0); c(1:3)=a(1:)*b(0)+a(0)*b(1:); c(4:6)=a(1:)*b(1:)
> +    c(7:9)=(/a(1)*b(2)+b(1)*a(2),a(1)*b(3)+b(1)*a(3),a(2)*b(3)+b(2)*a(3)/)
> +  end function
> +end subroutine dummy
> +
> +subroutine dummy2
> +implicit none
> +contains
> +  function quadric(a,b) result(c) ! { dg-error "no IMPLICIT type" }
> +  real :: a, b
> +  intent(in) a,b; dimension a(0:3),b(0:3),c(0:9)
> +    c(0)=a(0)*b(0); c(1:3)=a(1:)*b(0)+a(0)*b(1:); c(4:6)=a(1:)*b(1:)
> +    c(7:9)=(/a(1)*b(2)+b(1)*a(2),a(1)*b(3)+b(1)*a(3),a(2)*b(3)+b(2)*a(3)/)
> +  end function
> +end subroutine dummy2
> +end

This new testcase is producing an ICE on powerpc-apple-darwin8.9.0. 
I've filed PR 32137 for it; the details are posted there.

- Brooks



More information about the Fortran mailing list