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

suppress specific runtime warning messages

normcler
Beginner
679 Views

Hello,

Could someone tell me how I can specify that a specific warning message issued by the forrtl be suppressed. In particular, when I run my program, I see endless messages such as this:

forrtl: warning (402): fort: (1): In call to SETRAYINFO_INFO, an array temporary was created for argument #3

If this isn't possible, is there a way I can suppress all forrtl warning messages but still see messages of a higher severity?

Thanks for your attention.

Norm Clerman

0 Kudos
3 Replies
Steven_L_Intel1
Employee
679 Views

That message is not enabled by default. It is controlled by /check:arg_temp_created. If you simply said /check or enabled all run-time diagnostics, you'll get that one too.

However, it is a useful message that indicates a possible performance issue in your application. It may be that you cannot avoid the copy, but it is worth looking at. This message is given when you pass a non-contiguous array or array section to a routine which expects a contiguous array.

0 Kudos
normcler
Beginner
679 Views

That message is not enabled by default. It is controlled by /check:arg_temp_created. If you simply said /check or enabled all run-time diagnostics, you'll get that one too.

However, it is a useful message that indicates a possible performance issue in your application. It may be that you cannot avoid the copy, but it is worth looking at. This message is given when you pass a non-contiguous array or array section to a routine which expects a contiguous array.

Hi Steve,

Thanks. Actually, I think the cause of the message is a call like this:

CALL MySub (arg1, [data(1), 0.0], arg3, arg4)

It's been working fine for years, and I don't think it's causing a performance hit.

I really needed to kill it, and now I know how.

Thanks for you help.

Norm

0 Kudos
Steven_L_Intel1
Employee
679 Views

Oh, Hi, Norm. I didn't pick up on it being you.

In the case you cite, it's not a problem. The compiler HAS to create a temporary array for that array constructor.

0 Kudos
Reply