Chasm
Data Structures | Enumerations | Functions
CompilerCharacteristics.h File Reference
#include "F90ArrayDataType.h"

Go to the source code of this file.

Data Structures

struct  F90_CompilerCharacteristics
 CompilerCharacteristics contains function pointers that provide a generic interface to the array descriptor library. More...

Enumerations

enum  F90_DescType {
  F90_Array, F90_Pointer, F90_ArrayPointer, F90_ArrayPointerInDerived,
  F90_DerivedPointer, F90_NonArray
}
 LANL:license. More...
enum  F90_HiddenDescType { F90_Hidden, F90_NoHidden, F90_PointerWithHiddenDesc }
 F90_HiddenDescType describes the types of hidden descriptor arguments used by a compiler. More...

Functions

int F90_SetCompilerCharacteristics (F90_CompilerCharacteristics *cc, const char *compiler)
 Sets the CompilerCharacteristics function pointers for the given compiler.

Enumeration Type Documentation

LANL:license.

------------------------------------------------------------------------- This SOFTWARE has been authored by an employee or employees of the University of California, operator of the Los Alamos National Laboratory under Contract No. W-7405-ENG-36 with the U.S. Department of Energy. The U.S. Government has rights to use, reproduce, and distribute this SOFTWARE. The public may copy, distribute, prepare derivative works and publicly display this SOFTWARE without charge, provided that this Notice and any statement of authorship are reproduced on all copies. Neither the Government nor the University makes any warranty, express or implied, or assumes any liability or responsibility for the use of this SOFTWARE. If SOFTWARE is modified to produce derivative works, such modified SOFTWARE should be clearly marked, so as not to confuse it with the version available from LANL. ------------------------------------------------------------------------- LANL:license ------------------------------------------------------------------------- F90_DescType describes the type of the array descriptor. The descriptor layout can depend on how the array-valued paramater is declared.

Enumerator:
F90_Array 

an array (e.g., integer :: a(:))

F90_Pointer 

a pointer (e.g., integer, pointer :: p)

F90_ArrayPointer 

an array pointer (e.g., integer, pointer :: pa(:) )

F90_ArrayPointerInDerived 

an array pointer within a derived type

F90_DerivedPointer 

pointer to a derived type

F90_NonArray 

not an array or pointer type

F90_HiddenDescType describes the types of hidden descriptor arguments used by a compiler.

Hidden descriptors arguments may be passed at the end of the formal parameter list by some compilers. Most compilers pass explicitly-defined array parameters via a descriptor (F90_NoHidden). However, in some instances, a compiler may place a pointer to the base of the array in the formal parameter slot and pass a hidden descriptor argument after the formal parameters (F90_PointerWithHiddenDesc).

Enumerator:
F90_Hidden 

has a hidden param

F90_NoHidden 

has no hidden parameter

F90_PointerWithHiddenDesc 

array pointer passed with a hidden descriptor argument


Function Documentation

int F90_SetCompilerCharacteristics ( F90_CompilerCharacteristics cc,
const char *  compiler 
)

Sets the CompilerCharacteristics function pointers for the given compiler.

Delegates the actual setting of function pointers to the vendor-specific function F90_SetCCFunctions_F90Vendor(). The current set of supported compilers is {"Absoft", "Alpha", "IBMXL", "Intel", "Lahey", "MIPSpro", "NAG", "SUNWspro"}.

Parameters:
ccthe CompilerCharacteristics struct
compilerthe name of the compiler
Returns:
0 if successful (nonzero on error)