To declare a thread specific common block, XL Fortran provides two parallelization directives, THREADPRIVATE and THREADLOCAL. One may be puzzled as to what is the difference between them and which one of them is better.
THREADLOCAL is not defined in the OpenMP standard. It is a directive that XL Fortran supported before the OpenMP standard was published. The reason that XL Fortran is still supporting it is for applications that have dependency on it. On the other hand, THREADPRIVATE is part of the OpenMP standard. It can better interact with other OpenMP constructs and more importantly, applications using THREADPRIVATE are more portable. Therefore, THREADPRIVATE is definitely more preferable.
The December 2011 Compiler and RTE PTFs for XL Fortran Enterprise Edition for AIX, V11.1 are now available at the following links and on
December 2011 PTF for XL Fortran Enterprise Edition for AIX, V11.1
December 2011 PTF for XL Fortran Enterprise Edition for AIX, V11.1 RTE
The short answer is no. However, Fortran has its own mechanisms for providing additional flexibility in procedure references. For instance you can declare a dummy argument as "optional" by giving it the OPTIONAL attribute. This allows you to skip the actual argument that would normally get associated with that dummy argument in a call. For instance, in the following program:
The output from this call alone would be:
Please note that a C function prototype that has variable argument list is not interoperable with Fortran.