Strange behaviour when using type(*) and character(*) in GFortran

Unless you have a function which accepts both allocatable and not allocatable variables. You cannot call allocated on a variable which isn’t allocatable.

‘array’ argument of ‘allocated’ intrinsic at (1) must be ALLOCATABLE