Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Standards checking question

nvaneck
New Contributor I
449 Views
When checking interfaces, I get warnings for use of the generic ABS function whenever integer arguments are used.

"Elemental Intrinsic Function (Generic): Computes an absolute value.

Syntax

result=ABS(a)

a

(Input) Must be of type integer, real, or complex"


Am I misreading the intenet of the documentation?Should I change all references to ABS to the type specific version?

Also, I get thewarning sometimes when no use of ABS is in the program being compiled--when clicking on the error message, it throw me to the first line of the file instead of an offending use (which doesn't exist in that file, but may exist in one compiled previouslyduring the build)...

0 Kudos
3 Replies
Steven_L_Intel1
Employee
449 Views
Example, please. I can't reproduce the problem. Are you perhaps using ABS in a specification expression in a routine interface? This is ok, but if there was some earlier version of a routine with a specification expression you might have a generated interface module left over.
0 Kudos
nvaneck
New Contributor I
449 Views

There was no generated interface for ABS in the output directory, but there werethree calls to a routine that has ABS(arg) in the call. I removed these and the warning went away...

Thanks.

0 Kudos
Steven_L_Intel1
Employee
449 Views
I'd still like to understand what triggered the error. Can you fabricate a small example? So far nothing I have tried has shown a problem.
0 Kudos
Reply