﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
66	Problem compiling ropp_io_init  with GFortran	Dave Offiler	marq	"gfc make of ropp_io generates errors compiling ropp_io_init.f90 thus:

{{{
 In file ../ropp/ropp_io_init.f90:139

  use ropp_io, not_this => ropp_io_init_l1atype
                                              1
Error: Name 'isinrange' at (1) is an ambiguous reference to 'isinrange' from module 'arrays'
}}}

...repeated for all similar lines in ropp_io_init.f90.

Within ropp_io.f90:

{{{
  interface isinrange
     function ropp_io_isinrangeDT7(dt) result(inrange)
       use ropp_io_types
       type(DT7type), intent(in) :: dt
       logical                   :: inrange
     end function ropp_io_isinrangeDT7
  end interface
}}}

This, presumably, is meant to overload isinrange defined in ropp_tools/arrays/isinrange.f95
While other (LInux at least) compilers don't mind, gfc clearly doesn't like doing this.

Possible work arounds might be:

1) transfer the ropp_io isinrange into the ropp_tools version (but then the type definitions for DT would have to be moved too)

2) Don't overload isinrange, but name the ropp_io version to something else (e.g. isdtinrange). Calls to isinrange with DT7-type arguments would need to be similarly renamed.

3) Do nothing and hope that GFortran eventually allows this extra overloading (maybe reporting a simplified case via GCC-Bugzilla). Don't hold your breath on an early fix; meanwhile GFortran is not supportable.

Which way to go? [Personally, I favour a simple quick(est) fix rather than cleverness, so
I would go for (2)]


"	task	closed	normal	1.1	ropp_io	0.8	fixed		dave.offiler@… axel.vonengeln@…
