Commit b03932cb by Thomas Koenig

Commit symbol for external BLAS routine when translating MATMUL to *GEMM.

2019-11-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/92321
	* frontend-passes.c (call_external_blas): Commit symbol for
	external BLAS routine.

2019-11-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/92321
	* gfortran.dg/matmul_blas_2.f90: New test.

From-SVN: r278003
parent 95cc59f1
2019-11-09 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/92321
* frontend-passes.c (call_external_blas): Commit symbol for
external BLAS routine.
2019-11-08 Jakub Jelinek <jakub@redhat.com> 2019-11-08 Jakub Jelinek <jakub@redhat.com>
* arith.c (character2representation): Change i type to size_t. * arith.c (character2representation): Change i type to size_t.
......
...@@ -4635,6 +4635,7 @@ call_external_blas (gfc_code **c, int *walk_subtrees ATTRIBUTE_UNUSED, ...@@ -4635,6 +4635,7 @@ call_external_blas (gfc_code **c, int *walk_subtrees ATTRIBUTE_UNUSED,
call->symtree->n.sym->attr.procedure = 1; call->symtree->n.sym->attr.procedure = 1;
call->symtree->n.sym->attr.flavor = FL_PROCEDURE; call->symtree->n.sym->attr.flavor = FL_PROCEDURE;
call->resolved_sym = call->symtree->n.sym; call->resolved_sym = call->symtree->n.sym;
gfc_commit_symbol (call->resolved_sym);
/* Argument TRANSA. */ /* Argument TRANSA. */
next = gfc_get_actual_arglist (); next = gfc_get_actual_arglist ();
......
2019-11-09 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/92321
* gfortran.dg/matmul_blas_2.f90: New test.
2019-11-09 Jakub Jelinek <jakub@redhat.com> 2019-11-09 Jakub Jelinek <jakub@redhat.com>
* gfortran.dg/dec_char_conversion_in_assignment_4.f90: Use * gfortran.dg/dec_char_conversion_in_assignment_4.f90: Use
......
! { dg-do compile }
! { dg-options "-O3 -fdump-tree-original -fexternal-blas" }
! PR fortran/92321 - this used to cause an ICE. Original test case
! by Nathan Wukie.
module mod_badmatmul
implicit none
contains
subroutine test(c)
real, intent(inout) :: c(3,3)
real :: a(3,3), b(3,3)
c = matmul(a, b)
end subroutine test
end module mod_badmatmul
program main
use mod_badmatmul, only: test
implicit none
real :: a(3,3)
call test(a)
end program main
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