以降の項では、コンパイル時に生じる可能性のある共通問題と、そのような問題を回避する方法を説明しています。
移植されたプログラムの中には、他のシステムにある拡張機能に依存しているために、コンパイルで問題が起きるものもあります。 XL Fortran はそのような拡張機能を多数サポートしていますが、その中の一部はコンパイラー・オプションでオンにする必要があります。これらのオプションのリストに関しては 互換性を維持するためのオプションを参照し、移植に関する概要は 第 14 章, XL Fortran へのプログラムの移植を参照してください。
コンパイルを正しく実行するために、特定のコンパイル単位が特定のオプションを設定する必要のある場合は、@PROCESS ディレクティブを利用してソース・ファイル内の設定を適用した方が便利なことがわかります。ファイルの配置によっては、この方法を使用した方が、さまざまなコマンド行オプションを使用してさまざまなファイルを再コンパイルするよりも簡単な場合があります。
|たとえば xlf_r や xlf90_r のようなスレッド・セーフ呼び出しコマンドは、 |スレッド・セーフ以外の呼び出しとは異なる検索パスを使用し、異なるモジュールを呼び出します。 |プログラムの異なる使用法については考慮が必要です。 |ある環境で正常にコンパイルおよび実行されるプログラムは、異なる使用環境のためにコンパイルおよび |実行されると、予期しない結果をもたらす場合があります。 |構成ファイル xlf.cfg には、呼び出しコマンドのそれぞれについて、パス、ライブラリーなどが示されます。 |(サンプル構成ファイルとその内容の説明については、構成ファイルのカスタマイズ を参照してください。)
いずれかのコンパイラー・コンポーネントが動作している間に、オペレーティング・システムのリソース (ページ・スペースまたはディスク・スペース) 上での動作が低下すると、以下のメッセージのいずれかが表示されます。
1501-229 Compilation ended because of lack of space. 1501-224 fatal error in /usr/lpp/xlf/bin/xlfentry: signal 9 received. 1517-011 Compilation ended. No more system resources available. Killed.
システムのページ・スペースを増やしてプログラムを再コンパイルする必要がある場合があります。ページ・スペースの詳細については、「AIX General Concepts and Procedures 」を参照してください。
たとえば、大きな配列の全部または一部を初期設定することによって、プログラムが大きなオブジェクト・ファイルを作成すると、以下のいずれかを行う必要がある場合があります。