For whatever it’s worth, my take is as follows.
Any processor that fails to detect and report a violation of a numbered constraint in the standard, “C934 (R927) If type-spec appears, it shall specify a type with which each allocate-object is type compatible,” as in the code below, does not conform:
character(len=:), allocatable :: s
integer, allocatable :: i
allocate( character :: s, i )
end
Intel Fortran can thus be seen to have a bug:
C:\Temp>ifort /c /standard-semantics a.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.3.0 Build 20210609_000000
Copyright (C) 1985-2021 Intel Corporation. All rights reserved.C:\Temp>
gfortran conforms:
C:\Temp>gfortran -c a.f90
a.f90:3:29:3 | allocate( character :: s, i ) | 1
Error: Type of entity at (1) is type incompatible with typespec
C:\Temp>