Compiler option to warn about argument declarations of x(1) instead of x(*)

That makes more sense now. I’ve asked myself the same question as @Beliavsky before, when I was fixing the issue in the thread:

Nowadays expressions are allowed:

subroutine demo1(n,x)
    integer :: n
    real :: x(n*n/2)
    print *,x
end subroutine

subroutine demo2(x,ipar)
    integer :: ipar(7)
    real :: x((ipar(1)**2)/2)
    print *, x
end subroutine

and an array is allowed to have zero-length which clashes with the (non-standard) v(1) convention.