1! { dg-do compile } 2! 3! PR fortran/56650 4! PR fortran/36437 5! 6subroutine foo(x, y) 7 use iso_c_binding 8 type(*) :: x 9 integer :: y(*) 10 integer(8) :: ii 11 procedure() :: proc 12 13 ii = sizeof (x) ! { dg-error "'x' argument of 'sizeof' intrinsic at \\(1\\) shall not be TYPE\\(\\*\\)" } 14 ii = c_sizeof (x) ! { dg-error "Assumed-type argument at .1. is not permitted as actual argument to the intrinsic c_sizeof" } 15 ii = storage_size (x) ! { dg-error "Assumed-type argument at .1. is not permitted as actual argument to the intrinsic storage_size" } 16 17 ii = sizeof (y) ! { dg-error "shall not be an assumed-size array" } 18 ii = c_sizeof (y) ! { dg-error "shall not be an assumed-size array" } 19 ii = storage_size (y) ! okay, element-size is known 20 21 ii = sizeof (proc) ! { dg-error "shall not be a procedure" } 22 ii = c_sizeof (proc) ! { dg-error "Procedure unexpected as argument" } 23 ii = storage_size (proc) ! { dg-error "shall not be a procedure" } 24end 25