strange warning with WRITE statement

strange warning with WRITE statement

I'm working on a console window application. The following statement writes three 4x4 matrices, one row at a time. DO JJ=1,4 WRITE(IOUT,'(3(4(G12.5,1X),4X))') & BEAR1%BR(I)%B(ISPD)%K(JJ,1:4), & BEAR1%BR(I)%B(ISPD)%C(JJ,1:4), & BEAR1%BR(I)%B(ISPD)%M(JJ,1:4) END DO This generates warnings in the console window as follows: forrtl: warning (402): fort: (1): In call to I/O Write routine, an array temporary was created for argument #1 The statement works as intended, but what is the warning for? What is argument #1? Pointers are used in the chain of derived types. Could that have something to with it? Brian in Austin, Texas

6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Grrr! How do I keep the forum web site from butchering the formatting of my postings?

You can ignore the warning(s). If you are curious, see http://software.intel.com/en-us/forums/topic/297425 .

Thanks.  That explains it.  I think what happened was I had just turned on ALL for run-time error checking.  The WRITE'ing of matrix rows with implied loops evidently leads to the creation of temporary arrays, and thus the warning.

Did the request for

/check:arg_temp_created_except_for_write_statements_that_you_know_are_ok

ever get done?  That was 4 years ago.

Nothing has been changed in this area.

As for inserting code, you can put it between tags as explained in the fourth bullet below the post composition window.

Steve - Intel Developer Support

About the formatting.  I had a post ready to go, and I clicked on the Preview button, and it all got run together in one paragraph.

Leave a Comment

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