XL Fortran for AIX 8.1

Language Reference


General Service and Utility Procedures

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:

  1. XL Fortran supplies the module xlfutility, which contains the interfaces and data type definitions for these procedures (and the derived-type definitions required for the dtime_, etime_, idate_, and itime_ procedures). XL Fortran flags arguments that are not compatible with the interface specification in type, kind, and rank. These modules enable type checking of these procedures at compile time rather than at link time. The argument names in the module interface are taken from the examples defined below. The following files are supplied for the modules xlfutility and xlfutility_extname:
    File names File type Locations
    • xlfutility.f
    • xlfutility_extname.f

    source file /usr/lpp/xlf/samples/modules
    • xlfutility.mod
    • xlfutility_extname.mod

    module symbol file (32-bit)
    • /usr/lpp/xlf/include_32_d10
    • /usr/lpp/xlf/include_32_d7
    Note:
    The files in these directories are exact copies of one another.
    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_
    
  2. Because these procedures are not intrinsic procedures:

    To avoid conflicts with names in the libc library, some procedure names end with an underscore. When coding calls to these procedures, you can:

    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
    mclock times
    rand irand
Note:
The mvbits subroutine that was in XL Fortran Version 2 is now an intrinsic subroutine, MVBITS(FROM, FROMPOS, LEN, TO, TOPOS).


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]