混合言語プログラムの作成をサポートするため、 グローバル・エンティティーの名前をリンカーが解決できる外部名に変換するときには、XL Fortran は以下のような整合性のある一連の規則に従います。
下線で始まる名前はライブラリー・ルーチン名として予約されているため、 下線は Fortran 外部名の最初の文字として使用しないでください。
Fortran の関数名と Fortran 以外の言語の関数名の競合を避けるため、 -qextname オプションを指定して Fortran プログラムをコンパイルできます。 このオプションは、Fortran 名の最後に下線を追加します。 その後、Fortran から呼び出したい Fortran 以外の言語のプロシージャーの最後の文字として下線を使用してください。
名前に大文字と小文字の両方を使用したい場合は、-U オプションまたは @PROCESS MIXED ディレクティブを使用することができます。
@process mixed external C_Func ! With MIXED, we can call C_Func, not just c_func. integer aBc, ABC ! With MIXED, these are different variables. common /xYz/ aBc ! The same applies to the common block names. common /XYZ/ ABC ! xYz and XYZ are external names that are ! visible during linking. end
別のシステムからアプリケーションを移植していて、このような命名競合をアプリケーションが検出する場合は、
-qextname オプションを使用しなければならないこともあります。