All of the procedures described in this chapter that do not belong to the xlf_fp_util module belong in this category. To ensure that the functions are given the correct type and that naming conflicts are avoided, use these procedures in one of the following two ways:
|File names||File type||Locations|
||module symbol file (32-bit)||
|module symbol file (64-bit)||/usr/lpp/xlf/include_64|
You can use the precompiled module by adding a USE statement to your source file (see USE for details). As well, you can modify the module source file and recompile it to suit your needs. Use the xlfutility_extname files for procedures compiled with the -qextname option. The source file xlfutility_extname.f has no underscores following procedure names, while xlfutility.f includes underscores for some procedures names (as listed in this chapter).
If there are name conflicts (for example if the accessing subprogram has an entity with the same name as a module entity), use the ONLY clause or the renaming features of the USE statement. For example,
USE XLFUTILITY, NULL1 => DTIME_, NULL2 => ETIME_
To avoid conflicts with names in the libc library, some procedure names end with an underscore. When coding calls to these procedures, you can:
xlf -brename:flush,flush_ calls_flush.f
This method works best if you need to rename only a small number of procedures.
xlf -qextname calls_flush.f
This method is recommended for programs already written without the underscore following the routine name. The XL Fortran library contains additional entry points, such as fpgets_, so that calls to procedures that do not use trailing underscores still resolve with -qextname.
PRINT *, IRTC() ! No underscore in this name CALL FLUSH_(10) ! But there is one in this name
If your program calls the following procedures, there are restrictions on
the common block and external procedure names that you can use:
|XLF-Provided Function Name||Common Block or External Procedure Name You Cannot Use|