1! { dg-do run } 2program a 3 4 implicit none 5 6 integer n 7 character(len=70) e1 8 character(len=30) e2 9 integer, allocatable :: i(:) 10 11 e1 = 'No error' 12 allocate(i(4)) 13 deallocate(i, stat=n, errmsg=e1) 14 if (trim(e1) /= 'No error') call abort 15 16 e2 = 'No error' 17 allocate(i(4)) 18 deallocate(i, stat=n, errmsg=e2) 19 if (trim(e2) /= 'No error') call abort 20 21 e1 = 'No error' 22 deallocate(i, stat=n, errmsg=e1) 23 if (trim(e1) /= 'Attempt to deallocate an unallocated object') call abort 24 25 e2 = 'No error' 26 deallocate(i, stat=n, errmsg=e2) 27 if (trim(e2) /= 'Attempt to deallocate an unall') call abort 28 29end program a 30