Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

"floating" error messages

TommyCee
Beginner
2,098 Views

For the longest time, I and others have been confounded by the lack of specificity in compilation and runtime error messages.  A good example of these is the floating * error messages one gets at runtime.  Back in July (http://software.intel.com/en-us/forums/topic/277207#191012), I got a "M6201 error DOMAIN" message.  After adding a critical switch ( /fp:0 ), I got this error:

forrtl: error(73): floating divide by zero

which helped me trace the problem (a "constant" wasn't very constant after all).  I fixed the problem.

Now, for a different reason and at a different spot,  I'm getting:

forrtl: error(65): floating invalid

The actual problem at the choke point isn't obvious and is being investigated.  But meanwhile, I really wonder if anyone can please enlighten me as to what the difference is between error(73) and error(65).

0 Kudos
4 Replies
Steven_L_Intel1
Employee
2,098 Views

Error 73 (floating divide by zero) is exactly what it says - you did a floating divide by zero and used /fpe0 to disable normal IEEE semantics for this operation (which normally would produce an IEEE "Not a Number" (NaN). Error 65 is what happens when you "touch" a NaN and have used /fpe0. Where that NaN came from you have to investigate, as it was produced earlier in the program.

0 Kudos
TommyCee
Beginner
2,098 Views

Steve,

Maybe I didn't pose my question as well as I might have.  Of course you are right - forrtl: error(73): floating divide by zero "is exactly what it says" it is.  The name for the error is unambiguous.  My question aims more at the nebulous forrtl: error(65): floating invalid which would leave many scratching their head as to exactly what it is.  Floating invalid?  In tracing the problem that inspired this post, I have deduced that the trouble indeed triggered when a divisor mysteriously went to zero.  So one might well wonder why the error(73) didn't trigger in this case.

0 Kudos
Steven_L_Intel1
Employee
2,098 Views

"floating invalid" is a common term for this, but I understand it may be unfamiliar to you. A NaN can be created in many different ways, not just a zerodivide.

0 Kudos
TommyCee
Beginner
2,098 Views

And just to be clear, the recent error message (forrtl: error(65): floating invalid ) didn't include anything about NaN.  It just crashed at runtime.  In tracing, it was determined to be a zero divisor.

0 Kudos
Reply