24.05.2014 Views

XL Fortran Enterprise Edition for AIX : User's Guide - IBM

XL Fortran Enterprise Edition for AIX : User's Guide - IBM

XL Fortran Enterprise Edition for AIX : User's Guide - IBM

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2003std<br />

Sets the IOSTAT variables based on <strong>Fortran</strong> 2003’s definition of values<br />

and conditions.<br />

For example, setting the iostat_end=2003std run-time option results in a<br />

different IOSTAT value from extensions being returned <strong>for</strong> the end-of-file<br />

condition<br />

export <strong>XL</strong>FRTEOPTS=iostat_end=2003std<br />

character(10) ifl<br />

integer(4) aa(3), ios<br />

ifl = "12344321 "<br />

read(ifl, ’(3i4)’, iostat=ios) aa ! end-of-file condition occurs and<br />

! ios is set to -1 instead of -2.<br />

For more in<strong>for</strong>mation on setting and using IOSTAT values, see the READ,<br />

WRITE, and Conditions and IOSTAT Values sections in the <strong>XL</strong> <strong>Fortran</strong> <strong>Enterprise</strong><br />

<strong>Edition</strong> <strong>for</strong> <strong>AIX</strong> Language Reference.<br />

intrinthds={num_threads}<br />

Specifies the number of threads <strong>for</strong> parallel execution of the MATMUL and<br />

RANDOM_NUMBER intrinsic procedures. The default value <strong>for</strong> num_threads<br />

when using the MATMUL intrinsic equals the number of processors online.<br />

The default value <strong>for</strong> num_threads when using the RANDOM_NUMBER<br />

intrinsic is equal to the number of processors online*2.<br />

Changing the number of threads available to the MATMUL and<br />

RANDOM_NUMBER intrinsic procedures can influence per<strong>for</strong>mance.<br />

langlvl={extended | 90ext| 90std | 95std | 2003std}<br />

Determines the level of support <strong>for</strong> <strong>Fortran</strong> standards and extensions to the<br />

standards. The values of the suboptions are as follows:<br />

90std<br />

90ext<br />

95std<br />

2003std<br />

Specifies that the compiler should flag any extensions to the<br />

<strong>Fortran</strong> 90 standard I/O statements and <strong>for</strong>mats as errors.<br />

Currently, provides the same level of support as the extended<br />

suboption. 90ext was the default suboption prior to <strong>XL</strong> <strong>Fortran</strong><br />

Version 7.1. However, this suboption is now obsolete, and to<br />

avoid problems in the future, you should start using the<br />

extended suboption as soon as possible.<br />

Specifies that the compiler should flag any extensions to the<br />

<strong>Fortran</strong> 95 standard I/O statements and <strong>for</strong>mats as errors.<br />

Specifies that the compiler should accept all standard I/O<br />

statements and <strong>for</strong>mats that the <strong>Fortran</strong> 95 standard specifies,<br />

as well as those <strong>Fortran</strong> 2003 <strong>for</strong>mats that <strong>XL</strong> <strong>Fortran</strong> supports.<br />

Anything else is flagged as an error.<br />

For example, setting the langlvl=2003std run-time option<br />

results in a run-time error message.<br />

integer(4) aa(100)<br />

call setrteopts("langlvl=2003std")<br />

... ! Write to a unit without explicitly<br />

... ! connecting the unit to a file.<br />

write(10, *) aa ! The implicit connection to a file does not<br />

... ! com<strong>for</strong>m with <strong>Fortran</strong> 2003 behavior.<br />

extended Specifies that the compiler should accept the <strong>Fortran</strong> 95<br />

language standard, <strong>Fortran</strong> 2003 features supported by <strong>XL</strong><br />

<strong>Fortran</strong>, and extensions, effectively turning off language-level<br />

checking.<br />

Editing, Compiling, Linking, and Running <strong>XL</strong> <strong>Fortran</strong> Programs 55

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!