------- Additional Comments From Thomas dot Koenig at online dot de 2005-01-04 13:41 ------- The problem appears to be related to the fact that "length" and "size" are both intrinsics.
If you declare "length" to be external, with the following patch: $ diff -u vec3d.f90 vec3d-works.f90 --- vec3d.f90 2005-01-04 14:43:07.000000000 +0100 +++ vec3d-works.f90 2005-01-04 14:43:01.000000000 +0100 @@ -5,6 +5,7 @@ ! Public procedures private public :: normalise, length + external :: length ! Module constants integer, parameter :: SP = selected_real_kind(6) compilation works fine. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17379