AUTOAddArg

DFAUTO Subroutine: Passes an argument name and value and adds the argument to the argument list data structure.

Modules: USE DFAUTO, USE DFWINTY

Syntax

CALL AUTOAddArg (invoke_args, name, value [, intent_arg] [, type])

invoke_args
The argument list data structure. Must be of type INTEGER(4) on ia32 processors; INTEGER(8) on ia64 processors.


name
The argument's name of type CHARACTER*(*).


value
The argument's value. Must be of type INTEGER(2), INTEGER(4), REAL(4), REAL(8), LOGICAL(2), LOGICAL(4), CHARACTER*(*), or a single dimension array of one of these types. Can also be of type VARIANT, which is defined in the DFWINTY module.


intent_arg
Indicates the intended use of the argument by the called method. Must be one of the following constants defined in the DFAUTO module:


When the value of intent_arg is AUTO_ARG_OUT or AUTO_ARG_INOUT, the variable used in the value parameter should be declared using the VOLATILE attribute. This is because the value of the variable will be changed by the subsequent call to AUTOInvoke. The compiler's global optimizations need to know that the value can change unexpectedly.

type
The variant type of the argument. Must be one of the following constants defined in the DFWINTY module:


VARIANT Type Value Type
VT_I2 INTEGER(2)
VT_I4 INTEGER(4)
VT_R4 REAL(4)
VT_R8 REAL(8)
VT_CY REAL(8)
VT_DATE REAL(8)
VT_BSTR CHARACTER*(*)
VT_DISPATCH INTEGER(4)
VT_ERROR INTEGER(4)
VT_BOOL LOGICAL(2)
VT_VARIANT TYPE(VARIANT)
VT_UNKNOWN INTEGER(4)