diff --git a/src/elpa2_kernels/elpa2_kernels_real_simple.F90 b/src/elpa2_kernels/elpa2_kernels_real_simple.F90 index bfe04578a15b57d694c6157d774235f4e69d1e80..334958930b20ad860f4021bcc1db91edaf1145bb 100644 --- a/src/elpa2_kernels/elpa2_kernels_real_simple.F90 +++ b/src/elpa2_kernels/elpa2_kernels_real_simple.F90 @@ -71,8 +71,13 @@ contains implicit none integer(kind=ik), intent(in) :: nb, nq, ldq, ldh +#ifdef DESPERATELY_WANT_ASSUMED_SIZE real(kind=rk), intent(inout) :: q(ldq,*) real(kind=rk), intent(in) :: hh(ldh,*) +#else + real(kind=rk), intent(inout) :: q(ldq,1:nb+1) + real(kind=rk), intent(in) :: hh(ldh,2) +#endif real(kind=rk) :: s, h1, h2, tau1, tau2, x(nq), y(nq) integer(kind=ik) :: i diff --git a/src/mod_compute_hh_trafo_real.F90 b/src/mod_compute_hh_trafo_real.F90 index 3cf7e18cdeae736ea24bfb29cf5880129c83556a..9bf517c0a64fd435aa987b3b75afb744beda9abc 100644 --- a/src/mod_compute_hh_trafo_real.F90 +++ b/src/mod_compute_hh_trafo_real.F90 @@ -162,12 +162,27 @@ module compute_hh_trafo_real w(:,1) = bcast_buffer(1:nbw,j+off) w(:,2) = bcast_buffer(1:nbw,j+off-1) #ifdef WITH_OPENMP +#ifdef DESPERATELY_WANT_ASSUMED_SIZE call double_hh_trafo_generic_simple(a(1,j+off+a_off-1,istripe,my_thread), & w, nbw, nl, stripe_width, nbw) #else + call double_hh_trafo_generic_simple(a(1:stripe_width,j+off+a_off-1:j+off+a_off-1+nbw,istripe,my_thread), & + w, nbw, nl, stripe_width, nbw) + +#endif + +#else /* WITH_OPENMP */ +#ifdef DESPERATELY_WANT_ASSUMED_SIZE call double_hh_trafo_generic_simple(a(1,j+off+a_off-1,istripe), & w, nbw, nl, stripe_width, nbw) +#else + call double_hh_trafo_generic_simple(a(1:stripe_width,j+off+a_off-1:j+off+a_off-1+nbw,istripe), & + w, nbw, nl, stripe_width, nbw) + #endif + +#endif /* WITH_OPENMP */ + enddo #if defined(WITH_NO_SPECIFIC_REAL_KERNEL) endif