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.
29285 Discussions

suppress specific runtime warning messages

normcler
Beginner
865 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
865 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
865 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
865 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