https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91556
--- Comment #15 from Steve Kargl <sgk at troutmask dot apl.washington.edu> --- On Thu, Aug 29, 2019 at 06:49:15PM +0000, anlauf at gcc dot gnu.org wrote: > module foo > implicit none > type t1 > integer :: i = 1 > end type t1 > type t2 > integer :: j = 2 > end type t2 > contains > subroutine s1 (x) > type(t1) :: x > call my_mpi_bcast_wrapper (x, storage_size (x)/8) > end subroutine s1 > subroutine s2 (y) > type(t2) :: y > call my_mpi_bcast_wrapper (y, storage_size (y)/8) > end subroutine s2 > end module foo > > That's perfectly legal, but gets rejected unless -fallow-argument-mismatch > is specified. But then I still get a warning (or many if this appears in > a large module). You can get rid of the warning with -w.