This generic type bound procedure reference has two or more specific procedures with the same type/rank/keyword signature.

This generic type bound procedure reference has two or more specific procedures with the same type/rank/keyword signature.

I am working with a list example in Intel Fortran on Windows (2013.0.089). However, the build halts with the following error:

1>X:\Fortran\Fortran2003\list_test\src\main.f90(30): error #8443: This generic type bound procedure reference has two or more specific procedures with the same type/rank/keyword signature.   [ADD]
1>compilation aborted for X:\Fortran\Fortran2003\list_test\src\main.f90 (code 1)

The project files are in the attached archive (same code for DPD200175597). Any thoughts?

Thanks.

AttachmentSize
Download list-test.zip19.83 KB
3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Best Reply

The addValue binding in list (part of the add type bound generic) takes a class(*) second argument. A class(*) scalar dummy is type/kind/rank compatible with any scalar, so that argument is not distinguishable from the second arguments of the other add* bindings in that generic. So the compiler doesn't know which specific binding to pick when it see the reference to the generic in the main program. See 12.4.3.4.5 in F2008.

(I think the add* binding forms that take the intrinsic types are redundant anyway - all they do is just create a temporary allocatable object?)

Thanks for the help.

Leave a Comment

Please sign in to add a comment. Not a member? Join today