Use of TRANSPOSE in an initialization expression (or constant expression in F2008 terminology) is a Fortran 2003 feature not yet supported by that compiler.
Use of RESHAPE, with the appropriate ORDER argument, is part of Fortran 95, is supported by that compiler and can give the equivalent of what you want:
integer :: array(2,3) = reshape([1,2,3,4,5,6], shape(array), ORDER=[2,1])