intel fortran (Linux版)の質問です。
ランタイムオプション -check をつけてコンパイルして、実行すると、

forrtl: warning (402): fort: (1): In call to [サブルーチン名], an array temporary was created for argument #1

という警告がでます。マニュアルによると、
『ルーチンが呼び出される前に、実引数が一時的な記憶域にコピーされる場合、ランタイム情報を含むメッセージを発行します。』
ということらしいのですが、何故引数がコピーされるのでしょうか?Fortranって call by reference (call by value の対義語)じゃないの?また、コピーされることの弊害として、どのような事が考えられるでしょうか?