bug-autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNU Autoconf 2.60] testsuite: 3 133 135 failed


From: Jeph Cowan
Subject: [GNU Autoconf 2.60] testsuite: 3 133 135 failed
Date: Wed, 25 Oct 2006 10:33:13 -0600
User-agent: Thunderbird 1.5.0.7 (Macintosh/20060909)

Hi,

Attached is the testsuite.log file with more info on the failed tests. Also note that the 'make check' was started at 8:28AM and finished the following morning at 00:46, some 16+ hours later. Am I doing something wrong? The same check ran in about 20 minutes on one of our linux systems. Are there serious repercussions due to the failed tests so that I shouldn't install the software? Thanks for any additional information you can provide and let me know if you need more information.

Regards... -jeph
--
jeph Cowan
Supercomputer Systems Group
National Center for Atmospheric Research
1850 Table Mesa Drive
Boulder, CO 80305
303-497-1294
address@hidden
## ----------------------------- ##
## GNU Autoconf 2.60 test suite. ##
## ----------------------------- ##

testsuite: command line was:
  $ ./testsuite 

## ----------- ##
## ChangeLogs. ##
## ----------- ##

testsuite: ../ChangeLog:
| 2006-06-23  Ralf Wildenhues  <address@hidden>
| 
|       Version 2.60.
| 
|       * configure.ac, NEWS: Update.
| 
| 2006-06-23  Ralf Wildenhues  <address@hidden>
| 
|       * config/texinfo.tex: Sync from upstream.
| 

## --------- ##
## Platform. ##
## --------- ##

hostname = bv1103en.ucar.edu
uname -m = 00CBC88F4C00
uname -r = 3
uname -s = AIX
uname -v = 5

/usr/bin/uname -p = powerpc
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = 5.3.0.0
/bin/universe          = unknown

PATH: /home/bluevista/jeph/autoconf-2.60/tests
PATH: /usr/bin
PATH: /usr/ucb
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin/X11
PATH: /usr/lpp/xlf/lib
PATH: /usr/lpp/xlf/bin
PATH: /opt/csm/bin
PATH: /home/bluevista/jeph/bin
PATH: /usr/local/lsf/6.2/aix5-64/bin
PATH: /usr/lpp/mmfs/bin

testsuite: atconfig:
| # Configurable variable values for building test suites.
| # Generated by ./config.status.
| # Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
| 
| # The test suite will define top_srcdir=/../.. etc.
| at_testdir='tests'
| abs_builddir='/home/bluevista/jeph/autoconf-2.60/tests'
| at_srcdir='.'
| abs_srcdir='/home/bluevista/jeph/autoconf-2.60/tests'
| at_top_srcdir='..'
| abs_top_srcdir='/home/bluevista/jeph/autoconf-2.60'
| at_top_build_prefix='../'
| abs_top_builddir='/home/bluevista/jeph/autoconf-2.60'
| 
| # Backward compatibility with Autotest <= 2.59b:
| at_top_builddir=$at_top_build_prefix
| 
| AUTOTEST_PATH='tests'
| 
| SHELL=${CONFIG_SHELL-'/bin/sh'}

testsuite: atlocal:
| # -*- shell-script -*-
| # tests/atlocal.  Generated from atlocal.in by configure.
| # Configurable variable values for Autoconf test suite.
| 
| # Copyright 2000, 2001, 2005 Free Software Foundation, Inc.
| #
| # This program is free software; you can redistribute it and/or modify
| # it under the terms of the GNU General Public License as published by
| # the Free Software Foundation; either version 2, or (at your option)
| # any later version.
| #
| # This program is distributed in the hope that it will be useful,
| # but WITHOUT ANY WARRANTY; without even the implied warranty of
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
| # GNU General Public License for more details.
| #
| # You should have received a copy of the GNU General Public License
| # along with this program; if not, write to the Free Software
| # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
| # 02110-1301, USA.
| 
| PERL='/usr/local/bin/perl'
| GREP='/usr/local/bin/grep'
| EGREP='/usr/local/bin/grep -E'
| SED='/usr/bin/sed'
| 
| # We need to know if sh -n is ok.
| ac_cv_sh_n_works='no'

## ---------------- ##
## Tested programs. ##
## ---------------- ##

./local.at:493: /home/bluevista/jeph/autoconf-2.60/tests/autom4te --version
autom4te (GNU Autoconf) 2.60
Written by Akim Demaille.

Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

./local.at:493: /home/bluevista/jeph/autoconf-2.60/tests/autoconf --version
autoconf (GNU Autoconf) 2.60
Written by David J. MacKenzie and Akim Demaille.

Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

./local.at:493: /home/bluevista/jeph/autoconf-2.60/tests/autoheader --version
autoheader (GNU Autoconf) 2.60
Written by Roland McGrath and Akim Demaille.

Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

./local.at:493: /home/bluevista/jeph/autoconf-2.60/tests/autoupdate --version
autoupdate (GNU Autoconf) 2.60
Written by David J. MacKenzie and Akim Demaille.

Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

./local.at:493: /home/bluevista/jeph/autoconf-2.60/tests/autoreconf --version
autoreconf (GNU Autoconf) 2.60
Written by David J. MacKenzie and Akim Demaille.

Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

./local.at:493: /home/bluevista/jeph/autoconf-2.60/tests/ifnames --version
ifnames (GNU Autoconf) 2.60
Written by David J. MacKenzie and Paul Eggert.

Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

## ------------------ ##
## Running the tests. ##
## ------------------ ##
testsuite: starting at: Tue Oct 24 08:28:24 MDT 2006
1. Syntax of the shell scripts (tools.at:47): skipped (tools.at:49)
2. Syntax of the Perl scripts (tools.at:72): ok (0m0.74s 0m0.96s)
4. autoconf --trace: user macros (tools.at:127): ok     (0m1.06s 0m1.79s)
5. autoconf --trace: builtins (tools.at:214): ok        (0m0.09s 0m0.81s)
6. autoconf: forbidden tokens, basic (tools.at:245): ok (0m0.46s 0m0.55s)
7. autoconf: forbidden tokens, exceptions (tools.at:271): ok    (0m0.47s 
0m0.58s)
8. autoconf: automatically allowed tokens (tools.at:310): ok    (0m0.91s 
0m0.32s)
9. autoconf: the empty token (tools.at:327): ok (0m0.36s 0m0.32s)
10. autoconf: subdirectories (tools.at:342): ok (0m1.52s 0m1.02s)
11. ifnames (tools.at:373): ok  (0m0.17s 0m0.33s)
12. autoheader (tools.at:421): ok       (0m2.41s 0m1.86s)
13. autoupdate (tools.at:553): ok       (0m4.92s 0m1.07s)
14. autoupdating AC_LINK_FILES (tools.at:585): ok       (0m3.65s 0m1.50s)
15. autoupdating AC_PREREQ (tools.at:612): ok   (0m7.45s 0m2.09s)
16. autoupdating AU_ALIAS (tools.at:633): skipped (tools.at:648)
17. autoupdating OLD to NEW (tools.at:659): ok  (0m3.65s 0m1.45s)
18. autoupdating AC_HELP_STRING (tools.at:684): ok      (0m3.62s 0m1.28s)
19. autoupdating with m4sugar (tools.at:702): ok        (0m4.57s 0m1.21s)
20. autoupdating AC_LANG_SAVE (tools.at:738): ok        (0m3.74s 0m0.81s)
21. autoupdating AC_FOREACH (tools.at:758): ok  (0m2.36s 0m0.80s)
22. autoupdating with aclocal and m4_include (tools.at:782): skipped 
(tools.at:785)
23. m4_warn (m4sugar.at:51): ok (0m0.85s 0m1.42s)
24. m4_require: error message (m4sugar.at:102): ok      (0m0.16s 0m0.28s)
25. m4_require: circular dependencies (m4sugar.at:121): ok      (0m0.26s 
0m0.44s)
26. m4_text_wrap (m4sugar.at:157): ok   (0m0.29s 0m0.30s)
27. Standard regular expressions (m4sugar.at:204): ok   (0m0.93s 0m1.42s)
28. M4 loops (m4sugar.at:231): ok       (0m0.79s 0m1.35s)
29. LINENO (m4sh.at:27): ok     (0m1.19s 0m2.06s)
30. AS_DIRNAME (m4sh.at:103): ok        (0m0.35s 0m0.28s)
31. AS_BASENAME (m4sh.at:163): ok       (0m0.57s 0m0.48s)
32. AS_MKDIR_P (m4sh.at:220): ok        (0m0.39s 0m0.42s)
33. AS_VERSION_COMPARE (m4sh.at:251): ok        (0m0.37s 0m0.33s)
34. Negated classes in globbing (m4sh.at:299): ok       (0m0.25s 0m0.33s)
35. Functions Support (m4sh.at:329): ok (0m0.27s 0m0.31s)
36. Functions and return Support (m4sh.at:371): ok      (0m0.37s 0m0.43s)
37. AS_REQUIRE_SHELL_FN and m4_require (m4sh.at:407): ok        (0m0.39s 
0m0.42s)
38. AS_HELP_STRING (m4sh.at:450): ok    (0m0.77s 0m0.49s)
39. AS_IF and AS_CASE (m4sh.at:541): ok (0m0.45s 0m0.52s)
40. Empty test suite (autotest.at:87): ok       (0m0.65s 0m0.75s)
41. Empty test (autotest.at:90): ok     (0m0.67s 0m0.79s)
42. Empty check (autotest.at:93): ok    (0m0.68s 0m0.78s)
43. Truth (autotest.at:100): ok (0m0.48s 0m0.60s)
44. Fallacy (autotest.at:103): ok       (0m0.64s 0m0.76s)
45. Literal multiline command (autotest.at:109): ok     (0m0.69s 0m0.81s)
46. Multiline parameter expansion (autotest.at:116): ok (0m0.70s 0m0.83s)
47. Backquote command substition (autotest.at:120): ok  (0m0.70s 0m0.83s)
48. Multiline backquote command substition (autotest.at:129): ok        
(0m0.71s 0m0.88s)
49. Parenthetical command substition (autotest.at:134): ok      (0m0.40s 
0m0.47s)
50. Multiline parenthetical command substition (autotest.at:143): ok    
(0m0.40s 0m0.46s)
51. Invalid brace-enclosed parameter expansion (autotest.at:155): ok    
(0m0.84s 0m0.89s)
53. Double-M4-quoted command (autotest.at:176): ok      (0m0.70s 0m0.82s)
54. BS-newline in command (autotest.at:186): ok (0m0.71s 0m0.83s)
55. ^BS-newline in command (autotest.at:191): ok        (0m0.70s 0m0.83s)
56. BSx641-newline in command (autotest.at:196): ok     (0m0.73s 0m0.85s)
57. BS-BS-newline in command (autotest.at:202): ok      (0m0.51s 0m0.61s)
58. BSx640-newline in command (autotest.at:210): ok     (0m0.67s 0m0.80s)
59. Newline-CODE-BS-newline in command (autotest.at:218): ok    (0m0.70s 
0m0.85s)
60. Single-quote-BS-newline in command (autotest.at:224): ok    (0m0.71s 
0m0.93s)
61. Single-quote-newline-BS-newline in command (autotest.at:232): ok    
(0m0.65s 0m0.84s)
65. Backslash in a test title (autotest.at:259): ok     (0m0.70s 0m0.84s)
66. Debugging a successful test (autotest.at:278): ok   (0m1.11s 0m1.58s)
67. Debugging script and environment (autotest.at:293): ok      (0m1.55s 
0m2.13s)
68. Debugging a failed test (autotest.at:304): ok       (0m0.89s 0m1.22s)
69. Keywords and ranges (autotest.at:310): ok   (0m6.26s 0m21.35s)
70. AC_REQUIRE: topological sort (base.at:29): ok       (0m0.49s 0m0.63s)
71. AC_REQUIRE: error message (base.at:72): ok  (0m0.39s 0m0.53s)
72. AC_REQUIRE & AC_DEFUN_ONCE: Require, expand (base.at:89): ok        
(0m0.58s 0m0.73s)
73. AC_REQUIRE & AC_DEFUN_ONCE: Expand, require (base.at:133): ok       
(0m0.32s 0m0.45s)
74. AC_REQUIRE & AC_PROVIDE (base.at:176): ok   (0m0.30s 0m0.33s)
75. AC_CACHE_CHECK (base.at:208): ok    (0m0.70s 0m0.41s)
76. AC_TRY_COMMAND (base.at:227): ok    (0m1.09s 0m0.64s)
77. Input/Output (base.at:257): ok      (0m1.12s 0m1.42s)
78. AC_CONFIG_COMMANDS with empty commands (torture.at:31): ok  (0m2.53s 
0m3.27s)
79. Multiple AC_CONFIG_FILES (torture.at:38): ok        (0m0.74s 0m0.56s)
80. AC_ARG_VAR (torture.at:85): ok      (0m6.22s 0m9.78s)
81. AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS (torture.at:134): ok   
(0m4.35s 0m7.75s)
82. Macro calls in AC_CONFIG_COMMANDS tags (torture.at:217): ok (0m1.28s 
0m0.70s)
83. Missing templates (torture.at:237): ok      (0m1.44s 0m0.96s)
84. configure invocation (torture.at:269): ok   (0m2.03s 0m2.34s)
85. #define header templates (torture.at:322): ok       (0m1.61s 0m1.38s)
86. Torturing config.status (torture.at:416): ok        (0m5.99s 0m1.79s)
87. Substitute a 2000-byte string (torture.at:544): ok  (0m1.50s 0m1.03s)
88. Define to a 2000-byte string (torture.at:568): ok   (0m1.82s 0m1.34s)
89. Substitute and define special characters (torture.at:589): ok       
(0m2.08s 0m1.71s)
90. Substitute a newline (torture.at:614): ok   (0m1.50s 0m1.01s)
92. datarootdir workaround (torture.at:660): ok (0m2.98s 0m2.00s)
93. srcdir (torture.at:710): ok (0m2.18s 0m1.64s)
94. Signal handling (torture.at:750): ok        (0m1.05s 0m0.65s)
95. Configuring subdirectories (torture.at:789): skipped (torture.at:793)
96. Deep Package (torture.at:893): skipped (torture.at:897)
97. Non-Autoconf AC_CONFIG_SUBDIRS (torture.at:957): skipped (torture.at:961)
98. Empty directory (torture.at:1000): skipped (torture.at:1004)
99. Unusual Automake input files (torture.at:1021): skipped (torture.at:1025)
100. AC_LANG, AC_LANG_PUSH & AC_LANG_POP (compile.at:32): ok    (0m0.89s 
0m0.57s)
101. AC_REQUIRE & AC_LANG (compile.at:78): ok   (0m1.08s 0m0.71s)
102. AC_RUN_IFELSE (compile.at:114): skipped (compile.at:139)
103. AC_TRY_LINK_FUNC (compile.at:151): skipped (compile.at:151)
104. AC_NO_EXECUTABLES (aclang.at:12): ok       (0m2.54s 0m3.44s)
105. AC_REQUIRE_CPP (aclang.at:13): skipped (aclang.at:13)
106. Extensions (c.at:47): skipped (c.at:47)
107. Broken/missing compilers (c.at:59): ok     (0m1.59s 0m0.63s)
108. C keywords (c.at:87): skipped (c.at:87)
109. AC_PROG_CPP requires AC_PROG_CC (c.at:100): skipped (c.at:100)
110. AC_PROG_CPP with warnings (c.at:111): skipped (c.at:127)
111. AC_PROG_CPP without warnings (c.at:141): skipped (c.at:161)
112. AC_PROG_CPP via CC (c.at:179): skipped (c.at:206)
113. AC_C_BACKSLASH_A (acc.at:12): skipped (acc.at:12)
114. AC_C_BIGENDIAN (acc.at:13): skipped (acc.at:13)
115. AC_C_CHAR_UNSIGNED (acc.at:14): skipped (acc.at:14)
116. AC_C_INLINE (acc.at:15): skipped (acc.at:15)
117. AC_C_RESTRICT (acc.at:16): skipped (acc.at:16)
118. AC_C_STRINGIZE (acc.at:17): skipped (acc.at:17)
119. AC_C_TYPEOF (acc.at:18): skipped (acc.at:18)
120. AC_PROG_CC_C89 (acc.at:19): skipped (acc.at:19)
121. AC_PROG_CC_C99 (acc.at:20): skipped (acc.at:20)
122. AC_PROG_CC_C_O (acc.at:21): skipped (acc.at:21)
123. AC_PROG_CC_STDC (acc.at:22): skipped (acc.at:22)
124. AC_PROG_CPP_WERROR (acc.at:23): skipped (acc.at:23)
125. AC_PROG_CXX_C_O (acc.at:24): skipped (acc.at:24)
126. AC_PROG_GCC_TRADITIONAL (acc.at:25): skipped (acc.at:25)
127. AC_LANG_C (acc.at:28): ok  (0m6.59s 0m5.16s)
128. AC_LANG_CPLUSPLUS (acc.at:29): ok  (0m6.70s 0m4.31s)
129. AC_LANG_OBJC (acc.at:30): ok       (0m6.50s 0m3.83s)
130. GNU Fortran 77 (fortran.at:52): ok (0m2.41s 0m2.76s)
131. GNU Fortran (fortran.at:77): ok    (0m2.80s 0m3.69s)
132. AC_F77_MAIN (acfortran.at:12): ok  (0m4.88s 0m4.31s)
134. AC_FC_MAIN (acfortran.at:14): ok   (0m4.67s 0m4.04s)
136. AC_PROG_F77_C_O (acfortran.at:16): ok      (0m3.29s 0m3.56s)
137. AC_PROG_FC_C_O (acfortran.at:17): ok       (0m3.41s 0m3.83s)
138. AC_F77_NAME_MANGLING (acfortran.at:20): ok (0m6.61s 0m4.33s)
139. AC_LANG_FORTRAN77 (acfortran.at:21): ok    (0m6.47s 0m4.04s)
140. AC_CHECK_LIB (semantics.at:74): skipped (semantics.at:74)
141. AC_SEARCH_LIBS (semantics.at:87): skipped (semantics.at:87)
142. AC_SEARCH_LIBS (none needed) (semantics.at:101): skipped (semantics.at:101)
143. AC_CHECK_DECLS (semantics.at:114): skipped (semantics.at:114)
144. AC_CHECK_FUNCS (semantics.at:126): skipped (semantics.at:126)
145. AC_REPLACE_FUNCS (semantics.at:134): skipped (semantics.at:146)
146. AC_CHECK_HEADERS (semantics.at:169): skipped (semantics.at:169)
147. AC_CHECK_HEADERS_OLD (semantics.at:176): skipped (semantics.at:190)
148. AC_CHECK_HEADERS_NEW (semantics.at:203): skipped (semantics.at:222)
149. AC_CHECK_MEMBERS (semantics.at:242): skipped (semantics.at:242)
150. AC_CHECK_ALIGNOF (semantics.at:259): skipped (semantics.at:259)
151. AC_CHECK_ALIGNOF (cross compile) (semantics.at:259): skipped 
(semantics.at:259)
152. AC_CHECK_ALIGNOF struct (semantics.at:272): skipped (semantics.at:272)
153. AC_CHECK_ALIGNOF struct (cross compile) (semantics.at:272): skipped 
(semantics.at:272)
154. AC_CHECK_SIZEOF (semantics.at:287): skipped (semantics.at:287)
155. AC_CHECK_SIZEOF (cross compile) (semantics.at:287): skipped 
(semantics.at:287)
156. AC_CHECK_SIZEOF struct (semantics.at:304): skipped (semantics.at:304)
157. AC_CHECK_SIZEOF struct (cross compile) (semantics.at:304): skipped 
(semantics.at:304)
158. AC_CHECK_TYPES (semantics.at:320): skipped (semantics.at:320)
159. AC_CHECK_TYPES: backward compatibility (semantics.at:327): ok      
(0m0.96s 0m0.63s)
160. AC_CHECK_FILES (semantics.at:372): ok      (0m2.83s 0m3.88s)
161. AC_CHECK_PROG & AC_CHECK_PROGS (semantics.at:406): ok      (0m1.47s 
0m1.61s)
162. AC_C_BIGENDIAN (semantics.at:455): skipped (semantics.at:464)
163. AC_PATH_PROG & AC_PATH_PROGS (semantics.at:495): ok        (0m1.35s 
0m1.60s)
164. AC_PATH_XTRA (semantics.at:539): skipped (semantics.at:541)
165. AC_SYS_RESTARTABLE_SYSCALLS (semantics.at:557): skipped (semantics.at:557)
166. AC_FUNC_WAIT3 (semantics.at:558): skipped (semantics.at:558)
167. AC_ARG_ENABLE (acgeneral.at:12): ok        (0m2.41s 0m3.28s)
168. AC_ARG_PROGRAM (acgeneral.at:13): ok       (0m2.52s 0m3.53s)
169. AC_ARG_VAR (acgeneral.at:14): ok   (0m2.57s 0m3.48s)
170. AC_ARG_WITH (acgeneral.at:15): ok  (0m2.56s 0m3.55s)
171. AC_CANONICAL_TARGET (acgeneral.at:16): ok  (0m2.80s 0m3.54s)
172. AC_CHECK_DECLS_ONCE (acgeneral.at:17): ok  (0m2.51s 0m3.32s)
173. AC_EGREP_CPP (acgeneral.at:18): skipped (acgeneral.at:18)
174. AC_EGREP_HEADER (acgeneral.at:19): skipped (acgeneral.at:19)
175. AC_PREFIX_DEFAULT (acgeneral.at:20): ok    (0m2.51s 0m3.29s)
176. AC_PRESERVE_HELP_ORDER (acgeneral.at:21): ok       (0m2.53s 0m3.44s)
177. AC_CHECKING (acgeneral.at:24): ok  (0m6.57s 0m3.87s)
178. AC_COMPILE_CHECK (acgeneral.at:25): skipped (acgeneral.at:25)
179. AC_ENABLE (acgeneral.at:26): ok    (0m6.58s 0m3.89s)
180. AC_FOREACH (acgeneral.at:27): ok   (0m6.58s 0m3.83s)
181. AC_MSG_RESULT_UNQUOTED (acgeneral.at:28): ok       (0m6.59s 0m3.79s)
182. AC_TRY_COMPILE (acgeneral.at:29): skipped (acgeneral.at:29)
183. AC_TRY_CPP (acgeneral.at:30): skipped (acgeneral.at:30)
184. AC_TRY_LINK (acgeneral.at:31): skipped (acgeneral.at:31)
185. AC_TRY_RUN (acgeneral.at:32): skipped (acgeneral.at:32)
186. AC_VALIDATE_CACHED_SYSTEM_TUPLE (acgeneral.at:33): ok      (0m6.62s 
0m3.99s)
187. AC_WITH (acgeneral.at:34): ok      (0m6.62s 0m4.07s)
188. AC_OUTPUT_COMMANDS (acstatus.at:14): ok    (0m6.72s 0m3.96s)
189. AC_ISC_POSIX (acspecific.at:12): skipped (acspecific.at:12)
190. AC_SYS_INTERPRETER (acspecific.at:13): ok  (0m2.51s 0m3.34s)
191. AC_SYS_LARGEFILE (acspecific.at:14): skipped (acspecific.at:14)
192. AC_SYS_LONG_FILE_NAMES (acspecific.at:15): ok      (0m2.65s 0m3.47s)
193. AC_SYS_POSIX_TERMIOS (acspecific.at:16): skipped (acspecific.at:16)
194. AC_USE_SYSTEM_EXTENSIONS (acspecific.at:17): skipped (acspecific.at:17)
195. AC_ARG_ARRAY (acspecific.at:20): ok        (0m6.59s 0m4.11s)
196. AC_DECL_SYS_SIGLIST (acspecific.at:21): skipped (acspecific.at:21)
197. AC_DYNIX_SEQ (acspecific.at:22): skipped (acspecific.at:22)
198. AC_HAVE_POUNDBANG (acspecific.at:23): ok   (0m6.65s 0m4.24s)
199. AC_IRIX_SUN (acspecific.at:24): skipped (acspecific.at:24)
200. AC_SCO_INTL (acspecific.at:25): skipped (acspecific.at:25)
201. AC_XENIX_DIR (acspecific.at:26): skipped (acspecific.at:26)
202. AC_PROG_AWK (acprograms.at:12): ok (0m2.56s 0m3.32s)
203. AC_PROG_FGREP (acprograms.at:13): ok       (0m2.68s 0m3.51s)
204. AC_PROG_INSTALL (acprograms.at:14): ok     (0m2.55s 0m3.38s)
205. AC_PROG_LEX (acprograms.at:15): skipped (acprograms.at:15)
206. AC_PROG_LN_S (acprograms.at:16): ok        (0m2.51s 0m3.49s)
207. AC_PROG_MAKE_SET (acprograms.at:17): ok    (0m2.59s 0m3.53s)
208. AC_PROG_MKDIR_P (acprograms.at:18): ok     (0m2.56s 0m3.45s)
209. AC_PROG_RANLIB (acprograms.at:19): ok      (0m2.66s 0m3.52s)
210. AC_PROG_SED (acprograms.at:20): ok (0m2.72s 0m3.69s)
211. AC_PROG_YACC (acprograms.at:21): ok        (0m2.72s 0m3.62s)
212. AC_CHECK_TOOL_PREFIX (acprograms.at:24): ok        (0m6.68s 0m4.07s)
213. AC_DECL_YYTEXT (acprograms.at:25): skipped (acprograms.at:25)
214. AC_RSH (acprograms.at:26): ok      (0m6.56s 0m4.13s)
215. AC_CHECK_HEADERS_ONCE (acheaders.at:12): ok        (0m2.55s 0m3.46s)
216. AC_HEADER_ASSERT (acheaders.at:13): ok     (0m2.62s 0m3.56s)
217. AC_HEADER_MAJOR (acheaders.at:14): skipped (acheaders.at:14)
218. AC_HEADER_RESOLV (acheaders.at:15): skipped (acheaders.at:15)
219. AC_HEADER_STAT (acheaders.at:16): skipped (acheaders.at:16)
220. AC_HEADER_STDBOOL (acheaders.at:17): skipped (acheaders.at:17)
221. AC_HEADER_TIOCGWINSZ (acheaders.at:18): skipped (acheaders.at:18)
222. AC_DIR_HEADER (acheaders.at:21): skipped (acheaders.at:21)
223. AC_MEMORY_H (acheaders.at:22): skipped (acheaders.at:22)
224. AC_UNISTD_H (acheaders.at:23): skipped (acheaders.at:23)
225. AC_USG (acheaders.at:24): skipped (acheaders.at:24)
226. AC_STRUCT_DIRENT_D_INO (actypes.at:12): skipped (actypes.at:12)
227. AC_STRUCT_DIRENT_D_TYPE (actypes.at:13): skipped (actypes.at:13)
228. AC_STRUCT_ST_BLOCKS (actypes.at:14): skipped (actypes.at:14)
229. AC_STRUCT_TIMEZONE (actypes.at:15): skipped (actypes.at:15)
230. AC_TYPE_INT16_T (actypes.at:16): skipped (actypes.at:16)
231. AC_TYPE_INT32_T (actypes.at:17): skipped (actypes.at:17)
232. AC_TYPE_INT64_T (actypes.at:18): skipped (actypes.at:18)
233. AC_TYPE_INT8_T (actypes.at:19): skipped (actypes.at:19)
234. AC_TYPE_INTMAX_T (actypes.at:20): skipped (actypes.at:20)
235. AC_TYPE_INTPTR_T (actypes.at:21): skipped (actypes.at:21)
236. AC_TYPE_LONG_DOUBLE (actypes.at:22): skipped (actypes.at:22)
237. AC_TYPE_LONG_DOUBLE_WIDER (actypes.at:23): skipped (actypes.at:23)
238. AC_TYPE_MODE_T (actypes.at:24): skipped (actypes.at:24)
239. AC_TYPE_OFF_T (actypes.at:25): skipped (actypes.at:25)
240. AC_TYPE_SIGNAL (actypes.at:26): skipped (actypes.at:26)
241. AC_TYPE_SSIZE_T (actypes.at:27): skipped (actypes.at:27)
242. AC_TYPE_UINT16_T (actypes.at:28): skipped (actypes.at:28)
243. AC_TYPE_UINT32_T (actypes.at:29): skipped (actypes.at:29)
244. AC_TYPE_UINT64_T (actypes.at:30): skipped (actypes.at:30)
245. AC_TYPE_UINT8_T (actypes.at:31): skipped (actypes.at:31)
246. AC_TYPE_UINTMAX_T (actypes.at:32): skipped (actypes.at:32)
247. AC_TYPE_UINTPTR_T (actypes.at:33): skipped (actypes.at:33)
248. AC_C_LONG_DOUBLE (actypes.at:36): skipped (actypes.at:36)
249. AC_INT_16_BITS (actypes.at:37): skipped (actypes.at:37)
250. AC_LONG_64_BITS (actypes.at:38): skipped (actypes.at:38)
251. AC_STRUCT_ST_BLKSIZE (actypes.at:39): skipped (actypes.at:39)
252. AC_STRUCT_ST_RDEV (actypes.at:40): skipped (actypes.at:40)
253. AM_TYPE_PTRDIFF_T (actypes.at:41): skipped (actypes.at:41)
254. AC_CHECK_FUNCS_ONCE (acfunctions.at:12): ok        (0m2.48s 0m3.44s)
255. AC_FUNC_CHOWN (acfunctions.at:13): skipped (acfunctions.at:13)
256. AC_FUNC_CLOSEDIR_VOID (acfunctions.at:14): skipped (acfunctions.at:14)
257. AC_FUNC_ERROR_AT_LINE (acfunctions.at:15): skipped (acfunctions.at:15)
258. AC_FUNC_FNMATCH (acfunctions.at:16): skipped (acfunctions.at:16)
259. AC_FUNC_FORK (acfunctions.at:17): skipped (acfunctions.at:17)
260. AC_FUNC_FSEEKO (acfunctions.at:18): skipped (acfunctions.at:18)
261. AC_FUNC_GETGROUPS (acfunctions.at:19): skipped (acfunctions.at:19)
262. AC_FUNC_GETMNTENT (acfunctions.at:20): skipped (acfunctions.at:20)
263. AC_FUNC_GETPGRP (acfunctions.at:21): skipped (acfunctions.at:21)
264. AC_FUNC_LSTAT (acfunctions.at:22): skipped (acfunctions.at:22)
265. AC_FUNC_MALLOC (acfunctions.at:23): skipped (acfunctions.at:23)
266. AC_FUNC_MBRTOWC (acfunctions.at:24): skipped (acfunctions.at:24)
267. AC_FUNC_MEMCMP (acfunctions.at:25): skipped (acfunctions.at:25)
268. AC_FUNC_MKTIME (acfunctions.at:26): skipped (acfunctions.at:26)
269. AC_FUNC_MMAP (acfunctions.at:27): skipped (acfunctions.at:27)
270. AC_FUNC_OBSTACK (acfunctions.at:28): skipped (acfunctions.at:28)
271. AC_FUNC_REALLOC (acfunctions.at:29): skipped (acfunctions.at:29)
272. AC_FUNC_SELECT_ARGTYPES (acfunctions.at:30): skipped (acfunctions.at:30)
273. AC_FUNC_SETPGRP (acfunctions.at:31): skipped (acfunctions.at:31)
274. AC_FUNC_SETVBUF_REVERSED (acfunctions.at:32): skipped (acfunctions.at:32)
275. AC_FUNC_STAT (acfunctions.at:33): skipped (acfunctions.at:33)
276. AC_FUNC_STRCOLL (acfunctions.at:34): skipped (acfunctions.at:34)
277. AC_FUNC_STRERROR_R (acfunctions.at:35): skipped (acfunctions.at:35)
278. AC_FUNC_STRFTIME (acfunctions.at:36): skipped (acfunctions.at:36)
279. AC_FUNC_STRNLEN (acfunctions.at:37): skipped (acfunctions.at:37)
280. AC_FUNC_STRTOD (acfunctions.at:38): skipped (acfunctions.at:38)
281. AC_FUNC_STRTOLD (acfunctions.at:39): skipped (acfunctions.at:39)
282. AC_FUNC_UTIME_NULL (acfunctions.at:40): skipped (acfunctions.at:40)
283. AC_FUNC_VPRINTF (acfunctions.at:41): skipped (acfunctions.at:41)
284. AC_HAVE_LIBRARY (aclibs.at:14): skipped (aclibs.at:14)
285. Libtool (foreign.at:28): skipped (foreign.at:32)
286. autoscan (autoscan.at:22): ok      (0m1.24s 0m0.75s)
testsuite: ending at: Wed Oct 25 00:46:20 MDT 2006
testsuite: test suite duration: 16h 17m 56s

## ------------- ##
## Test results. ##
## ------------- ##

ERROR: 146 tests were run,
8 failed (5 expected failures).
140 tests were skipped.

## ------------------------ ##
## Summary of the failures. ##
## ------------------------ ##
Failed tests:
GNU Autoconf 2.60 test suite test groups:

 NUM: FILE-NAME:LINE     TEST-GROUP-NAME
      KEYWORDS

   3: tools.at:90        autom4te cache
      m4sugar
 133: acfortran.at:13    AC_F77_WRAPPERS
 135: acfortran.at:15    AC_FC_WRAPPERS

Skipped tests:
GNU Autoconf 2.60 test suite test groups:

 NUM: FILE-NAME:LINE     TEST-GROUP-NAME
      KEYWORDS

   1: tools.at:47        Syntax of the shell scripts
  16: tools.at:633       autoupdating AU_ALIAS
  22: tools.at:782       autoupdating with aclocal and m4_include
  95: torture.at:789     Configuring subdirectories
      autoreconf
  96: torture.at:893     Deep Package
      autoreconf
  97: torture.at:957     Non-Autoconf AC_CONFIG_SUBDIRS
      autoreconf
  98: torture.at:1000    Empty directory
      autoreconf
  99: torture.at:1021    Unusual Automake input files
      autoreconf
 102: compile.at:114     AC_RUN_IFELSE
 103: compile.at:151     AC_TRY_LINK_FUNC
 105: aclang.at:13       AC_REQUIRE_CPP
 106: c.at:47            Extensions
 108: c.at:87            C keywords
 109: c.at:100           AC_PROG_CPP requires AC_PROG_CC
 110: c.at:111           AC_PROG_CPP with warnings
 111: c.at:141           AC_PROG_CPP without warnings
 112: c.at:179           AC_PROG_CPP via CC
 113: acc.at:12          AC_C_BACKSLASH_A
 114: acc.at:13          AC_C_BIGENDIAN
 115: acc.at:14          AC_C_CHAR_UNSIGNED
 116: acc.at:15          AC_C_INLINE
 117: acc.at:16          AC_C_RESTRICT
 118: acc.at:17          AC_C_STRINGIZE
 119: acc.at:18          AC_C_TYPEOF
 120: acc.at:19          AC_PROG_CC_C89
 121: acc.at:20          AC_PROG_CC_C99
 122: acc.at:21          AC_PROG_CC_C_O
 123: acc.at:22          AC_PROG_CC_STDC
 124: acc.at:23          AC_PROG_CPP_WERROR
 125: acc.at:24          AC_PROG_CXX_C_O
 126: acc.at:25          AC_PROG_GCC_TRADITIONAL
 140: semantics.at:74    AC_CHECK_LIB
 141: semantics.at:87    AC_SEARCH_LIBS
 142: semantics.at:101   AC_SEARCH_LIBS (none needed)
 143: semantics.at:114   AC_CHECK_DECLS
 144: semantics.at:126   AC_CHECK_FUNCS
 145: semantics.at:134   AC_REPLACE_FUNCS
 146: semantics.at:169   AC_CHECK_HEADERS
 147: semantics.at:176   AC_CHECK_HEADERS_OLD
 148: semantics.at:203   AC_CHECK_HEADERS_NEW
 149: semantics.at:242   AC_CHECK_MEMBERS
 150: semantics.at:259   AC_CHECK_ALIGNOF
 151: semantics.at:259   AC_CHECK_ALIGNOF (cross compile)
      cross
 152: semantics.at:272   AC_CHECK_ALIGNOF struct
 153: semantics.at:272   AC_CHECK_ALIGNOF struct (cross compile)
      cross
 154: semantics.at:287   AC_CHECK_SIZEOF
 155: semantics.at:287   AC_CHECK_SIZEOF (cross compile)
      cross
 156: semantics.at:304   AC_CHECK_SIZEOF struct
 157: semantics.at:304   AC_CHECK_SIZEOF struct (cross compile)
      cross
 158: semantics.at:320   AC_CHECK_TYPES
 162: semantics.at:455   AC_C_BIGENDIAN
      cross
 164: semantics.at:539   AC_PATH_XTRA
 165: semantics.at:557   AC_SYS_RESTARTABLE_SYSCALLS
 166: semantics.at:558   AC_FUNC_WAIT3
 173: acgeneral.at:18    AC_EGREP_CPP
 174: acgeneral.at:19    AC_EGREP_HEADER
 178: acgeneral.at:25    AC_COMPILE_CHECK
      autoupdate
 182: acgeneral.at:29    AC_TRY_COMPILE
      autoupdate
 183: acgeneral.at:30    AC_TRY_CPP
      autoupdate
 184: acgeneral.at:31    AC_TRY_LINK
      autoupdate
 185: acgeneral.at:32    AC_TRY_RUN
      autoupdate
 189: acspecific.at:12   AC_ISC_POSIX
 191: acspecific.at:14   AC_SYS_LARGEFILE
 193: acspecific.at:16   AC_SYS_POSIX_TERMIOS
 194: acspecific.at:17   AC_USE_SYSTEM_EXTENSIONS
 196: acspecific.at:21   AC_DECL_SYS_SIGLIST
      autoupdate
 197: acspecific.at:22   AC_DYNIX_SEQ
      autoupdate
 199: acspecific.at:24   AC_IRIX_SUN
      autoupdate
 200: acspecific.at:25   AC_SCO_INTL
      autoupdate
 201: acspecific.at:26   AC_XENIX_DIR
      autoupdate
 205: acprograms.at:15   AC_PROG_LEX
 213: acprograms.at:25   AC_DECL_YYTEXT
      autoupdate
 217: acheaders.at:14    AC_HEADER_MAJOR
 218: acheaders.at:15    AC_HEADER_RESOLV
 219: acheaders.at:16    AC_HEADER_STAT
 220: acheaders.at:17    AC_HEADER_STDBOOL
 221: acheaders.at:18    AC_HEADER_TIOCGWINSZ
 222: acheaders.at:21    AC_DIR_HEADER
      autoupdate
 223: acheaders.at:22    AC_MEMORY_H
      autoupdate
 224: acheaders.at:23    AC_UNISTD_H
      autoupdate
 225: acheaders.at:24    AC_USG
      autoupdate
 226: actypes.at:12      AC_STRUCT_DIRENT_D_INO
 227: actypes.at:13      AC_STRUCT_DIRENT_D_TYPE
 228: actypes.at:14      AC_STRUCT_ST_BLOCKS
 229: actypes.at:15      AC_STRUCT_TIMEZONE
 230: actypes.at:16      AC_TYPE_INT16_T
 231: actypes.at:17      AC_TYPE_INT32_T
 232: actypes.at:18      AC_TYPE_INT64_T
 233: actypes.at:19      AC_TYPE_INT8_T
 234: actypes.at:20      AC_TYPE_INTMAX_T
 235: actypes.at:21      AC_TYPE_INTPTR_T
 236: actypes.at:22      AC_TYPE_LONG_DOUBLE
 237: actypes.at:23      AC_TYPE_LONG_DOUBLE_WIDER
 238: actypes.at:24      AC_TYPE_MODE_T
 239: actypes.at:25      AC_TYPE_OFF_T
 240: actypes.at:26      AC_TYPE_SIGNAL
 241: actypes.at:27      AC_TYPE_SSIZE_T
 242: actypes.at:28      AC_TYPE_UINT16_T
 243: actypes.at:29      AC_TYPE_UINT32_T
 244: actypes.at:30      AC_TYPE_UINT64_T
 245: actypes.at:31      AC_TYPE_UINT8_T
 246: actypes.at:32      AC_TYPE_UINTMAX_T
 247: actypes.at:33      AC_TYPE_UINTPTR_T
 248: actypes.at:36      AC_C_LONG_DOUBLE
      autoupdate
 249: actypes.at:37      AC_INT_16_BITS
      autoupdate
 250: actypes.at:38      AC_LONG_64_BITS
      autoupdate
 251: actypes.at:39      AC_STRUCT_ST_BLKSIZE
      autoupdate
 252: actypes.at:40      AC_STRUCT_ST_RDEV
      autoupdate
 253: actypes.at:41      AM_TYPE_PTRDIFF_T
      autoupdate
 255: acfunctions.at:13  AC_FUNC_CHOWN
 256: acfunctions.at:14  AC_FUNC_CLOSEDIR_VOID
 257: acfunctions.at:15  AC_FUNC_ERROR_AT_LINE
 258: acfunctions.at:16  AC_FUNC_FNMATCH
 259: acfunctions.at:17  AC_FUNC_FORK
 260: acfunctions.at:18  AC_FUNC_FSEEKO
 261: acfunctions.at:19  AC_FUNC_GETGROUPS
 262: acfunctions.at:20  AC_FUNC_GETMNTENT
 263: acfunctions.at:21  AC_FUNC_GETPGRP
 264: acfunctions.at:22  AC_FUNC_LSTAT
 265: acfunctions.at:23  AC_FUNC_MALLOC
 266: acfunctions.at:24  AC_FUNC_MBRTOWC
 267: acfunctions.at:25  AC_FUNC_MEMCMP
 268: acfunctions.at:26  AC_FUNC_MKTIME
 269: acfunctions.at:27  AC_FUNC_MMAP
 270: acfunctions.at:28  AC_FUNC_OBSTACK
 271: acfunctions.at:29  AC_FUNC_REALLOC
 272: acfunctions.at:30  AC_FUNC_SELECT_ARGTYPES
 273: acfunctions.at:31  AC_FUNC_SETPGRP
 274: acfunctions.at:32  AC_FUNC_SETVBUF_REVERSED
 275: acfunctions.at:33  AC_FUNC_STAT
 276: acfunctions.at:34  AC_FUNC_STRCOLL
 277: acfunctions.at:35  AC_FUNC_STRERROR_R
 278: acfunctions.at:36  AC_FUNC_STRFTIME
 279: acfunctions.at:37  AC_FUNC_STRNLEN
 280: acfunctions.at:38  AC_FUNC_STRTOD
 281: acfunctions.at:39  AC_FUNC_STRTOLD
 282: acfunctions.at:40  AC_FUNC_UTIME_NULL
 283: acfunctions.at:41  AC_FUNC_VPRINTF
 284: aclibs.at:14       AC_HAVE_LIBRARY
      autoupdate
 285: foreign.at:28      Libtool

## ---------------------- ##
## Detailed failed tests. ##
## ---------------------- ##

#                             -*- compilation -*-
3. tools.at:90: testing ...
./tools.at:98: autom4te --language=m4sugar script.4s -o script 
./tools.at:106: autom4te --language=m4sugar script.4s -o script 
stderr:
/usr/local/bin/m4:script.4s:1: cannot open `foo': No such file or directory
autom4te: /usr/local/bin/m4 failed with exit status: 1
./tools.at:106: sed -e 's/^\([^:]*\): *\([0-9][0-9]*\): *[^:]*m4: /m4: \1: \2: 
/' \
                -e 's/^[^:]*m4: *\([^:]*\): *\([0-9][0-9]*\): /m4: \1: \2: /' \
                -e 's/^autom4te: [^ ]*m4 /autom4te: m4 /' \
                -e 's/^autom4te: [^ ]*m4\.exe /autom4te: m4 /' \
                -e 's/ (E[A-Z]*)$//' \
           stderr
1c1
< m4: script.4s: 1: Cannot open foo: No such file or directory
---
> m4: script.4s: 1: cannot open `foo': No such file or directory
3. tools.at:90: 3. autom4te cache (tools.at:90): FAILED (tools.at:106)

#                             -*- compilation -*-
133. acfortran.at:13: testing ...
./acfortran.at:13: autoconf --force -W obsolete
./acfortran.at:13: autoheader 
./acfortran.at:13: top_srcdir=$abs_top_srcdir ./configure -C
0a1,2
> configure: error: linking to Fortran libraries from C fails
> See `config.log' for more details.
stdout:
configure: creating cache config.cache
checking for g77... no
checking for f77... f77
checking for Fortran 77 compiler default output file name... a.out
checking whether the Fortran 77 compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU Fortran 77 compiler... no
checking whether f77 accepts -g... yes
checking how to get verbose linking output from f77... -v
checking for Fortran 77 libraries of f77...  -lxlf90 -L/usr/lpp/xlf/lib -lxlopt 
-lxlf -lxlomp_ser -lm
checking for gcc... gcc
checking whether we are using the GNU C compiler... no
checking whether gcc accepts -g... no
checking for gcc option to accept ISO C89... unsupported
checking for dummy main to link with Fortran 77 libraries... unknown
./acfortran.at:13: exit code was 1, expected 0
config.log:
> This file contains any messages produced by compilers while
> running configure, to aid debugging if configure makes a mistake.
> 
> It was created by configure, which was
> generated by GNU Autoconf 2.60.  Invocation command line was
> 
>   $ ./configure -C
> 
> ## --------- ##
> ## Platform. ##
> ## --------- ##
> 
> hostname = bv1103en.ucar.edu
> uname -m = 00CBC88F4C00
> uname -r = 3
> uname -s = AIX
> uname -v = 5
> 
> /usr/bin/uname -p = powerpc
> /bin/uname -X     = unknown
> 
> /bin/arch              = unknown
> /usr/bin/arch -k       = unknown
> /usr/convex/getsysinfo = unknown
> /usr/bin/hostinfo      = unknown
> /bin/machine           = unknown
> /usr/bin/oslevel       = 5.3.0.0
> /bin/universe          = unknown
> 
> PATH: /home/bluevista/jeph/autoconf-2.60/tests
> PATH: /usr/bin
> PATH: /usr/ucb
> PATH: /usr/local/bin
> PATH: /usr/sbin
> PATH: /usr/bin/X11
> PATH: /usr/lpp/xlf/lib
> PATH: /usr/lpp/xlf/bin
> PATH: /opt/csm/bin
> PATH: /home/bluevista/jeph/bin
> PATH: /usr/local/lsf/6.2/aix5-64/bin
> PATH: /usr/lpp/mmfs/bin
> 
> 
> ## ----------- ##
> ## Core tests. ##
> ## ----------- ##
> 
> configure:1544: creating cache config.cache
> configure:1710: checking for g77
> configure:1740: result: no
> configure:1710: checking for f77
> configure:1726: found /usr/bin/f77
> configure:1737: result: f77
> configure:1767: checking for Fortran 77 compiler version
> configure:1774: f77 --version >&5
> f77: 1501-216 command option --version is not recognized - passed to ld
> 
> 
> 
>   xlf(1)                 IBM (October 2005)                  xlf(1)
> 
> 
> 
>   NAME
>          xlf, xlf90, xlf95, xlf_r, xlf90_r, xlf95_r, f90, f95,
>          xlf_r7, xlf90_r7, xlf95_r7, f77, fort77 - invoke the IBM
>          XL Fortran compiler
> 
>   SYNTAX
>          <invocation-command> [ <option> | <inputfile> ] ...
> 
>   DESCRIPTION
>          xlf and related invocation commands compile Fortran source
>          files.  They also process assembler source files and
>          object files. Unless you specify the -c option, these
>          commands call the link editor to produce a single object
>          file.
> 
>          The main difference between these commands is that they
>          use different default options (which are set in the
>          configuration file /etc/xlf.cfg).  For more information,
>          refer to the XL Fortran Enterprise Edition Compiler
>          Reference.
> 
>          The input file may have any of the following suffixes:
>           .f - Fortran source file
>           .f77 or .F77 - Fortran source file (fixed form) using
>                f77 stanza configuration
>           .f90 or .F90 - Fortran source file (free form) using
>                xlf90 configuration
>           .f95 or .F95 - Fortran source file (free form) using
>                xlf95 configuration
>           .o or .a - object file for ld command
>           .s - assembler source file
>           .F - Fortran source file with cpp preprocessor directives
> 
>   OPTIONS
>          Compiler options are categorized by their functions. In
>          each category, the flag options are listed first, followed
>          by the keyword options.
> 
>   Input Control Options
>          -I<dir>
>                 Adds a directory to the search path for include
>                 files and .mod files. If XL Fortran calls cpp, this
>                 option adds a directory to the search path for
>                 #include files. Before checking the default
>                 directories for include and .mod files, the
>                 compiler checks each directory in the search path.
>                 For include files, this path is only used if the
>                 file name in an INCLUDE line is not provided with
>                 an absolute path. By default, the following
>                 directories are searched in the following order:
> 
>                 1) The current directory (where the compiler is
>                 executed)
>                 2) The directory where the source file is located
> 
>          -k     Specifies that the program is in free source form.
>                 This is the short form of -qfree=f90.
> 
>          -U     Makes the compiler case-sensitive to identifier
>                 names. By default the compiler interprets all names
>                 as if they were lower-case.
> 
>          -qci=<nums_list>
>                 Activates the specified INCLUDE lines. <nums_list>
>                 is a colon-separated list of identification numbers
>                 (from 1 to 255) of conditional includes.
> 
>          -qcr | -qnocr
>                 Allows you to control how the compiler interprets
>                 the CR (carriage return) character.  This allows
>                 you to compile code written using a MAC OS X or
>                 DOS/Windows editor.  The default is -qcr.
> 
>          -qdirective[=<list>] | -qnodirective[=<list>]
>                 Specifies target strings to be recognized in a
>                 comment directive. <list> is a colon-separated list
>                 of directives. If -qdirective is specified without
>                 any directives, it turns on the default trigger
>                 constant IBM* if it has been turned off by a
>                 previous -qnodirective.  The default is
>                 -qnodirective.
> 
>          -qdlines | -qnodlines
>                 This is the long form of the -D option. See -D for
>                 more information.  The default is -qnodlines.
> 
>          -qfixed[=<right_margin>]
>                 Indicates that the input source program is in fixed
>                 source form and optionally specifies the maximum
>                 line length, <right_margin>. The maximum
>                 <right_margin> value is 132.  The default is
>                 -qfixed=72 for xlf, xlf_r, xlf_r7, f77, and fort77
>                 invocation commands, and -qfree=f90 for f90, f95,
>                 xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r, and
>                 xlf95_r7.
> 
>          -qfree[={f90|ibm}]
>                 Indicates that the source code is in free source
>                 form. The 'ibm' and 'f90' suboptions specify
>                 compatibility with the free source form defined for
>                 VS Fortran and Fortran 90, respectively. Note that
>                 the free source form defined for Fortran 90 also
>                 applies to Fortran 95.  The default is -qfree=f90
>                 for f90, f95, xlf90, xlf90_r, xlf90_r7, xlf95,
>                 xlf95_r, and xlf95_r7 invocation commands, and
>                 -qfixed=72 for xlf, xlf_r, xlf_r7, f77, and fort77.
> 
>          -qmbcs | -qnombcs
>                 Indicates to the compiler whether character literal
>                 constants, Hollerith constants, H edit descriptors,
>                 and character string edit descriptors can contain
>                 Multibyte Character Set (MBCS) or Unicode
>                 characters. The default is -qnombcs.
> 
>          -qmixed | -qnomixed
>                 The long form of the -U option. Makes the compiler
>                 case-sensitive to identifier names. The default is
>                 -qnomixed.
> 
>          -qsuffix=<option>=<suffix>
>                 Specifies the source file suffix, <suffix>, on the
>                 command line instead of in the .cfg file, where
>                 <option> can be:
> 
>                 f
>                      Specifies that <suffix> is the new source file
>                      suffix.
>                 o
>                      Specifies that <suffix> is the new object-file
>                      suffix.
>                 s
>                      Specifies that <suffix> is the new assembler
>                      source file suffix.
>                 cpp
>                      Specifies that <suffix> is the new
>                      preprocessor source file suffix.
> 
>   Output Control Options
>          -c     Produces an object file instead of an executable
>                 file.  Prevents the completed object file from
>                 being sent to the ld command for link-editing. With
>                 this option, the output is a .o file for each
>                 source file.
> 
>          -d     Causes preprocessed source files that are produced
>                 by cpp to be kept rather than to be deleted. By
>                 default temporary files produced by cpp are
>                 deleted.
> 
>          -o <name>
>                 Specifies a name for the output object, executable,
>                 or assembler source file.  The default name is
>                 a.out for executable files. The default name for an
>                 object source file is the same as the source file
>                 except that it has a '.o' extension.
> 
>          -q32   Selects 32-bit mode compilation mode. The -q32 and
>                 -qarch options determine the target machines that
>                 the 32-bit executable will run on. The default is
>                 -q32.
> 
>          -q64[=<suboption>]
>                 Selects 64-bit compilation mode. The -q64 option
>                 indicates that the object module will be created in
>                 64-bit object format and that the 64-bit
>                 instruction set will be generated. Note that you
>                 may compile in a 32-bit environment to create 64-
>                 bit objects, but you must link them in a 64-bit
>                 environment with the -q64 option. Use -q32 and -q64
>                 options, along with the -qarch and -qtune compiler
>                 options, to optimize the output of the compiler to
>                 the architecture on which that output will be used.
>                 The suboptions are:
> 
>                 largetype
>                      The object file will use the 64-bit Large Data
>                      Type (LDT) ABI. This object file may only be
>                      used on versions of AIX greater than or equal
>                      to 5.0.
> 
>          -qmoddir=<directory>
>                 Specifies the location for any .mod files that the
>                 compiler writes. By default .mod files are placed
>                 in the current directory.
> 
>          -qpic[=<suboption>] | -qnopic
>                 Generates Position Independent Code (PIC) that can
>                 be used in shared libraries.  The suboptions are:
> 
>                 large
>                      Allows the size of the Table of Contents to be
>                      larger than 64K. This suboption allows for
>                      more addresses to be stored in the Table of
>                      Contents and generates larger code.
>                 small
>                      Assumes that the size of the Table of Contents
>                      can be at most 64K.
> 
>                 The default is -qpic=small.
> 
>   Optimization Options
>          -NS<bytes>
>                 Specifies the size (in bytes) of the register spill
>                 space; the internal program storage areas used by
>                 the optimizer for register spills to storage.  The
>                 default is -NS512.
> 
>          -O[<level>]
>                 Specifies whether to optimize code during
>                 compilation and, if so, at which level. -O<level>
>                 is equivalent to -qoptimize=<level>. <level> can
>                 be:
> 
>                 (not specified)
>                      This is equivalent to -O2.
>                 0
>                      Almost all optimizations are disabled. This is
>                      equivalent to -qnooptimize.
>                 1
>                      Reserved for future use. Ignored by compiler.
>                 2
>                      Performs a set of optimizations that are
>                      intended to offer improved performance without
>                      an unreasonable increase in time or storage
>                      that is required for compilation.
>                 3
>                      Performs additional optimizations that are
>                      memory intensive, compile-time intensive, and
>                      may change the semantics of the program
>                      slightly, unless -qstrict is specified. We
>                      recommend these optimizations when the desire
>                      for run-time speed improvements outweighs the
>                      concern for limiting compile-time resources.
>                      This level of optimization also affects the
>                      setting of the -qfloat option, turning on the
>                      'fltint' and 'rsqrt' suboptions by default,
>                      and setting -qmaxmem=-1.  This option implies
>                      -qhot=level=0.
>                 4
>                      Aggressively optimizes the source program,
>                      trading off additional compile time for
>                      potential improvements in the generated code.
>                      You can specify the option at compile time or
>                      at link time. if you specify it at link time,
>                      it will have no effect unless you also specify
>                      it at compile time for at least the file that
>                      contains the main program. -O4 implies the
>                      following other options:
>                      -qhot
>                      -qipa
>                      -O3
>                      -qarch=auto
>                      -qtune=auto
>                      -qcache=auto
>                 5
>                      Performs all optimizations from -O4, and also
>                      sets -qipa=level=2 to perform full inter-
>                      procedural data flow and alias analysis.
> 
>                 -O4 and -O5 perform whole-program analysis and
>                 should be specified at both compilation and link
>                 time to have maximal effect.  The default is -O0.
> 
>          -p[g]  Sets up the object file for profiling. Specifying
>                 '-pg' will produce more extensive statistics. The
>                 default is no profiling.
> 
>          -Q[<suboption>]
>                 Specifies whether Fortran 90 or Fortran 95
>                 procedures are inlined and/or the names of
>                 particular procedures that should or should not be
>                 inlined. names is a list of procedure names that
>                 are separated by colons. This option can take the
>                 form:
> 
>                 -Q
>                      Attempts to inline all appropriate functions,
>                      subject to limits on the number of inlined
>                      calls and the amount of code size increase as
>                      a result.
>                 -Q!
>                      Turns off inlining.
>                 -Q+<names_list>
>                      Inlines the functions listed in <names_list>
>                      and any other appropriate functions, where
>                      <names_list> is a colon-separated list.
>                 -Q-<names_list>
>                      Does not inline functions listed in
>                      <names_list>, where <names_list> is a colon-
>                      separated list. All other appropriate
>                      functions are inlined.
> 
>          -s     Strips the symbol table, line number information,
>                 and relocation information from the output file.
> 
>          -qalias=<suboptions_list>
>                 Indicates whether a program contains certain
>                 categories of aliasing. The compiler limits the
>                 scope of some optimizations when there is a
>                 possibility that different names are aliases for
>                 the same storage locations. <suboptions_list> is a
>                 colon-separated list of one or more of the
>                 following suboptions:
> 
>                 aryovrlp | noaryovrlp
>                      Indicates whether the compilation units
>                      contain any array assignments between
>                      storage-associated arrays. If not, specify
>                      noaryovrlp to improve performance.
>                 intptr | nointptr
>                      Indicates whether the compilation units
>                      contain any integer POINTER statements. If so,
>                      specify intptr.
>                 pteovrlp | nopteovrlp
>                      Indicates whether any pointee variables may be
>                      used to refer to any data objects that are not
>                      pointee variables, or whether two pointee
>                      variables may be used to refer to the same
>                      storage location. If not, specify nopteovrlp.
>                 std | nostd
>                      Indicates whether the compilation units
>                      contain any non-standard aliasing (see
>                      Compiler Reference for more information). If
>                      so, specify nostd.  (-qalias=nostd replaces
>                      the obsolete -qxflag=xalias option.)
> 
>                 For the xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r,
>                 xlf95_r7, f90 and f95 commands, the default
>                 suboptions are: aryovrlp, nointptr, pteovrlp, and
>                 std. For the xlf, xlf_r, xlf_r7, f77, and fort77
>                 commands, the default suboptions are: aryovrlp,
>                 intptr, pteovrlp, and std.
> 
>          -qalign=<suboptions_list>
>                 Specifies the alignment of data objects in storage
>                 to avoid performance problems with misaligned data.
>                 <suboptions_list> is a colon-separated list of one
>                 or more of the following suboptions:
> 
>                 4k | no4k
>                      Specifies whether large arrays and structures
>                      (at least 4096 bytes in size) will be aligned
>                      on a 4K (4096-byte, or page) boundary.  Use of
>                      this option may help to improve the
>                      performance of programs using data striping.
>                 bindc=<suboption>
>                      Specifies that the alignment and padding for
>                      an XL Fortran derived type with the BIND(C)
>                      attribute are compatible with a C struct type
>                      that is compiled with the corresponding XL C
>                      alignment option. The compatible alignment
>                      options are:
>                      -qalign=bindc=bit_packed
>                      -qalign=bindc={full|power}
>                      -qalign=bindc=packed
>                      -qalign=bindc={twobyte|mac68k}
>                      -qalign=bindc=natural
>                      Each of these "-qalign=bindc=" sub-suboptions
>                      is equivalent to the XL C "-qalign=" suboption
>                      of the same name.  (ie: For
>                      -qalign=bindc=bit_packed, the corresponding XL
>                      C option is -qalign=bit_packed)
>                 struct=<option>
>                      Specifies how objects or arrays of a derived
>                      type (declared using a record structure) are
>                      stored, and whether or not padding is used
>                      between components. The options are:
>                      natural
>                           Objects of a derived type are stored with
>                           sufficient padding such that components
>                           will be stored on their natural alignment
>                           boundaries, unless storage association
>                           requires otherwise.
>                      packed
>                           Objects of a derived type are stored with
>                           no padding between components, other than
>                           any padding represented by %FILL
>                           components.
>                      port
>                           Storage padding is the same as described
>                           above for the struct=natural suboption,
>                           except that the alignment of components
>                           of type complex is the same as the
>                           alignment of components of type real of
>                           the same kind. The padding for an object
>                           that is immediately followed by a union
>                           is inserted at the beginning of the first
>                           map component for each map in that union.
> 
>                 The default activated suboptions are: no4k,
>                 struct=natural, and bindc=power.
> 
>          -qarch=<suboption>
>                 Specifies which instructions the compiler can
>                 generate.  The suboptions are:
> 
>                 auto
>                      Automatically detects the specific
>                      architecture of the compiling machine. It
>                      assumes that the execution environment will be
>                      the same as the compilation environment.
>                 com
>                      You can run the executable file that the
>                      compiler generated on any hardware platform
>                      supported by the compiler, because the file
>                      contains only instructions that are common to
>                      all machines.
>                 p2sc
>                      The executable file can be executed on any
>                      POWER2 Super Chip hardware platform.
>                 ppc
>                      Produces an object that contains instructions
>                      that run on any of the 32-bit PowerPC hardware
>                      platforms. Using -q64 with ppc upgrades the
>                      architecture to ppc64grsq.
>                 ppcgr
>                      In 32-bit mode, produces object code
>                      containing optional graphics instructions for
>                      PowerPC hardware platforms.  In 64-bit mode,
>                      produces object code containing optional
>                      graphics instructions that will run on 64-bit
>                      PowerPC platforms, but not on 32-bit-only
>                      platforms.  Using -q64 with ppcgr upgrades the
>                      architecture to ppc64grsq.
>                 ppc64
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform. When compiled
>                      in 32-bit mode, the resulting object code may
>                      include instructions that are not recognized
>                      or behave differently when run on 32-bit
>                      PowerPC platforms.
>                 ppc64gr
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform that supports
>                      the optional graphics instructions.
>                 ppc64grsq
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform that supports
>                      the optional graphics and square root
>                      instructions.
>                 pwr
>                      Produces an object that contains instructions
>                      that run on any of the POWER or POWER2
>                      hardware platforms.
>                 pwr2s
>                      The executable file can be executed on any
>                      desktop implementation of the POWER2 chip.
>                 pwr2
>                      Produces an object that contains instructions
>                      that run on the POWER2 hardware platforms.
>                 pwrx
>                      Equivalent to pwr2.
>                 pwr3
>                      Produces an object that contains instructions
>                      that run on the POWER3, POWER4, POWER5,
>                      POWER5+ or PowerPC 970 hardware platforms.
>                 pwr4
>                      Produces an object that contains instructions
>                      that run on the POWER4, POWER5, POWER5+ or
>                      PowerPC 970 hardware platforms.
>                 pwr5
>                      Produces an object that contains instructions
>                      that run on the POWER5 or POWER5+ hardware
>                      platforms.
>                 pwr5x
>                      Produces an object that contains instructions
>                      that run on any POWER5+ hardware platform.
>                 rs64a
>                      Produces an object that contains instructions
>                      that run on an RS64I hardware platform.
>                 rs64b
>                      Produces an object that contains instructions
>                      that run on an RS64II hardware platform.
>                 rs64c
>                      Produces an object that contains instructions
>                      that run on an RS64III hardware platform.
>                 601
>                      Produces an object that contains instructions
>                      that run on PowerPC 601 systems.
>                 603
>                      Produces an object that contains instructions
>                      that run on PowerPC 603 systems.
>                 604
>                      Produces an object that contains instructions
>                      that run on PowerPC 604 systems.
>                 ppc970
>                      Generates instructions specific to PowerPC 970
>                      processors.
>                 ppc64v
>                      Generates instructions for any 64-bit PowerPC
>                      processor (like PowerPC 970) with VMX.
> 
>                 The default is -qarch=com.
> 
>          -qassert=<suboptions_list>
>                 Provides information about the program to help
>                 fine-tune optimizations. <suboptions_list> is a
>                 colon-separated list of one or both of the
>                 following suboptions:
> 
>                 deps | nodeps
>                      Loops can contain loop-carried dependencies.
>                 itercnt=<n>
>                      The iteration count of a typical loop is <n>.
> 
>                 The default is -qassert=deps:itercnt=1024.
> 
>          -qcache=<suboptions_list>
>                 Specifies the cache configuration for a specific
>                 execution machine. <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 assoc=<n>
>                      Specifies the set-associativity of the cache:
>                      0   = Directly-mapped
>                      1   = Fully associative
>                      (n > 1) = <n>-way set-associative
>                 auto
>                      Automatically detects the specific cache
>                      configuration of the compiling machine. It
>                      assumes that the execution environment will be
>                      the same as the compilation environment.
>                 cost=<cycles>
>                      Specifies the performance penalty resulting
>                      from a cache miss.
>                 level=<level>
>                      Specifies which level of cache is affected:
>                      1 = Basic cache
>                      2 = Level-2 cache, or the table lookaside
>                      buffer (TLB) if the machine has no level-2
>                      cache
>                      3 = TLB, in a machine that does have a level-2
>                      cache
>                 line=<bytes>
>                      Specifies the line size of the cache.
>                 size=<Kbytes>
>                      Specifies the total size of the cache.
>                 type=<type>
>                      Specifies the type of cache that the settings
>                      apply to:
>                      C or c = Combined data and instruction cache
>                      D or d = Data cache
>                      I or i = Instruction cache
> 
>                 The default is determined by the -qtune and -qarch
>                 settings.
> 
>          -qcompact | -qnocompact
>                 Reduces optimizations that increase code size.  The
>                 default is -qnocompact.
> 
>          -qdirectstorage | -qnodirectstorage
>                 Specifies that a compilation unit might reference
>                 write-through-enabled or cache-inhibited storage.
>                 The default is -qnodirectstorage.
> 
>          -qenablevmx | -qnoenablevmx
>                 Enables generation of Vector Multimedia Extension
>                 (VMX) instructions.  The default is -qnoenablevmx.
> 
>          -qessl | -qnoessl
>                 Allows the use of the Engineering and Scientific
>                 Subroutine Library (ESSL) routines in place of
>                 Fortran 90 intrinsic procedures.  The default is
>                 -qnoessl.
> 
>          -qfdpr | -qnofdpr
>                 Provides object files with information that the AIX
>                 Feedback Directed Program Restructuring (fdpr)
>                 performance-tuning utility needs to optimize the
>                 resulting executable file.  The default is
>                 -qnofdpr.
> 
>          -qhot[=<suboptions>] | -qnohot
>                 Performs high-order loop analysis and
>                 transformations during optimization. This option is
>                 a powerful alternative to hand-tuning that provides
>                 opportunities to optimize loops and array language.
>                 The suboptions are:
> 
>                 arraypad[=<n>]
>                      When <n> is specified, the compiler will pad
>                      every array in the code. The pad amount must
>                      be a positive integer value. When <n> is not
>                      specified, the compiler will pad any arrays
>                      where it infers that there may be a benefit.
>                 level={0|1}
>                      Specifies the level of high-order
>                      transformation to perform during compilation.
>                      At level=1, full high-order transformation is
>                      performed, but at level=0 only a subset of the
>                      high-order transformations are performed,
>                      which reduces compile time. See the XL Fortran
>                      Compiler Reference for more information.
>                 simd | nosimd
>                      Converts certain operations in a loop that
>                      apply to successive elements of an array into
>                      a VMX (Vector Multimedia Extension)
>                      instruction.  If you specify -qhot=nosimd, the
>                      compiler performs optimizations on loops and
>                      arrays, but avoids replacing certain code with
>                      VMX instructions.
>                 vector | novector
>                      Specifies whether to allow the compiler to
>                      optimize by replacing code with calls to
>                      vector library routines.  Only takes effect
>                      when specified with -qnostrict or -O3 or
>                      higher optimization level.
> 
>                 The default is -qnohot. If -qhot is specified
>                 without parameters, the default is -qhot=vector.
> 
>          -qipa[=<suboptions_list>] | -qnoipa
>                 Enhances -O optimization by performing detailed
>                 analysis across procedures. Optimization level -O2
>                 or higher is required when using -qipa.
>                 <suboptions_list> is a colon-separated list of
>                 suboptions. Regular expressions are supported when
>                 specifying <procedure_names_list> in the following
>                 -qipa suboptions: exits, inline, noinline, lowfreq,
>                 pure, safe, and unknown. <procedure_names_list> is
>                 a comma-separated list. The suboptions are:
> 
>                 exits=<procedure_names_list>
>                      Specifies a selected set of procedures which
>                      always end the program.
>                 clonearch=<architecture_list> | noclonearch
>                      Allows you to specify multiple architectures
>                      in the event that you want to compile your
>                      application for multiple architectures with a
>                      single binary file. <architecture_list> is a
>                      comma-separated list of one or more of the
>                      following architectures: pwr4, pwr5, ppc970,
>                      and pwr5x. This must be specified during link
>                      time.  The default is noclonearch.
>                 cloneproc=<names_list> | nocloneproc=<names_list>
>                      Allows you to explicitly declare which
>                      procedures the compiler should attempt to
>                      clone. <names_list> is a comma-separated list
>                      of the mangled names of the functions that you
>                      wish to clone (or not clone). Please note that
>                      this suboption has no effect unless
>                      -qipa=clonearch=<arch> is specified. You can
>                      use regular expression syntax when specifying
>                      function names.  The default is nocloneproc.
>                 inline=<options_list>
>                      Specifies a colon-separated list of inline
>                      options, which are as follows:
>                      auto | noauto
>                           Specifies whether to automatically
>                           perform inline expansion.  The default is
>                           auto.
>                      limit=<n>
>                           Changes the size limits that the
>                           inline=auto option uses to determine how
>                           much inline expansion to do. <n> is the
>                           optimizers approximation of the number of
>                           bytes of code that will be generated.
>                      <procedure_names_list>
>                           Specifies the procedures to attempt to
>                           inline.
>                      threshold=<num>
>                           Specifies the upper size limit on
>                           procedures to inline. This argument is
>                           implemented only when inline=auto is on.
>                 noinline=<procedure_names_list>
>                      Specifies the procedures which are not to be
>                      inlined.
>                 isolated=<procedure_names_list>
>                      Specifies the procedures that are not compiled
>                      with -qipa and do not directly refer to any
>                      global variable.
>                 level=<level>
>                      Determines the amount of IPA analysis and
>                      optimization to perform:
>                      0
>                           Performs minimal inter-procedural
>                           analysis and optimization.
>                      1
>                           Turns on inlining, limited alias
>                           analysis, and limited call-site
>                           tailoring.
>                      2
>                           Full inter-procedural data flow and alias
>                           analysis.
>                      The default level is 1.
>                 list[={<filename>|short|long}]
>                      Specifies an output listing file name during
>                      the link phase, in the event that an object
>                      listing has been requested using the -qlist or
>                      -qipa=list option. The default name is
>                      "a.lst". Specifying 'long' or 'short'
>                      determines which listing sections will be
>                      included. The default is short.
>                 lowfreq=<procedure_names_list>
>                      Specifies the procedures that are likely to be
>                      called infrequently during the course of a
>                      typical program run.
>                 malloc16 | nomalloc16
>                      Instructs the compiler to assume that the
>                      dynamic memory allocation routines (such as
>                      malloc/calloc/realloc/new) will return 16-byte
>                      aligned memory addresses. The compiler will
>                      optimize based on this assumption. Note that
>                      if the assertion is false, incorrect results
>                      may be generated.  The default is 'malloc16'
>                      in 64-bit mode, and 'nomalloc16' otherwise.
>                 missing={unknown|safe|isolated|pure}
>                      Specifies the interprocedural behavior for
>                      procedures not compiled with -qipa.  The
>                      default is 'unknown'.
>                 object | noobject
>                      Includes standard object code in the object
>                      files. If the noobject option is specified, it
>                      can substantially reduce overall compilation
>                      time by not generating object code during the
>                      first IPA phase. The default is object. Note,
>                      this is a compile-time suboption.
>                 partition={small|medium|large}
>                      Specifies the size of the regions within the
>                      program to analyze. Larger partitions contain
>                      more procedures, which result in better
>                      interprocedural analysis but require more
>                      storage to optimize.  The default is medium.
>                 pdfname=<filename>
>                      Specifies the name of the profile data file
>                      that contains the PDF profiling information.
>                      The default filename is __pdf.
>                 pure=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure that you
>                      specified as "pure" must be "isolated" and
>                      "safe". It must not alter the internal state
>                      nor have side-effects, which are defined as
>                      potentially altering any data object visible
>                      to the caller.
>                 safe=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure that you
>                      specified as "safe" may modify global
>                      variables and dummy arguments.
>                 stdexits | nostdexits
>                      Specifies that certain predefined routines can
>                      be optimized as with the exits suboption. The
>                      procedures are abort, exit, _exit, and
>                      _assert.  The default is nostdexits.
>                 threads[=<n>] | nothreads
>                      Specifies the number of threads for the
>                      compiler to use. When <n> is not specified,
>                      the compiler decides the number of threads.
>                      Otherwise, up to <n> threads are used to
>                      invoke the compiler backend. Specifying
>                      'nothreads' is equivalent to running one
>                      serial process.
>                 unknown=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure specified
>                      as "unknown" may make calls to other parts of
>                      the program compiled with -qipa and modify
>                      global variables and dummy arguments.
> 
>                 Options intended for use by the link-time phase of
>                 -qipa are -qlibansi, -qlibessl, -qlibposix and
>                 -qthreaded.  The default is -qnoipa.
> 
>          -qkeepparm | -qnokeepparm
>                 Ensures that the incoming parameters are stored on
>                 the stack even when optimizing. This may negatively
>                 impact execution performance. This option then
>                 provides access to the values of incoming
>                 parameters to tools, such as debuggers, simply by
>                 preserving those values on the stack.  The default
>                 is -qnokeepparm.
> 
>          -qlargepage | -qnolargepage
>                 Indicates that a program, designed to execute in a
>                 large page memory environment, can take advantage
>                 of large 16 MB pages provided on POWER4 and higher
>                 based systems.  The default is -qnolargepage.
> 
>          -qlibansi | -qnolibansi
>                 Assumes that all functions with the name of an ANSI
>                 C defined library function are in fact the library
>                 functions.  The default is -qnolibansi.
> 
>          -qlibessl | -qnolibessl
>                 Assumes that all functions with the name of an ESSL
>                 defined library function are, in fact, the library
>                 functions.  The default is -qnolibessl.
> 
>          -qlibposix | -qnolibposix
>                 Assumes that all functions with the name of a POSIX
>                 1003.1 defined library function are, in fact, the
>                 system functions.  The default is -qnolibposix.
> 
>          -qmaxmem=<kbytes>
>                 Limits the amount of memory that the compiler
>                 allocates while performing specific, memory-
>                 intensive optimizations. If <kbytes> is -1, the
>                 compiler will take as much memory as it needs
>                 without checking for limits. The default is
>                 -qmaxmem=2048 when using optimization level -O2,
>                 and -qmaxmem=-1 when using -O3 or greater.
> 
>          -qoptimize[=<level>] | -qnooptimize
>                 The long form of the -O option. -qoptimize=<level>
>                 is equivalent to -O<level>. See the -O option.  The
>                 default is -qnooptimize.
> 
>          -qpdf1 Produces an object that is instrumented to collect
>                 run-time execution information. This is phase 1 of
>                 the profile-directed feedback optimization process.
> 
>          -qpdf2 Tunes application performance using the data
>                 generated by running a program compiled with
>                 -qpdf1. This is phase 2 of the profile-directed
>                 feedback optimization process.
> 
>          -qprefetch | -qnoprefetch
>                 Automatically inserts prefetch instructions where
>                 the optimizer perceives a benefit.  The default is
>                 -qprefetch.
> 
>          -qrecur | -qnorecur
>                 Not recommended. Allows external subprograms to be
>                 called recursively. For new programs, use the
>                 RECURSIVE keyword, which provides a standard-
>                 conforming way of using recursive procedures.  The
>                 default is -qnorecur.
> 
>          -qshowpdf | -qnoshowpdf
>                 Adds additional call and block count profiling
>                 information to an executable. This option is used
>                 together with the -qpdf1 option.  The default is
>                 -qnoshowpdf.
> 
>          -qsmallstack[=<suboption>] | -qnosmallstack
>                 Specifies that the compiler will minimize stack
>                 usage where possible. This option can take the
>                 form:
> 
>                 -qsmallstack
>                      Enables only general small stack
>                      transformations.
>                 -qsmallstack=dynlenonheap
>                      Asserts that automatic variables which are
>                      dynamically-sized are allocated from the heap
>                      and enables general small stack
>                      transformations.
>                 -qsmallstack=nodynlenonheap
>                      Disables dynamic-length variable allocation.
>                 -qnosmallstack
>                      Disables only the general small stack
>                      transformations.
> 
>                 The default is -qnosmallstack.
> 
>          -qsmp[=<suboptions_list>] | -qnosmp
>                 Specifies that code should be produced for an SMP
>                 system.  <suboptions_list> is a colon-separated
>                 list of one or more of the following suboptions:
> 
>                 auto | noauto
>                      Enables automatic parallelization.
>                 nested_par | nonested_par
>                      Specifies that prescriptive nested parallel
>                      constructs should be parallelized by the
>                      compiler.
>                 omp | noomp
>                      Enforces compliance with the OpenMP Fortran
>                      API.
>                 opt | noopt
>                      Controls optimization for parallelization.
>                      -qsmp=noopt specifies that the compiler should
>                      do the least amount of optimization that is
>                      required to parallelize the code and preserve
>                      maximum debugability.
>                 rec_locks | norec_locks
>                      Allows recursive locks to be used to avoid
>                      problems associated with CRITICAL constructs.
>                      If -qsmp=norec_locks is specified, recursive
>                      locks will not be used to implement critical
>                      sections.
>                 schedule=<suboptions>
>                      The schedule suboption can take any of the
>                      following sub-suboptions:
>                      affinity[=<n>]
>                      dynamic[=<n>]
>                      guided[=<n>]
>                      runtime
>                      static[=<n>]
>                      For their descriptions, refer to the XL
>                      Fortran Compiler Reference.
>                 threshold=<n>
>                      Controls the amount of automatic loop
>                      parallelization that occurs. The value of <n>
>                      represents the lower limit allowed for
>                      parallelization of a loop, based on the level
>                      of "work" present in a loop.
> 
>                 The default is -qnosmp.  If you specify -qsmp
>                 without suboptions, the default suboptions are:
>                 auto, opt, noomp, norec_locks, nonested_par,
>                 schedule=runtime, and threshold=100.
> 
>          -qspillsize=<bytes>
>                 The long form of -NS. See the -NS option.  The
>                 default is -qspillsize=512.
> 
>          -qstacktemp=<num>
>                 Determines where to allocate applicable compiler
>                 temporaries at run time. The allocation depends on
>                 the value of <num>. The values are:
> 
>                 0
>                      Indicates that the compiler will decide
>                      whether to allocate the applicable compiler
>                      temporaries on the heap or the stack.
>                 -1
>                      Indicates that applicable compiler temporaries
>                      are to be always allocated on the stack. This
>                      is the best-performing setting but uses the
>                      most amount of stack storage.
>                 (1 or greater)
>                      Indicates that applicable compiler temporaries
>                      less than this value (bytes) should be
>                      allocated on the stack and those greater than
>                      or equal to this value should be allocated on
>                      the heap.
> 
>                 The default is -qstacktemp=0.
> 
>          -qstrict | -qnostrict
>                 Ensures that optimizations done by the -O3 and
>                 greater (and optionally -O2) options do not alter
>                 the semantics of a program. This option is ignored
>                 for -qnoopt.  For -O3 and greater, the default is
>                 -qnostrict. Otherwise the default is -qstrict.
> 
>          -qstrict_induction | -qnostrict_induction
>                 Prevents the compiler from performing induction
>                 (loop counter) variable optimizations that could
>                 alter the semantics of a program.  The default is
>                 -qnostrict_induction.
> 
>          -qthreaded
>                 Asserts that the compiler will generate thread-safe
>                 code when generating its own code or allocating
>                 compiler-created temporary data. User-written code
>                 that is algorithmically not thread-safe is
>                 unaffected by this option and will remain non-
>                 thread-safe. The default is -qthreaded when using
>                 xlf_r, xlf_r7, xlf90_r, xlf90_r7, xlf95_r, or
>                 xlf95_r7 invocation commands.
> 
>          -qtune=<suboption>
>                 Tunes instruction selection, scheduling, and other
>                 implementation-dependent performance enhancements
>                 for a specific implementation of a hardware
>                 architecture.  -qtune will not alter the ability of
>                 a program to run on a processor but will produce
>                 optimal code sequences tuned to a particular
>                 processor.  The suboptions are:
> 
>                 auto
>                      Automatically detects the specific processor
>                      type of the compiling machine and produces an
>                      object optimized for that processor.
>                 601
>                      Produces an object optimized for all the
>                      PowerPC 601 processors.
>                 603
>                      Produces an object optimized for all the
>                      PowerPC 603 processors.
>                 604
>                      Produces an object optimized for all the
>                      PowerPC 604 processors.
>                 pwr
>                      Produces an object optimized for the POWER
>                      hardware platforms.
>                 p2sc
>                      The optimizations are tuned for the POWER2
>                      Super Chip.
>                 pwr2
>                      Produces an object optimized for the POWER2
>                      hardware platforms.
>                 pwrx
>                      This is equivalent to pwr2.
>                 pwr2s
>                      The optimizations are tuned for the desktop
>                      implementation of the POWER2 architecture,
>                      which has a narrower processor-to-memory bus
>                      than other POWER2 implementations.
>                 pwr3
>                      Produces an object optimized for the POWER3
>                      hardware platforms.
>                 pwr4
>                      Produces an object optimized for the POWER4
>                      hardware platforms.
>                 pwr5
>                      Produces an object optimized for the POWER5
>                      hardware platforms.
>                 rs64a
>                      Produces an object optimized for the RS64I
>                      processor.
>                 rs64b
>                      Produces an object optimized for the RS64II
>                      processor.
>                 rs64c
>                      Produces an object optimized for the RS64III
>                      processor.
>                 ppc970
>                      Produces an object optimized for PowerPC 970
>                      processors.
> 
>                 The compiler uses -qtune setting that is compatible
>                 with the target architecture, which is controlled
>                 by the -qarch, -q32, and -q64 options.  The default
>                 setting is determined by the setting of -qarch.
> 
>          -qunroll[={auto|yes}] | -qnounroll
>                 Specifies whether unrolling DO loops is allowed in
>                 a program. Unrolling is allowed on outer and inner
>                 DO loops.  The suboptions are:
> 
>                 auto
>                      The compiler performs basic loop unrolling.
>                 yes
>                      The compiler looks for more opportunities to
>                      perform loop unrolling than is done with the
>                      -qunroll=auto option. Specifying -qunroll with
>                      no suboptions is equivalent to -qunroll=yes.
> 
>                 The default is -qunroll=auto.
> 
>          -qunwind | -qnounwind
>                 Specifies that the compiler will preserve the
>                 default behavior for saves and restores to volatile
>                 registers during a procedure call.  If you specify
>                 -qnounwind, the compiler rearranges subprograms to
>                 minimize saves and restores to volatile registers.
>                 This rearrangement may make it impossible for the
>                 program or debuggers to walk through or "unwind"
>                 subprogram stack frame chains.  The default is
>                 -qunwind.
> 
>          -qvecnvol | -qnovecnvol
>                 Asserts that the compiled application will use both
>                 volatile and non-volatile vector registers. You
>                 should use this option only after understanding
>                 interoperability with old binaries. If you are
>                 compiling C/C++ code in Fortran which calls any of
>                 the following subroutines: setjmp(),longjmp(),
>                 sigsetjmp(), siglongjmp(), _setjmp(), _longjmp(),
>                 getcontext(), setcontext(), makecontext(), and
>                 swapcontext(), then you should set -qnovecnvol.
>                 bos.adt.include version 5.3.0.30 or greater should
>                 be installed to use -qvecnvol on the host system.
>                 The default is -qnovecnvol.
> 
>          -qzerosize | -qnozerosize
>                 Improves performance of Fortran 77 and some Fortran
>                 90 and Fortran 95 programs by preventing checking
>                 for zero-sized character strings and arrays.
>                 For the xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r,
>                 xlf95_r7, f90, and f95 commands, the default is
>                 -qzerosize.  For the xlf, xlf_r, xlf_r7, f77, and
>                 fort77 commands, the default is -qnozerosize.
> 
>   Error Checking and Debugging Options
>          -C     Checks each reference to an array element, array
>                 section, or character substring for correctness.
>                 This is the short form of -qcheck.
> 
>          -D     Specifies whether the compiler compiles fixed
>                 source form lines with a D in column 1 or treats
>                 them as comments. Please note that in order to pass
>                 C-style -D macro definitions to the C preprocessor
>                 (e.g. compiling a file that ends with .F) use the
>                 -W option. For example:
>                 -WF,-DDEFINE_THIS
>                 -D is the short form of -qdlines.
> 
>          -g     Generates debug information for use by a symbolic
>                 debugger.
> 
>          -qcheck | -qnocheck
>                 The long form of the -C option. See -C for details.
>                 The default is -qnocheck.
> 
>          -qdbg | -qnodbg
>                 The long form of the -g option. See -g for details.
>                 The default is -qnodbg.
> 
>          -qdpcl | -qnodpcl
>                 Generates symbols that tools based on the Dynamic
>                 Probe Class Library (DPCL) API can use to see the
>                 structure of an executable file. You must also
>                 specify the -g option when you specify -qdpcl.
>                 This option has no effect when optimization (-O) is
>                 enabled. The default is -qnodpcl.
> 
>          -qextchk | -qnoextchk
>                 Sets up type-checking information for common
>                 blocks, procedure definitions, procedure
>                 references, and module data. Later, the linker can
>                 detect mismatches across compilation units using
>                 this information.  The default is -qnoextchk.
> 
>          -qflttrap[=<suboptions_list>] | -qnoflttrap
>                 Determines what types of floating-point exception
>                 conditions to detect at run time. The program
>                 receives a SIGTRAP signal when the corresponding
>                 exception occurs.  <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 enable
>                      Turn on checking for the specified exceptions
>                      in the main program so that the exceptions
>                      generate SIGTRAP signals.
>                 imprecise
>                      Only check for the specified exceptions on
>                      subprogram entry and exit.
>                 inexact
>                      Detect and trap on floating-point inexact, if
>                      exception checking is enabled.
>                 invalid
>                      Detect and trap on floating-point invalid
>                      operations.
>                 nanq
>                      Detect and trap all quiet not-a-number (NaNQ)
>                      values and signaling not-a-number (NaNS)
>                      values.
>                 overflow
>                      Detect and trap on floating-point overflow.
>                 underflow
>                      Detect and trap on floating-point underflow.
>                 zerodivide
>                      Detect and trap on floating-point division by
>                      zero.
> 
>                 The default is -qnoflttrap. When -qflttrap is
>                 specified with no suboptions, the default activated
>                 suboptions are: overflow, underflow, zerodivide,
>                 invalid, and inexact.
> 
>          -qfullpath | -qnofullpath
>                 Records the full (or absolute) path names of source
>                 and include files in object files compiled with
>                 debugging information (-g option).  The default is
>                 -qnofullpath.
> 
>          -qhalt=<sev>
>                 Stops before producing any object, executable, or
>                 assembler source files if the maximum severity of
>                 compile-time messages equals or exceeds the
>                 specified severity <sev>, where the severity levels
>                 are:
> 
>                 i = informational messages
>                 l = language-level messages
>                 w = warning messages
>                 e = error messages
>                 s = severe error messages
>                 u = unrecoverable error messages
>                 q = no messages
> 
>                 The default is -qhalt=s.
> 
>          -qinitauto[=<hex_value>] | -qnoinitauto
>                 Initializes each byte or word (4 bytes) of storage
>                 for automatic variables to a specific value,
>                 depending on the length specified in <hex_value>.
>                 This helps you to locate variables that are
>                 referenced before they are defined. <hex_value> is
>                 a 1 to 8 digit hexadecimal number.  The default is
>                 -qnoinitauto. If you specify -qinitauto without a
>                 <hex_value>, the compiler initializes the value of
>                 each byte of automatic storage to zero. This option
>                 should be used for debugging purposes only.
> 
>          -qlanglvl=<suboption>
>                 Determines which language standard (or
>                 subset/superset of a standard) to check against for
>                 nonconformance. This option will only produce
>                 messages; all code valid in extended mode will
>                 compile regardless of which suboption is specified.
>                 The suboptions are:
> 
>                 77std
>                      Accepts the language specified by the ANSI
>                      Fortran 77 standard.
>                 90std
>                      Accepts the language specified by the ISO
>                      Fortran 90 standard.
>                 90pure
>                      Same as 90std, except that it reports errors
>                      for any obsolescent Fortran 90 features used.
>                 90ext
>                      Obsolete suboption that is equivalent to
>                      extended.
>                 95std
>                      Accepts the language specified by the ISO
>                      Fortran 95 standard.
>                 95pure
>                      Same as 95std, except that it also reports
>                      errors for any obsolescent Fortran 95 features
>                      used.
>                 2003std
>                      Accepts the language that the ISO Fortran 95
>                      standard specifies, as well as all Fortran
>                      2003 features supported by XL Fortran, and
>                      reports anything else as an error.
>                 2003pure
>                      The same as 2003std except that it also
>                      reports errors for any obsolescent Fortran
>                      2003 features used.
>                 extended
>                      Accepts the full Fortran 95 language standard,
>                      all Fortran 2003 features supported by XL
>                      Fortran, and all extensions, effectively
>                      turning off language-level checking.
> 
>                 The default is -qlanglvl=extended.
> 
>          -qlinedebug | -qnolinedebug
>                 Generates line number and source file name
>                 information for the debugger. This option produces
>                 minimal debugging information, so the resulting
>                 object size is smaller than what is produced if the
>                 -g debugging option is specified. The default is
>                 -qnolinedebug.
> 
>          -qobject | -qnoobject
>                 Specifies whether to produce an object file or to
>                 stop immediately after checking the syntax of the
>                 source files.  The default is -qobject.
> 
>          -qsaa | -qnosaa
>                 Checks for conformance to the SAA Fortran language
>                 definition. It identifies nonconforming source code
>                 and also options that allow such nonconformances.
>                 The default is -qnosaa.
> 
>          -qsaveopt | -qnosaveopt
>                 Saves the command-line options used for compiling a
>                 source file, and other information, in the
>                 corresponding object file. The compilation must
>                 produce an object file for this option to take
>                 effect.  The default is -qnosaveopt.
> 
>          -qsigtrap[=<trap_handler>]
>                 When you are compiling a file that contains a main
>                 program, this option sets up the specified trap
>                 handler to catch SIGTRAP exceptions. This option
>                 enables you to install a handler for SIGTRAP
>                 signals without calling the SIGNAL subprogram in
>                 the program. Specifying -qsigtrap with no
>                 <trap_handler> is equivalent to -qsigtrap=xl__trce.
> 
>          -qtbtable=<suboption>
>                 Limits the amount of debugging traceback
>                 information in object files, which reduces the size
>                 of the program. The suboptions are:
> 
>                 none
>                      Includes no traceback information.
>                 small
>                      Includes traceback information but not the
>                      names of procedures or information about
>                      procedure parameters.
>                 full
>                      Includes complete traceback information.
> 
>                 The default is full traceback information in the
>                 object file when compiling non-optimized (without
>                 -O) or for debugging (with -g).  Otherwise, the
>                 default is -qtbtable=small.
> 
>          -qwarn64 | -qnowarn64
>                 Assists in porting code from a 32-bit environment
>                 to a 64-bit environment by detecting the truncation
>                 of an 8-byte integer pointer to 4 bytes. The
>                 -qwarn64 option uses informational messages to
>                 identify statements that may cause problems with
>                 the 32-bit to 64-bit migration.  The default is
>                 -qnowarn64.
> 
>          -qxflag=<suboption>
>                 Specifies rarely-needed compiler behaviors.  The
>                 suboptions are:
> 
>                 oldtab
>                      For fixed source form programs, interprets a
>                      tab in columns 1 to 5 as a single character.
>                      The source statement still starts immediately
>                      after the tab, but the tab character is
>                      treated as a single character for counting
>                      columns. This setting allows up to 71
>                      characters of input, depending on where the
>                      tab character occurs.
>                 dvz
>                      Specifying -qxflag=dvz causes the compiler to
>                      generate code to detect floating-point
>                      divide-by-zero operations. With this option
>                      on, the extra code calls the external handler
>                      function __xl_dzx when the divisor is zero.
>                 xalias
>                      This is obsolete. Please use -qalias=nostd in
>                      your new applications.
> 
>          -qxlines | -qnoxlines
>                 Specifies whether fixed source form lines with a X
>                 in column 1 are compiled or treated as comments.
>                 The default is -qnoxlines.
> 
>   Listing and Message Options
>          -#     Generates information on the progress of the
>                 compilation without actually running the individual
>                 components.
> 
>          -S     Produces one or more .s files, showing equivalent
>                 assembler source for each Fortran source file.
> 
>          -V     Generates information on the progress of the
>                 compilation. As the compiler executes commands to
>                 perform different compilation steps, this option
>                 displays a simulation of the commands it calls and
>                 the system argument lists it passes. This is the
>                 same as -v except that you can cut and paste
>                 directly from the display to create a command.
> 
>          -v     Generates information on the progress of the
>                 compilation. As the compiler executes commands to
>                 perform different compilation steps, this option
>                 displays a simulation of the commands it calls and
>                 the system argument lists it passes.
> 
>          -w     Suppresses informational, language-level, and
>                 warning messages. This option sets -qflag=e:e.
> 
>          -qattr[=full] | -qnoattr
>                 Specifies whether to produce the attribute
>                 component of the attribute and cross-reference
>                 section of the listing.  The listing contains all
>                 identifiers (-qattr=full) or only the names that
>                 are referenced (-qattr).  The default is -qnoattr.
> 
>          -qflag=<listing_severity>:<terminal_severity>
>                 Specifies the minimum severity level of diagnostic
>                 messages to be written to the listing file and to
>                 the user terminal. <listing_severity> determines
>                 the minimum level for the listing file, and
>                 <terminal_severity> determines the minimum level
>                 for the terminal.  The severity levels are:
> 
>                 i = informational messages
>                 l = language-level messages
>                 w = warning messages
>                 e = error messages
>                 s = severe error messages
>                 u = unrecoverable error messages
>                 q = no messages
> 
>                 Note that both <listing_severity> and
>                 <terminal_severity> must be specified.  The default
>                 is -qflag=i:i.
> 
>          -qlist[={offset|nooffset}] | -qnolist
>                 Produces a compiler listing that includes an object
>                 listing. You can use the object listing to help
>                 understand the performance characteristics of the
>                 generated code and to diagnose execution problems.
>                 Specifying -qlist with no suboptions is equivalent
>                 to specifying -qlist=nooffset.  The default is
>                 -qnolist.
> 
>          -qlistopt | -qnolistopt
>                 Determines whether to show the setting of every
>                 compiler option in the listing file or only
>                 selected options. These selected options include
>                 those specified on the command line or directives
>                 plus some that are always put in the listing.  The
>                 default is -qnolistopt.
> 
>          -qnoprint
>                 Prevents the compiler from creating the listing
>                 file, regardless of the settings of other listing
>                 options.
> 
>          -qphsinfo | -qnophsinfo
>                 Determines whether timing information is displayed
>                 on the terminal for each compiler phase.  The
>                 output takes the form <number1>/<number2> for each
>                 phase where <number1> represents the CPU time used
>                 by the compiler and <number2> represents the total
>                 of the compiler time and the time that the CPU
>                 spends handling system calls.  The default is
>                 -qnophsinfo.
> 
>          -qreport[=<suboptions>] | -qnoreport
>                 Determines whether to produce transformation
>                 reports showing how the program is parallelized and
>                 how loops are optimized.  The suboptions are:
> 
>                 hotlist
>                      Produces a report showing how loops are
>                      transformed.
>                 smplist
>                      Produces a report showing how the program is
>                      parallelized.
> 
>                 The default is -qnoreport.
> 
>          -qsource | -qnosource
>                 Determines whether to produce the source section of
>                 the listing.  The default is -qnosource.
> 
>          -qsuppress[={<msg_nums_list>|cmpmsg}] | -qnosuppress
>                 Determines which messages to suppress from the
>                 output stream.  The suboptions are:
> 
>                 <msg_nums_list>
>                      A colon-separated list of 7-digit compiler
>                      message numbers.
>                 cmpmsg
>                      Suppresses the informational messages that
>                      report compilation progress and a successful
>                      completion.
> 
>                 The default is -qnosuppress.
> 
>          -qversion
>                 Displays the version and release of the invoking
>                 compiler. Specify this option on its own with the
>                 compiler command.
> 
>          -qxref[=full] | -qnoxref
>                 Determines whether to produce the cross-reference
>                 component of the attribute and cross-reference
>                 section of the listing.  If you specify only
>                 -qxref, only identifiers that are used are
>                 reported. If you specify -qxref=full, the listing
>                 contains information about all identifiers that
>                 appear in the program, whether they are used or
>                 not.  The default is -qnoxref.
> 
>   Compatibility Options
>          -1     Executes each DO loop in the compiled program at
>                 least once if its DO statement is executed, even if
>                 the iteration count is 0. This option provides
>                 compatibility with Fortran 66. The default is to
>                 follow the behavior of later Fortran standards,
>                 where DO loops are not performed if the iteration
>                 count is 0. This is the short form of the -qonetrip
>                 option.
> 
>          -u     Specifies that no implicit typing of variable names
>                 is permitted. It has the same effect as using the
>                 IMPLICIT NONE statement in each scope that allows
>                 implicit statements. By default, implicit typing is
>                 allowed.
> 
>          -qautodbl=<setting>
>                 Converts single-precision floating-point
>                 calculations to double-precision or converts
>                 double-precision calculations to extended-
>                 precision.  <setting> can be:
> 
>                 none
>                      Does not promote or pad any objects that share
>                      storage.
>                 dbl4
>                      Promotes floating-point objects that are
>                      single precision or are composed of such
>                      objects.
>                 dbl8
>                      Promotes floating-point objects that are
>                      double-precision or are composed of such
>                      objects.
>                 dbl
>                      Combines the promotions done by dbl4 and dbl8.
>                 dblpad4
>                      Performs the same promotions as dbl4, and pads
>                      objects of other types (except CHARACTER) that
>                      can share storage with promoted objects.
>                 dblpad8
>                      Performs the same promotions as dbl8, and also
>                      pads objects of other types (except CHARACTER)
>                      if they can share storage with promoted
>                      objects.
>                 dblpad
>                      Combines the promotions done by dbl4 and dbl8,
>                      and also pads objects of other types (except
>                      CHARACTER) if they can share storage with
>                      promoted objects.
> 
>                 The default is -qautodbl=none.
> 
>          -qcclines | -qnocclines
>                 Enables recognition of conditional compilation
>                 lines in fixed source form and F90 free source
>                 form. IBM free source form is not supported.  The
>                 default is -qcclines if -qsmp=omp is specified.
>                 Otherwise, the default is -qnocclines.
> 
>          -qctyplss[={arg|noarg}] | -qnoctyplss
>                 Specifies whether character constant expressions
>                 are allowed wherever typeless constants may be
>                 used. Specifying -qctyplss=arg allows character
>                 constant expressions, but if a Hollerith constant
>                 is used as an actual argument, it is passed to the
>                 procedure as if it was an integer actual argument.
>                 The default is -qnoctyplss. If -qctypless is
>                 specified with no suboption, the default is
>                 -qctyplss=noarg.
> 
>          -qddim | -qnoddim
>                 Specifies that the bounds of pointee arrays are
>                 re-evaluated each time the arrays are referenced
>                 and removes some restrictions on the bounds
>                 expressions for pointee arrays.  The default is
>                 -qnoddim.
> 
>          -qdpc[=<e>] | -qnodpc
>                 Increases the precision of real constants, for
>                 maximum accuracy, when assigning real constants to
>                 DOUBLE PRECISION variables. -qdpc=<e> also promotes
>                 constants with an <e> exponent.  The default is
>                 -qnodpc.
> 
>          -qescape | -qnoescape
>                 Specifies whether the backslash is treated as an
>                 escape character in character strings, Hollerith
>                 constants, H edit descriptors, and character string
>                 edit descriptors.  The default is -qescape.
> 
>          -qextern=<procedure_names_list>
>                 Allows user-written procedures to be called instead
>                 of XL Fortran intrinsics. <procedure_names_list> is
>                 a colon-separated list of procedure names.  The
>                 procedure names are treated as if they appear in an
>                 EXTERNAL statement in each compilation unit being
>                 compiled.
> 
>          -qextname[=<names_list>] | -qnoextname
>                 Adds an underscore to the names of all global
>                 entities, which helps in porting programs from
>                 systems where this is a convention for mixed-
>                 language programs. <names_list> is a colon-
>                 separated list of global entity names.  The default
>                 is -qnoextname.
> 
>          -qinit=f90ptr
>                 Makes the initial association status of pointers
>                 disassociated instead of undefined. The default
>                 association status of pointers is undefined.
> 
>          -qintlog | -qnointlog
>                 Allows mixture of integer and logical data entities
>                 in expressions and statements. The default is
>                 -qnointlog.
> 
>          -qintsize={2|4|8}
>                 Sets the size (in bytes) of default INTEGER and
>                 LOGICAL data entities (that is, those for which no
>                 length or kind is specified).  The default is
>                 -qintsize=4.
> 
>          -qlog4 | -qnolog4
>                 Specifies whether the result of a logical operation
>                 with logical operands is a LOGICAL(4) or is a
>                 LOGICAL with the maximum length of the operands.
>                 The default is -qnolog4.
> 
>          -qmodule=mangle81
>                 Specifies that the compiler should use the XL
>                 Fortran Version 8.1 naming convention for non-
>                 intrinsic module files. This option allows you to
>                 produce modules and their associated object files
>                 with the Version 10.1 compiler and link these
>                 object files with others compiled with the Version
>                 8.1 compiler, or earlier.
> 
>          -qnullterm | -qnonullterm
>                 Appends a null character to each character constant
>                 expression that is passed as a dummy argument, to
>                 make it more convenient to pass strings to C
>                 functions. The default is -qnonullterm.
> 
>          -qonetrip | -qnoonetrip
>                 The long form of the -1 option. See -1 for details.
>                 The default is -qnoonetrip.
> 
>          -qport=<suboption> | -qnoport
>                 Increases flexibility when porting programs to XL
>                 Fortran, providing a number of options to
>                 accommodate Fortran language extensions.  The
>                 suboptions are:
> 
>                 clogicals | noclogicals
>                      Allows non-zero integers to be treated as true
>                      when used as logicals. The change affects all
>                      logical operators. This suboption only takes
>                      effect if -qintlog is activated.  The default
>                      is noclogicals.
>                 hexint | nohexint
>                      Specifies that typeless constant hexadecimal
>                      strings are converted to integers when passed
>                      as actual arguments to the INT intrinsic
>                      function. Typeless constant hexadecimal
>                      strings which are not passed as actual
>                      arguments to INT remain unaffected.  The
>                      default is nohexint.
>                 mod | nomod
>                      Relaxes existing constraints on the MOD
>                      intrinsic function, allowing two arguments of
>                      the same data type parameter to be of
>                      different kind type parameters. The result
>                      will be of the same type as the argument, but
>                      with the larger kind type parameter value.
>                      The default is nomod.
>                 nullarg | nonullarg
>                      For an external or internal procedure
>                      reference, this causes the compiler to treat
>                      an empty argument (which is delimited by a
>                      left parenthesis and a comma, two commas, or a
>                      comma and a right parenthesis) as a null
>                      argument. This suboption has no effect if the
>                      argument list is empty.  The default is
>                      nonullarg.
>                 sce | nosce
>                      By default, the compiler performs short
>                      circuit evaluation in selected logical
>                      expressions using XL Fortran rules. Specifying
>                      'sce' allows the compiler to use non-XL
>                      Fortran rules. The compiler will perform short
>                      circuit evaluation if the current rules allow
>                      it.  The default is nosce.
>                 typestmt | notypestmt
>                      The TYPE statement, which behaves in a manner
>                      similar to the PRINT statement, is supported
>                      whenever this option is specified. The default
>                      is notypestmt.
>                 typlssarg | notyplssarg
>                      Converts all typeless constants to default
>                      integers if the constants are actual arguments
>                      to an intrinsic procedure whose associated
>                      dummy arguments are of integer type. Dummy
>                      arguments associated with typeless actual
>                      arguments of non-integer type remain
>                      unaffected by this option.  The default is
>                      notyplssarg.
> 
>                 The default is -qnoport.
> 
>          -qposition={appendold|appendunknown}
>                 Positions the file pointer at the end of the file
>                 when data is written after an OPEN statement with
>                 no "POSITION=" specifier, and the corresponding
>                 "STATUS=" value (OLD or UNKNOWN) is specified.  The
>                 default depends on the I/O specifiers in the OPEN
>                 statement and on the compiler invocation command.
>                 The default is -qposition=appendold for the xlf,
>                 xlf_r, xlf_r7, and f77/fort77 commands and the
>                 defined Fortran 90 and Fortran 95 behaviors for the
>                 xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r, xlf95_r7,
>                 f90 and f95 commands.
> 
>          -qqcount | -qnoqcount
>                 Accepts the character-count Q edit descriptor (Q)
>                 as well as the extended-precision Q edit descriptor
>                 (Qw.d). With -qnoqcount, all Q edit descriptors are
>                 interpreted as the extended-precision Q edit
>                 descriptor.  The default is -qnoqcount.
> 
>          -qrealsize=<bytes>
>                 Sets the default size of REAL, DOUBLE PRECISION,
>                 COMPLEX and DOUBLE COMPLEX values. The allowed
>                 values for <bytes> are 4 and 8.  The default is
>                 -qrealsize=4.
> 
>          -qsave[=<suboption>] | -qnosave
>                 Specifies the default storage class for local
>                 variables.  The suboptions are:
> 
>                 all
>                      The default storage class for all local
>                      variables is STATIC. This is the default when
>                      -qsave is specified without a suboption.
>                 defaultinit
>                      The default storage class is STATIC for local
>                      variables of derived type that have default
>                      initialization specified.
> 
>                 Specifying -qnosave sets the default storage class
>                 to AUTOMATIC.  The default is -qsave for xlf,
>                 xlf_r, xlf_r7, f77, or fort77 to duplicate the
>                 behavior of FORTRAN77 commands, and -qnosave
>                 otherwise.
> 
>          -qsclk[=<suboption>]
>                 Specifies the resolution that the SYSTEM_CLOCK
>                 intrinsic procedure uses in a program.  The
>                 suboptions are:
> 
>                 centi
>                      Uses centisecond resolution for the values
>                      returned.
>                 micro
>                      Uses microsecond resolution.
> 
>                 The default is -qsclk=centi.
> 
>          -qswapomp | -qnoswapomp
>                 Specifies that the compiler should recognize and
>                 substitute OpenMP routines in XL Fortran programs.
>                 The default is -qswapomp.
> 
>          -qundef | -qnoundef
>                 The long form of the -u option. See -u for details.
>                 The default is -qnoundef.
> 
>          -qxlf77=<settings_list>
>                 Provides compatibility with Fortran 77 aspects of
>                 language semantics and I/O data format that have
>                 changed. Most of these changes are required by the
>                 Fortran 90 standard. <settings_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 blankpad | noblankpad
>                      For internal, direct-access, and stream-access
>                      files, uses a default setting equivalent to
>                      pad='no'. This setting produces conversion
>                      errors when reading from such a file if the
>                      format requires more characters than the
>                      record has, thus duplicating the XL Fortran
>                      Version 2 behavior.
>                 gedit77 | nogedit77
>                      Uses Fortran 77 semantics for the output of
>                      REAL objects with the G edit descriptor.
>                 intarg | nointarg
>                      Converts all the integer arguments of an
>                      intrinsic procedure to the kind of the longest
>                      argument, if they are of different kinds.
>                 intxor | nointxor
>                      Treats .XOR. as a logical binary intrinsic
>                      operator rather than a defined operator.
>                 leadzero | noleadzero
>                      Produces a leading zero in real output under
>                      the D, E, L, F and Q edit descriptors.
>                 oldboz | nooldboz
>                      Turns blanks into zeros for data read by B, O,
>                      and Z edit descriptors, regardless of the
>                      "BLANK=" specifier or any BN or BZ control
>                      edit descriptors.
>                 persistent | nopersistent
>                      Saves the addresses of arguments to
>                      subprograms with ENTRY statements in static
>                      storage.
>                 softeof | nosofteof
>                      Allows READ and WRITE operations when a unit
>                      is positioned after its endfile record, unless
>                      that position is the result of executing an
>                      ENDFILE statement.
> 
>                 The default suboptions are: blankpad, nogedit77,
>                 nointarg, nointxor, leadzero, nooldboz,
>                 nopersistent, and nosofteof for the f90, xlf90,
>                 xlf90_r, xlf90_r7, f95, xlf95, xlf95_r, and
>                 xlf95_r7 commands, and are the exact opposite for
>                 the xlf, xlf_r, xlf_r7, f77, and fort77 commands.
> 
>          -qxlf90=<settings_list>
>                 Provides backward compatibility with XL Fortran for
>                 AIX Version 5 and the Fortran 90 standard for
>                 certain aspects of the Fortran language.
>                 <settings_list> is a colon-separated list of one or
>                 both of the following suboptions:
> 
>                 signedzero | nosignedzero
>                      Determines how the SIGN(A,B) function handles
>                      signed real 0.0. Prior to XL Fortran Version
>                      6.1, SIGN(A,B) returned |A| when B=-0.0. This
>                      behavior conformed with the Fortran 90
>                      standard. Now, if you specify the
>                      -qxlf90=signedzero compiler option, SIGN(A,B)
>                      returns -|A| when B=-0.0. This behavior
>                      conforms to the Fortran 95 standard and is
>                      consistent with the IEEE standard for binary
>                      floating-point arithmetic.
>                 autodealloc | noautodealloc
>                      Determines whether the compiler deallocates
>                      allocatable objects that are declared locally
>                      without either the SAVE or the STATIC
>                      attribute and have a status of currently
>                      allocated when the subprogram terminates.
> 
>                 The default suboptions are signedzero and
>                 autodealloc for the xlf95, xlf95_r, xlf95_r7 and
>                 f95 invocation commands. For all other invocation
>                 commands, the default suboptions are nosignedzero
>                 and noautodealloc.
> 
>   Linking Options
>          -b64   The AIX operating system provides 64-bit shared
>                 object files in both libc.a and libm.a. In 64-bit
>                 mode, you can use the -b64 linker option to
>                 instruct ld to bind with 64-bit objects.
> 
>          -bdynamic, -bshared, -bstatic
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 This is available on AIX 4.2 and above.
> 
>                 -bdynamic
>                      Specifies that shared objects are linked
>                      dynamically.
>                 -bshared
>                      Equivalent to -bdynamic.
>                 -bstatic
>                      Specifies that shared objects are statically
>                      linked into the output file.
> 
>                 The default is -bdynamic.
> 
>          -bhalt:<error_level>
>                 Specifies the maximum error level that is allowed
>                 before the linker (ld) command halts. If any linker
>                 command has an error return value greater than the
>                 value that is specified by the <error_level>
>                 variable, linking stops.  The default value is 4,
>                 as specified in the configuration file.
> 
>          -bloadmap:<filename>
>                 Requests that a log of linker actions and messages
>                 be saved in file <filename>. You can use the log to
>                 help diagnose linking problems.
> 
>          -bmaxdata=<bytes>
>                 Specifies the maximum amount of space to reserve
>                 for the program data segment for programs where the
>                 size of these regions is a constraint.  The default
>                 is -bmaxdata=0.
> 
>          -bmaxstack:<bytes>
>                 Specifies the maximum amount of space to reserve
>                 for the program stack segment for programs where
>                 the size of these regions is a constraint.
> 
>          -brtl | -bnortl
>                 Determines which algorithm will be used to find
>                 libraries that are specified with the -l option. If
>                 -brtl is specified, run-time linking is enabled.
> 
>          -bshared
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 See "-bdynamic, -bshared, -bstatic" for details.
>                 This is equivalent to -bdynamic.
> 
>          -bstatic
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 See "-bdynamic, -bshared, -bstatic" for details.
> 
>          -L<dir>
>                 Searches in directory <dir> for libraries specified
>                 by -l<key>.
> 
>          -l<key>
>                 Searches the specified library file at link time,
>                 where <key> selects the library lib<key>.a.
> 
>   Compiler Customization Options
>          -B<prefix>
>                 Determines a substitute path name for executable
>                 files used during compilation, such as the compiler
>                 of linker. <prefix> is the name of a directory
>                 where the alternative executable files reside. It
>                 is added to the beginning of the standard program
>                 names and must end in a slash (/). This option can
>                 be used in combination with the -t option, which
>                 determines which of these components are affected
>                 by -B.
> 
>          -F[<config_file>][:<stanza>]
>                 Specifies an alternative configuration file
>                 <config_file>, the command to be used (<stanza>)
>                 within the configuration file, or both. At least
>                 one of the arguments must be supplied.  The default
>                 stanza depends on the name of the command used to
>                 invoke the compiler.
> 
>          -P{v|k}[!]
>                 This option is obsolete and has no effect. Invokes
>                 the selected optimizing preprocessor.
> 
>          -P     Invokes the -Pv preprocessor before the compiler.
> 
>          -Pv    Invokes the -Pv preprocessor before the compiler.
> 
>          -Pk    Invokes the -Pk preprocessor before the compiler.
> 
>          -P!    Invokes the -Pv preprocessor only.
> 
>          -Pv!   Invokes the -Pv preprocessor only.
> 
>          -Pk!   Invokes the -Pk preprocessor only.
> 
>          -t<components_list>
>                 Applies the prefix from the -B option to the
>                 specified program, <components_list>, where
>                 <components_list> is a chain (with no separator
>                 character inbetween each <component>, ie: "-taFp")
>                 containing one or more of the following:
> 
>                 COMPONENT NAME           <component>       PROGRAM
>                 assembler                 a                as
>                 C preprocessor            F                cpp
>                 VAST-2 preprocessor       p                fpp
>                 KAP preprocessor          p                fppk
>                 compiler front end        c                xlfentry
>                 array language optimizer  h                xlfhot
>                 IPA/loop optimizer        I (upper-case i) ipa
>                 code generator            b                xlfcode
>                 binder                    z                bolt
>                 linker                    l (lower-case L) ld
>                 disassembler              d                dis
> 
>          -W<component>,<options_list>
>                 Passes the listed options to a component that is
>                 executed during compilation. <options_list> is a
>                 comma-separated list of one or more options, and
>                 <component> is one of the following:
> 
>                 COMPONENT NAME           <component>       PROGRAM
>                 assembler                 a                as
>                 C preprocessor            F                cpp
>                 VAST-2 preprocessor       p                fpp
>                 KAP preprocessor          p                fppk
>                 compiler front end        c                xlfentry
>                 array language optimizer  h                xlfhot
>                 IPA/loop optimizer        I (upper-case i) ipa
>                 code generator            b                xlfcode
>                 binder                    z                bolt
>                 linker                    l (lower-case L) ld
>                 disassembler              d                dis
> 
>   Integer and Floating-Point Options
>          -y<rounding_mode>
>                 Specifies compile-time rounding of constant
>                 floating-point expressions. It is equivalent to the
>                 -qieee option. <rounding_mode> is one of the
>                 following:
> 
>                 n = Round to nearest
>                 m = Round toward minus infinity
>                 p = Round toward plus infinity
>                 z = Round toward zero
> 
>                 The default is -yn.
> 
>          -qfloat=<suboptions_list>
>                 Determines different strategies for speeding up or
>                 improving the accuracy of floating-point
>                 calculations. <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 fltint | nofltint
>                      Speeds up floating-point-to-integer
>                      conversions by using an inline sequence of
>                      code instead of a call to a library function.
>                 fold | nofold
>                      Evaluates constant floating-point expressions
>                      at compile time.
>                 hsflt | nohsflt
>                      Speeds up calculations by removing range-
>                      checking on single-precision float results,
>                      and on conversions from floating-point to
>                      integer.
>                 hssngl | nohssngl
>                      Speeds up calculations in a safer way than
>                      hsflt, by rounding single-precision
>                      expressions only when the results are stored
>                      into REAL(4) memory locations
>                 maf | nomaf
>                      Generates multiply-add instructions where
>                      appropriate.
>                 nans | nonans
>                      Allows you to use the -qflttrap=invalid:enable
>                      option to detect and deal with exception
>                      conditions that involve signaling NaN (not-a-
>                      number) values.
>                 rndsngl | norndsngl
>                      Rounds the result of each single-precision
>                      (REAL(4)) operation to single-precision,
>                      rather than waiting until the full expression
>                      is evaluated. It sacrifices speed for
>                      consistency with results from similar
>                      calculations on other types of computers.
>                 rrm | norrm
>                      Turns off compiler optimizations that require
>                      the rounding mode to be the default, round-
>                      to-nearest, at run time.
>                 rsqrt | norsqrt
>                      Allows the optimizer to change a division by
>                      the result of a square root operation into a
>                      multiply by the reciprocal of the square root.
>                 strictnmaf | nostrictnmaf
>                      Turns off floating-point transformations that
>                      are used to introduce negative MAF
>                      instructions, as these transformations do not
>                      preserve the sign of a zero value.
>                 The default active suboptions are: nofltint, fold,
>                 nohsflt, nohssngl, maf, nonans, norelax, norndsngl,
>                 norrm, norsqrt, and nostrictnmaf.
> 
>          -qieee=<mode>
>                 Specifies the rounding mode for the compiler to use
>                 when evaluating constant floating-point expressions
>                 at compile time, where <mode> is one of:
> 
>                 near = Round to nearest representable number
>                 minus = Round toward minus infinity
>                 plus = Round toward plus infinity
>                 zero = Round toward zero
> 
>                 The default is -qieee=near.
> 
>          -qstrictieeemod | -qnostrictieeemod
>                 Specifies that the compiler will adhere to the
>                 Fortran 2003 IEEE arithmetic rules for the
>                 ieee_arithmetic and ieee_exceptions intrinsic
>                 modules.  The default is -qstrictieeemod.
> 
>   SEE ALSO
>          xlfndi(1), showpdf(1), cleanpdf(1), mergepdf(1),
>          resetpdf(1)
> 
>          For more information, refer to the following Web sites:
>          www.ibm.com/software/awdtools/fortran/xlfortran/library/
>          www.ibm.com/software/awdtools/fortran/xlfortran/support/
> 
>   COPYRIGHT
>          Licensed Materials - Property of IBM
> 
>          IBM(R) XL Fortran Enterprise Edition V10.1 for AIX(R)
> 
>          5724-M13
> 
>          (C) Copyright IBM Corp. 1991, 2005, and by others. All
>          Rights Reserved.
> 
>          IBM and AIX are trademarks or registered trademarks of IBM
>          Corp. in the U.S., other countries or both.
> 
>          US Government Users Restricted Rights - Use, duplication
>          or disclosure restricted by GSA ADP Schedule Contract with
>          IBM Corp.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> configure:1777: $? = 249
> configure:1784: f77 -v >&5
> exec: export(export,XL_CONFIG=/etc/xlf.cfg:f77,NULL) 
> exec: pg(pg,/usr/lpp/xlf/bin/default_msg/xlf.txt,NULL) 
> 
> 
> 
>   xlf(1)                 IBM (October 2005)                  xlf(1)
> 
> 
> 
>   NAME
>          xlf, xlf90, xlf95, xlf_r, xlf90_r, xlf95_r, f90, f95,
>          xlf_r7, xlf90_r7, xlf95_r7, f77, fort77 - invoke the IBM
>          XL Fortran compiler
> 
>   SYNTAX
>          <invocation-command> [ <option> | <inputfile> ] ...
> 
>   DESCRIPTION
>          xlf and related invocation commands compile Fortran source
>          files.  They also process assembler source files and
>          object files. Unless you specify the -c option, these
>          commands call the link editor to produce a single object
>          file.
> 
>          The main difference between these commands is that they
>          use different default options (which are set in the
>          configuration file /etc/xlf.cfg).  For more information,
>          refer to the XL Fortran Enterprise Edition Compiler
>          Reference.
> 
>          The input file may have any of the following suffixes:
>           .f - Fortran source file
>           .f77 or .F77 - Fortran source file (fixed form) using
>                f77 stanza configuration
>           .f90 or .F90 - Fortran source file (free form) using
>                xlf90 configuration
>           .f95 or .F95 - Fortran source file (free form) using
>                xlf95 configuration
>           .o or .a - object file for ld command
>           .s - assembler source file
>           .F - Fortran source file with cpp preprocessor directives
> 
>   OPTIONS
>          Compiler options are categorized by their functions. In
>          each category, the flag options are listed first, followed
>          by the keyword options.
> 
>   Input Control Options
>          -I<dir>
>                 Adds a directory to the search path for include
>                 files and .mod files. If XL Fortran calls cpp, this
>                 option adds a directory to the search path for
>                 #include files. Before checking the default
>                 directories for include and .mod files, the
>                 compiler checks each directory in the search path.
>                 For include files, this path is only used if the
>                 file name in an INCLUDE line is not provided with
>                 an absolute path. By default, the following
>                 directories are searched in the following order:
> 
>                 1) The current directory (where the compiler is
>                 executed)
>                 2) The directory where the source file is located
> 
>          -k     Specifies that the program is in free source form.
>                 This is the short form of -qfree=f90.
> 
>          -U     Makes the compiler case-sensitive to identifier
>                 names. By default the compiler interprets all names
>                 as if they were lower-case.
> 
>          -qci=<nums_list>
>                 Activates the specified INCLUDE lines. <nums_list>
>                 is a colon-separated list of identification numbers
>                 (from 1 to 255) of conditional includes.
> 
>          -qcr | -qnocr
>                 Allows you to control how the compiler interprets
>                 the CR (carriage return) character.  This allows
>                 you to compile code written using a MAC OS X or
>                 DOS/Windows editor.  The default is -qcr.
> 
>          -qdirective[=<list>] | -qnodirective[=<list>]
>                 Specifies target strings to be recognized in a
>                 comment directive. <list> is a colon-separated list
>                 of directives. If -qdirective is specified without
>                 any directives, it turns on the default trigger
>                 constant IBM* if it has been turned off by a
>                 previous -qnodirective.  The default is
>                 -qnodirective.
> 
>          -qdlines | -qnodlines
>                 This is the long form of the -D option. See -D for
>                 more information.  The default is -qnodlines.
> 
>          -qfixed[=<right_margin>]
>                 Indicates that the input source program is in fixed
>                 source form and optionally specifies the maximum
>                 line length, <right_margin>. The maximum
>                 <right_margin> value is 132.  The default is
>                 -qfixed=72 for xlf, xlf_r, xlf_r7, f77, and fort77
>                 invocation commands, and -qfree=f90 for f90, f95,
>                 xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r, and
>                 xlf95_r7.
> 
>          -qfree[={f90|ibm}]
>                 Indicates that the source code is in free source
>                 form. The 'ibm' and 'f90' suboptions specify
>                 compatibility with the free source form defined for
>                 VS Fortran and Fortran 90, respectively. Note that
>                 the free source form defined for Fortran 90 also
>                 applies to Fortran 95.  The default is -qfree=f90
>                 for f90, f95, xlf90, xlf90_r, xlf90_r7, xlf95,
>                 xlf95_r, and xlf95_r7 invocation commands, and
>                 -qfixed=72 for xlf, xlf_r, xlf_r7, f77, and fort77.
> 
>          -qmbcs | -qnombcs
>                 Indicates to the compiler whether character literal
>                 constants, Hollerith constants, H edit descriptors,
>                 and character string edit descriptors can contain
>                 Multibyte Character Set (MBCS) or Unicode
>                 characters. The default is -qnombcs.
> 
>          -qmixed | -qnomixed
>                 The long form of the -U option. Makes the compiler
>                 case-sensitive to identifier names. The default is
>                 -qnomixed.
> 
>          -qsuffix=<option>=<suffix>
>                 Specifies the source file suffix, <suffix>, on the
>                 command line instead of in the .cfg file, where
>                 <option> can be:
> 
>                 f
>                      Specifies that <suffix> is the new source file
>                      suffix.
>                 o
>                      Specifies that <suffix> is the new object-file
>                      suffix.
>                 s
>                      Specifies that <suffix> is the new assembler
>                      source file suffix.
>                 cpp
>                      Specifies that <suffix> is the new
>                      preprocessor source file suffix.
> 
>   Output Control Options
>          -c     Produces an object file instead of an executable
>                 file.  Prevents the completed object file from
>                 being sent to the ld command for link-editing. With
>                 this option, the output is a .o file for each
>                 source file.
> 
>          -d     Causes preprocessed source files that are produced
>                 by cpp to be kept rather than to be deleted. By
>                 default temporary files produced by cpp are
>                 deleted.
> 
>          -o <name>
>                 Specifies a name for the output object, executable,
>                 or assembler source file.  The default name is
>                 a.out for executable files. The default name for an
>                 object source file is the same as the source file
>                 except that it has a '.o' extension.
> 
>          -q32   Selects 32-bit mode compilation mode. The -q32 and
>                 -qarch options determine the target machines that
>                 the 32-bit executable will run on. The default is
>                 -q32.
> 
>          -q64[=<suboption>]
>                 Selects 64-bit compilation mode. The -q64 option
>                 indicates that the object module will be created in
>                 64-bit object format and that the 64-bit
>                 instruction set will be generated. Note that you
>                 may compile in a 32-bit environment to create 64-
>                 bit objects, but you must link them in a 64-bit
>                 environment with the -q64 option. Use -q32 and -q64
>                 options, along with the -qarch and -qtune compiler
>                 options, to optimize the output of the compiler to
>                 the architecture on which that output will be used.
>                 The suboptions are:
> 
>                 largetype
>                      The object file will use the 64-bit Large Data
>                      Type (LDT) ABI. This object file may only be
>                      used on versions of AIX greater than or equal
>                      to 5.0.
> 
>          -qmoddir=<directory>
>                 Specifies the location for any .mod files that the
>                 compiler writes. By default .mod files are placed
>                 in the current directory.
> 
>          -qpic[=<suboption>] | -qnopic
>                 Generates Position Independent Code (PIC) that can
>                 be used in shared libraries.  The suboptions are:
> 
>                 large
>                      Allows the size of the Table of Contents to be
>                      larger than 64K. This suboption allows for
>                      more addresses to be stored in the Table of
>                      Contents and generates larger code.
>                 small
>                      Assumes that the size of the Table of Contents
>                      can be at most 64K.
> 
>                 The default is -qpic=small.
> 
>   Optimization Options
>          -NS<bytes>
>                 Specifies the size (in bytes) of the register spill
>                 space; the internal program storage areas used by
>                 the optimizer for register spills to storage.  The
>                 default is -NS512.
> 
>          -O[<level>]
>                 Specifies whether to optimize code during
>                 compilation and, if so, at which level. -O<level>
>                 is equivalent to -qoptimize=<level>. <level> can
>                 be:
> 
>                 (not specified)
>                      This is equivalent to -O2.
>                 0
>                      Almost all optimizations are disabled. This is
>                      equivalent to -qnooptimize.
>                 1
>                      Reserved for future use. Ignored by compiler.
>                 2
>                      Performs a set of optimizations that are
>                      intended to offer improved performance without
>                      an unreasonable increase in time or storage
>                      that is required for compilation.
>                 3
>                      Performs additional optimizations that are
>                      memory intensive, compile-time intensive, and
>                      may change the semantics of the program
>                      slightly, unless -qstrict is specified. We
>                      recommend these optimizations when the desire
>                      for run-time speed improvements outweighs the
>                      concern for limiting compile-time resources.
>                      This level of optimization also affects the
>                      setting of the -qfloat option, turning on the
>                      'fltint' and 'rsqrt' suboptions by default,
>                      and setting -qmaxmem=-1.  This option implies
>                      -qhot=level=0.
>                 4
>                      Aggressively optimizes the source program,
>                      trading off additional compile time for
>                      potential improvements in the generated code.
>                      You can specify the option at compile time or
>                      at link time. if you specify it at link time,
>                      it will have no effect unless you also specify
>                      it at compile time for at least the file that
>                      contains the main program. -O4 implies the
>                      following other options:
>                      -qhot
>                      -qipa
>                      -O3
>                      -qarch=auto
>                      -qtune=auto
>                      -qcache=auto
>                 5
>                      Performs all optimizations from -O4, and also
>                      sets -qipa=level=2 to perform full inter-
>                      procedural data flow and alias analysis.
> 
>                 -O4 and -O5 perform whole-program analysis and
>                 should be specified at both compilation and link
>                 time to have maximal effect.  The default is -O0.
> 
>          -p[g]  Sets up the object file for profiling. Specifying
>                 '-pg' will produce more extensive statistics. The
>                 default is no profiling.
> 
>          -Q[<suboption>]
>                 Specifies whether Fortran 90 or Fortran 95
>                 procedures are inlined and/or the names of
>                 particular procedures that should or should not be
>                 inlined. names is a list of procedure names that
>                 are separated by colons. This option can take the
>                 form:
> 
>                 -Q
>                      Attempts to inline all appropriate functions,
>                      subject to limits on the number of inlined
>                      calls and the amount of code size increase as
>                      a result.
>                 -Q!
>                      Turns off inlining.
>                 -Q+<names_list>
>                      Inlines the functions listed in <names_list>
>                      and any other appropriate functions, where
>                      <names_list> is a colon-separated list.
>                 -Q-<names_list>
>                      Does not inline functions listed in
>                      <names_list>, where <names_list> is a colon-
>                      separated list. All other appropriate
>                      functions are inlined.
> 
>          -s     Strips the symbol table, line number information,
>                 and relocation information from the output file.
> 
>          -qalias=<suboptions_list>
>                 Indicates whether a program contains certain
>                 categories of aliasing. The compiler limits the
>                 scope of some optimizations when there is a
>                 possibility that different names are aliases for
>                 the same storage locations. <suboptions_list> is a
>                 colon-separated list of one or more of the
>                 following suboptions:
> 
>                 aryovrlp | noaryovrlp
>                      Indicates whether the compilation units
>                      contain any array assignments between
>                      storage-associated arrays. If not, specify
>                      noaryovrlp to improve performance.
>                 intptr | nointptr
>                      Indicates whether the compilation units
>                      contain any integer POINTER statements. If so,
>                      specify intptr.
>                 pteovrlp | nopteovrlp
>                      Indicates whether any pointee variables may be
>                      used to refer to any data objects that are not
>                      pointee variables, or whether two pointee
>                      variables may be used to refer to the same
>                      storage location. If not, specify nopteovrlp.
>                 std | nostd
>                      Indicates whether the compilation units
>                      contain any non-standard aliasing (see
>                      Compiler Reference for more information). If
>                      so, specify nostd.  (-qalias=nostd replaces
>                      the obsolete -qxflag=xalias option.)
> 
>                 For the xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r,
>                 xlf95_r7, f90 and f95 commands, the default
>                 suboptions are: aryovrlp, nointptr, pteovrlp, and
>                 std. For the xlf, xlf_r, xlf_r7, f77, and fort77
>                 commands, the default suboptions are: aryovrlp,
>                 intptr, pteovrlp, and std.
> 
>          -qalign=<suboptions_list>
>                 Specifies the alignment of data objects in storage
>                 to avoid performance problems with misaligned data.
>                 <suboptions_list> is a colon-separated list of one
>                 or more of the following suboptions:
> 
>                 4k | no4k
>                      Specifies whether large arrays and structures
>                      (at least 4096 bytes in size) will be aligned
>                      on a 4K (4096-byte, or page) boundary.  Use of
>                      this option may help to improve the
>                      performance of programs using data striping.
>                 bindc=<suboption>
>                      Specifies that the alignment and padding for
>                      an XL Fortran derived type with the BIND(C)
>                      attribute are compatible with a C struct type
>                      that is compiled with the corresponding XL C
>                      alignment option. The compatible alignment
>                      options are:
>                      -qalign=bindc=bit_packed
>                      -qalign=bindc={full|power}
>                      -qalign=bindc=packed
>                      -qalign=bindc={twobyte|mac68k}
>                      -qalign=bindc=natural
>                      Each of these "-qalign=bindc=" sub-suboptions
>                      is equivalent to the XL C "-qalign=" suboption
>                      of the same name.  (ie: For
>                      -qalign=bindc=bit_packed, the corresponding XL
>                      C option is -qalign=bit_packed)
>                 struct=<option>
>                      Specifies how objects or arrays of a derived
>                      type (declared using a record structure) are
>                      stored, and whether or not padding is used
>                      between components. The options are:
>                      natural
>                           Objects of a derived type are stored with
>                           sufficient padding such that components
>                           will be stored on their natural alignment
>                           boundaries, unless storage association
>                           requires otherwise.
>                      packed
>                           Objects of a derived type are stored with
>                           no padding between components, other than
>                           any padding represented by %FILL
>                           components.
>                      port
>                           Storage padding is the same as described
>                           above for the struct=natural suboption,
>                           except that the alignment of components
>                           of type complex is the same as the
>                           alignment of components of type real of
>                           the same kind. The padding for an object
>                           that is immediately followed by a union
>                           is inserted at the beginning of the first
>                           map component for each map in that union.
> 
>                 The default activated suboptions are: no4k,
>                 struct=natural, and bindc=power.
> 
>          -qarch=<suboption>
>                 Specifies which instructions the compiler can
>                 generate.  The suboptions are:
> 
>                 auto
>                      Automatically detects the specific
>                      architecture of the compiling machine. It
>                      assumes that the execution environment will be
>                      the same as the compilation environment.
>                 com
>                      You can run the executable file that the
>                      compiler generated on any hardware platform
>                      supported by the compiler, because the file
>                      contains only instructions that are common to
>                      all machines.
>                 p2sc
>                      The executable file can be executed on any
>                      POWER2 Super Chip hardware platform.
>                 ppc
>                      Produces an object that contains instructions
>                      that run on any of the 32-bit PowerPC hardware
>                      platforms. Using -q64 with ppc upgrades the
>                      architecture to ppc64grsq.
>                 ppcgr
>                      In 32-bit mode, produces object code
>                      containing optional graphics instructions for
>                      PowerPC hardware platforms.  In 64-bit mode,
>                      produces object code containing optional
>                      graphics instructions that will run on 64-bit
>                      PowerPC platforms, but not on 32-bit-only
>                      platforms.  Using -q64 with ppcgr upgrades the
>                      architecture to ppc64grsq.
>                 ppc64
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform. When compiled
>                      in 32-bit mode, the resulting object code may
>                      include instructions that are not recognized
>                      or behave differently when run on 32-bit
>                      PowerPC platforms.
>                 ppc64gr
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform that supports
>                      the optional graphics instructions.
>                 ppc64grsq
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform that supports
>                      the optional graphics and square root
>                      instructions.
>                 pwr
>                      Produces an object that contains instructions
>                      that run on any of the POWER or POWER2
>                      hardware platforms.
>                 pwr2s
>                      The executable file can be executed on any
>                      desktop implementation of the POWER2 chip.
>                 pwr2
>                      Produces an object that contains instructions
>                      that run on the POWER2 hardware platforms.
>                 pwrx
>                      Equivalent to pwr2.
>                 pwr3
>                      Produces an object that contains instructions
>                      that run on the POWER3, POWER4, POWER5,
>                      POWER5+ or PowerPC 970 hardware platforms.
>                 pwr4
>                      Produces an object that contains instructions
>                      that run on the POWER4, POWER5, POWER5+ or
>                      PowerPC 970 hardware platforms.
>                 pwr5
>                      Produces an object that contains instructions
>                      that run on the POWER5 or POWER5+ hardware
>                      platforms.
>                 pwr5x
>                      Produces an object that contains instructions
>                      that run on any POWER5+ hardware platform.
>                 rs64a
>                      Produces an object that contains instructions
>                      that run on an RS64I hardware platform.
>                 rs64b
>                      Produces an object that contains instructions
>                      that run on an RS64II hardware platform.
>                 rs64c
>                      Produces an object that contains instructions
>                      that run on an RS64III hardware platform.
>                 601
>                      Produces an object that contains instructions
>                      that run on PowerPC 601 systems.
>                 603
>                      Produces an object that contains instructions
>                      that run on PowerPC 603 systems.
>                 604
>                      Produces an object that contains instructions
>                      that run on PowerPC 604 systems.
>                 ppc970
>                      Generates instructions specific to PowerPC 970
>                      processors.
>                 ppc64v
>                      Generates instructions for any 64-bit PowerPC
>                      processor (like PowerPC 970) with VMX.
> 
>                 The default is -qarch=com.
> 
>          -qassert=<suboptions_list>
>                 Provides information about the program to help
>                 fine-tune optimizations. <suboptions_list> is a
>                 colon-separated list of one or both of the
>                 following suboptions:
> 
>                 deps | nodeps
>                      Loops can contain loop-carried dependencies.
>                 itercnt=<n>
>                      The iteration count of a typical loop is <n>.
> 
>                 The default is -qassert=deps:itercnt=1024.
> 
>          -qcache=<suboptions_list>
>                 Specifies the cache configuration for a specific
>                 execution machine. <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 assoc=<n>
>                      Specifies the set-associativity of the cache:
>                      0   = Directly-mapped
>                      1   = Fully associative
>                      (n > 1) = <n>-way set-associative
>                 auto
>                      Automatically detects the specific cache
>                      configuration of the compiling machine. It
>                      assumes that the execution environment will be
>                      the same as the compilation environment.
>                 cost=<cycles>
>                      Specifies the performance penalty resulting
>                      from a cache miss.
>                 level=<level>
>                      Specifies which level of cache is affected:
>                      1 = Basic cache
>                      2 = Level-2 cache, or the table lookaside
>                      buffer (TLB) if the machine has no level-2
>                      cache
>                      3 = TLB, in a machine that does have a level-2
>                      cache
>                 line=<bytes>
>                      Specifies the line size of the cache.
>                 size=<Kbytes>
>                      Specifies the total size of the cache.
>                 type=<type>
>                      Specifies the type of cache that the settings
>                      apply to:
>                      C or c = Combined data and instruction cache
>                      D or d = Data cache
>                      I or i = Instruction cache
> 
>                 The default is determined by the -qtune and -qarch
>                 settings.
> 
>          -qcompact | -qnocompact
>                 Reduces optimizations that increase code size.  The
>                 default is -qnocompact.
> 
>          -qdirectstorage | -qnodirectstorage
>                 Specifies that a compilation unit might reference
>                 write-through-enabled or cache-inhibited storage.
>                 The default is -qnodirectstorage.
> 
>          -qenablevmx | -qnoenablevmx
>                 Enables generation of Vector Multimedia Extension
>                 (VMX) instructions.  The default is -qnoenablevmx.
> 
>          -qessl | -qnoessl
>                 Allows the use of the Engineering and Scientific
>                 Subroutine Library (ESSL) routines in place of
>                 Fortran 90 intrinsic procedures.  The default is
>                 -qnoessl.
> 
>          -qfdpr | -qnofdpr
>                 Provides object files with information that the AIX
>                 Feedback Directed Program Restructuring (fdpr)
>                 performance-tuning utility needs to optimize the
>                 resulting executable file.  The default is
>                 -qnofdpr.
> 
>          -qhot[=<suboptions>] | -qnohot
>                 Performs high-order loop analysis and
>                 transformations during optimization. This option is
>                 a powerful alternative to hand-tuning that provides
>                 opportunities to optimize loops and array language.
>                 The suboptions are:
> 
>                 arraypad[=<n>]
>                      When <n> is specified, the compiler will pad
>                      every array in the code. The pad amount must
>                      be a positive integer value. When <n> is not
>                      specified, the compiler will pad any arrays
>                      where it infers that there may be a benefit.
>                 level={0|1}
>                      Specifies the level of high-order
>                      transformation to perform during compilation.
>                      At level=1, full high-order transformation is
>                      performed, but at level=0 only a subset of the
>                      high-order transformations are performed,
>                      which reduces compile time. See the XL Fortran
>                      Compiler Reference for more information.
>                 simd | nosimd
>                      Converts certain operations in a loop that
>                      apply to successive elements of an array into
>                      a VMX (Vector Multimedia Extension)
>                      instruction.  If you specify -qhot=nosimd, the
>                      compiler performs optimizations on loops and
>                      arrays, but avoids replacing certain code with
>                      VMX instructions.
>                 vector | novector
>                      Specifies whether to allow the compiler to
>                      optimize by replacing code with calls to
>                      vector library routines.  Only takes effect
>                      when specified with -qnostrict or -O3 or
>                      higher optimization level.
> 
>                 The default is -qnohot. If -qhot is specified
>                 without parameters, the default is -qhot=vector.
> 
>          -qipa[=<suboptions_list>] | -qnoipa
>                 Enhances -O optimization by performing detailed
>                 analysis across procedures. Optimization level -O2
>                 or higher is required when using -qipa.
>                 <suboptions_list> is a colon-separated list of
>                 suboptions. Regular expressions are supported when
>                 specifying <procedure_names_list> in the following
>                 -qipa suboptions: exits, inline, noinline, lowfreq,
>                 pure, safe, and unknown. <procedure_names_list> is
>                 a comma-separated list. The suboptions are:
> 
>                 exits=<procedure_names_list>
>                      Specifies a selected set of procedures which
>                      always end the program.
>                 clonearch=<architecture_list> | noclonearch
>                      Allows you to specify multiple architectures
>                      in the event that you want to compile your
>                      application for multiple architectures with a
>                      single binary file. <architecture_list> is a
>                      comma-separated list of one or more of the
>                      following architectures: pwr4, pwr5, ppc970,
>                      and pwr5x. This must be specified during link
>                      time.  The default is noclonearch.
>                 cloneproc=<names_list> | nocloneproc=<names_list>
>                      Allows you to explicitly declare which
>                      procedures the compiler should attempt to
>                      clone. <names_list> is a comma-separated list
>                      of the mangled names of the functions that you
>                      wish to clone (or not clone). Please note that
>                      this suboption has no effect unless
>                      -qipa=clonearch=<arch> is specified. You can
>                      use regular expression syntax when specifying
>                      function names.  The default is nocloneproc.
>                 inline=<options_list>
>                      Specifies a colon-separated list of inline
>                      options, which are as follows:
>                      auto | noauto
>                           Specifies whether to automatically
>                           perform inline expansion.  The default is
>                           auto.
>                      limit=<n>
>                           Changes the size limits that the
>                           inline=auto option uses to determine how
>                           much inline expansion to do. <n> is the
>                           optimizers approximation of the number of
>                           bytes of code that will be generated.
>                      <procedure_names_list>
>                           Specifies the procedures to attempt to
>                           inline.
>                      threshold=<num>
>                           Specifies the upper size limit on
>                           procedures to inline. This argument is
>                           implemented only when inline=auto is on.
>                 noinline=<procedure_names_list>
>                      Specifies the procedures which are not to be
>                      inlined.
>                 isolated=<procedure_names_list>
>                      Specifies the procedures that are not compiled
>                      with -qipa and do not directly refer to any
>                      global variable.
>                 level=<level>
>                      Determines the amount of IPA analysis and
>                      optimization to perform:
>                      0
>                           Performs minimal inter-procedural
>                           analysis and optimization.
>                      1
>                           Turns on inlining, limited alias
>                           analysis, and limited call-site
>                           tailoring.
>                      2
>                           Full inter-procedural data flow and alias
>                           analysis.
>                      The default level is 1.
>                 list[={<filename>|short|long}]
>                      Specifies an output listing file name during
>                      the link phase, in the event that an object
>                      listing has been requested using the -qlist or
>                      -qipa=list option. The default name is
>                      "a.lst". Specifying 'long' or 'short'
>                      determines which listing sections will be
>                      included. The default is short.
>                 lowfreq=<procedure_names_list>
>                      Specifies the procedures that are likely to be
>                      called infrequently during the course of a
>                      typical program run.
>                 malloc16 | nomalloc16
>                      Instructs the compiler to assume that the
>                      dynamic memory allocation routines (such as
>                      malloc/calloc/realloc/new) will return 16-byte
>                      aligned memory addresses. The compiler will
>                      optimize based on this assumption. Note that
>                      if the assertion is false, incorrect results
>                      may be generated.  The default is 'malloc16'
>                      in 64-bit mode, and 'nomalloc16' otherwise.
>                 missing={unknown|safe|isolated|pure}
>                      Specifies the interprocedural behavior for
>                      procedures not compiled with -qipa.  The
>                      default is 'unknown'.
>                 object | noobject
>                      Includes standard object code in the object
>                      files. If the noobject option is specified, it
>                      can substantially reduce overall compilation
>                      time by not generating object code during the
>                      first IPA phase. The default is object. Note,
>                      this is a compile-time suboption.
>                 partition={small|medium|large}
>                      Specifies the size of the regions within the
>                      program to analyze. Larger partitions contain
>                      more procedures, which result in better
>                      interprocedural analysis but require more
>                      storage to optimize.  The default is medium.
>                 pdfname=<filename>
>                      Specifies the name of the profile data file
>                      that contains the PDF profiling information.
>                      The default filename is __pdf.
>                 pure=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure that you
>                      specified as "pure" must be "isolated" and
>                      "safe". It must not alter the internal state
>                      nor have side-effects, which are defined as
>                      potentially altering any data object visible
>                      to the caller.
>                 safe=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure that you
>                      specified as "safe" may modify global
>                      variables and dummy arguments.
>                 stdexits | nostdexits
>                      Specifies that certain predefined routines can
>                      be optimized as with the exits suboption. The
>                      procedures are abort, exit, _exit, and
>                      _assert.  The default is nostdexits.
>                 threads[=<n>] | nothreads
>                      Specifies the number of threads for the
>                      compiler to use. When <n> is not specified,
>                      the compiler decides the number of threads.
>                      Otherwise, up to <n> threads are used to
>                      invoke the compiler backend. Specifying
>                      'nothreads' is equivalent to running one
>                      serial process.
>                 unknown=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure specified
>                      as "unknown" may make calls to other parts of
>                      the program compiled with -qipa and modify
>                      global variables and dummy arguments.
> 
>                 Options intended for use by the link-time phase of
>                 -qipa are -qlibansi, -qlibessl, -qlibposix and
>                 -qthreaded.  The default is -qnoipa.
> 
>          -qkeepparm | -qnokeepparm
>                 Ensures that the incoming parameters are stored on
>                 the stack even when optimizing. This may negatively
>                 impact execution performance. This option then
>                 provides access to the values of incoming
>                 parameters to tools, such as debuggers, simply by
>                 preserving those values on the stack.  The default
>                 is -qnokeepparm.
> 
>          -qlargepage | -qnolargepage
>                 Indicates that a program, designed to execute in a
>                 large page memory environment, can take advantage
>                 of large 16 MB pages provided on POWER4 and higher
>                 based systems.  The default is -qnolargepage.
> 
>          -qlibansi | -qnolibansi
>                 Assumes that all functions with the name of an ANSI
>                 C defined library function are in fact the library
>                 functions.  The default is -qnolibansi.
> 
>          -qlibessl | -qnolibessl
>                 Assumes that all functions with the name of an ESSL
>                 defined library function are, in fact, the library
>                 functions.  The default is -qnolibessl.
> 
>          -qlibposix | -qnolibposix
>                 Assumes that all functions with the name of a POSIX
>                 1003.1 defined library function are, in fact, the
>                 system functions.  The default is -qnolibposix.
> 
>          -qmaxmem=<kbytes>
>                 Limits the amount of memory that the compiler
>                 allocates while performing specific, memory-
>                 intensive optimizations. If <kbytes> is -1, the
>                 compiler will take as much memory as it needs
>                 without checking for limits. The default is
>                 -qmaxmem=2048 when using optimization level -O2,
>                 and -qmaxmem=-1 when using -O3 or greater.
> 
>          -qoptimize[=<level>] | -qnooptimize
>                 The long form of the -O option. -qoptimize=<level>
>                 is equivalent to -O<level>. See the -O option.  The
>                 default is -qnooptimize.
> 
>          -qpdf1 Produces an object that is instrumented to collect
>                 run-time execution information. This is phase 1 of
>                 the profile-directed feedback optimization process.
> 
>          -qpdf2 Tunes application performance using the data
>                 generated by running a program compiled with
>                 -qpdf1. This is phase 2 of the profile-directed
>                 feedback optimization process.
> 
>          -qprefetch | -qnoprefetch
>                 Automatically inserts prefetch instructions where
>                 the optimizer perceives a benefit.  The default is
>                 -qprefetch.
> 
>          -qrecur | -qnorecur
>                 Not recommended. Allows external subprograms to be
>                 called recursively. For new programs, use the
>                 RECURSIVE keyword, which provides a standard-
>                 conforming way of using recursive procedures.  The
>                 default is -qnorecur.
> 
>          -qshowpdf | -qnoshowpdf
>                 Adds additional call and block count profiling
>                 information to an executable. This option is used
>                 together with the -qpdf1 option.  The default is
>                 -qnoshowpdf.
> 
>          -qsmallstack[=<suboption>] | -qnosmallstack
>                 Specifies that the compiler will minimize stack
>                 usage where possible. This option can take the
>                 form:
> 
>                 -qsmallstack
>                      Enables only general small stack
>                      transformations.
>                 -qsmallstack=dynlenonheap
>                      Asserts that automatic variables which are
>                      dynamically-sized are allocated from the heap
>                      and enables general small stack
>                      transformations.
>                 -qsmallstack=nodynlenonheap
>                      Disables dynamic-length variable allocation.
>                 -qnosmallstack
>                      Disables only the general small stack
>                      transformations.
> 
>                 The default is -qnosmallstack.
> 
>          -qsmp[=<suboptions_list>] | -qnosmp
>                 Specifies that code should be produced for an SMP
>                 system.  <suboptions_list> is a colon-separated
>                 list of one or more of the following suboptions:
> 
>                 auto | noauto
>                      Enables automatic parallelization.
>                 nested_par | nonested_par
>                      Specifies that prescriptive nested parallel
>                      constructs should be parallelized by the
>                      compiler.
>                 omp | noomp
>                      Enforces compliance with the OpenMP Fortran
>                      API.
>                 opt | noopt
>                      Controls optimization for parallelization.
>                      -qsmp=noopt specifies that the compiler should
>                      do the least amount of optimization that is
>                      required to parallelize the code and preserve
>                      maximum debugability.
>                 rec_locks | norec_locks
>                      Allows recursive locks to be used to avoid
>                      problems associated with CRITICAL constructs.
>                      If -qsmp=norec_locks is specified, recursive
>                      locks will not be used to implement critical
>                      sections.
>                 schedule=<suboptions>
>                      The schedule suboption can take any of the
>                      following sub-suboptions:
>                      affinity[=<n>]
>                      dynamic[=<n>]
>                      guided[=<n>]
>                      runtime
>                      static[=<n>]
>                      For their descriptions, refer to the XL
>                      Fortran Compiler Reference.
>                 threshold=<n>
>                      Controls the amount of automatic loop
>                      parallelization that occurs. The value of <n>
>                      represents the lower limit allowed for
>                      parallelization of a loop, based on the level
>                      of "work" present in a loop.
> 
>                 The default is -qnosmp.  If you specify -qsmp
>                 without suboptions, the default suboptions are:
>                 auto, opt, noomp, norec_locks, nonested_par,
>                 schedule=runtime, and threshold=100.
> 
>          -qspillsize=<bytes>
>                 The long form of -NS. See the -NS option.  The
>                 default is -qspillsize=512.
> 
>          -qstacktemp=<num>
>                 Determines where to allocate applicable compiler
>                 temporaries at run time. The allocation depends on
>                 the value of <num>. The values are:
> 
>                 0
>                      Indicates that the compiler will decide
>                      whether to allocate the applicable compiler
>                      temporaries on the heap or the stack.
>                 -1
>                      Indicates that applicable compiler temporaries
>                      are to be always allocated on the stack. This
>                      is the best-performing setting but uses the
>                      most amount of stack storage.
>                 (1 or greater)
>                      Indicates that applicable compiler temporaries
>                      less than this value (bytes) should be
>                      allocated on the stack and those greater than
>                      or equal to this value should be allocated on
>                      the heap.
> 
>                 The default is -qstacktemp=0.
> 
>          -qstrict | -qnostrict
>                 Ensures that optimizations done by the -O3 and
>                 greater (and optionally -O2) options do not alter
>                 the semantics of a program. This option is ignored
>                 for -qnoopt.  For -O3 and greater, the default is
>                 -qnostrict. Otherwise the default is -qstrict.
> 
>          -qstrict_induction | -qnostrict_induction
>                 Prevents the compiler from performing induction
>                 (loop counter) variable optimizations that could
>                 alter the semantics of a program.  The default is
>                 -qnostrict_induction.
> 
>          -qthreaded
>                 Asserts that the compiler will generate thread-safe
>                 code when generating its own code or allocating
>                 compiler-created temporary data. User-written code
>                 that is algorithmically not thread-safe is
>                 unaffected by this option and will remain non-
>                 thread-safe. The default is -qthreaded when using
>                 xlf_r, xlf_r7, xlf90_r, xlf90_r7, xlf95_r, or
>                 xlf95_r7 invocation commands.
> 
>          -qtune=<suboption>
>                 Tunes instruction selection, scheduling, and other
>                 implementation-dependent performance enhancements
>                 for a specific implementation of a hardware
>                 architecture.  -qtune will not alter the ability of
>                 a program to run on a processor but will produce
>                 optimal code sequences tuned to a particular
>                 processor.  The suboptions are:
> 
>                 auto
>                      Automatically detects the specific processor
>                      type of the compiling machine and produces an
>                      object optimized for that processor.
>                 601
>                      Produces an object optimized for all the
>                      PowerPC 601 processors.
>                 603
>                      Produces an object optimized for all the
>                      PowerPC 603 processors.
>                 604
>                      Produces an object optimized for all the
>                      PowerPC 604 processors.
>                 pwr
>                      Produces an object optimized for the POWER
>                      hardware platforms.
>                 p2sc
>                      The optimizations are tuned for the POWER2
>                      Super Chip.
>                 pwr2
>                      Produces an object optimized for the POWER2
>                      hardware platforms.
>                 pwrx
>                      This is equivalent to pwr2.
>                 pwr2s
>                      The optimizations are tuned for the desktop
>                      implementation of the POWER2 architecture,
>                      which has a narrower processor-to-memory bus
>                      than other POWER2 implementations.
>                 pwr3
>                      Produces an object optimized for the POWER3
>                      hardware platforms.
>                 pwr4
>                      Produces an object optimized for the POWER4
>                      hardware platforms.
>                 pwr5
>                      Produces an object optimized for the POWER5
>                      hardware platforms.
>                 rs64a
>                      Produces an object optimized for the RS64I
>                      processor.
>                 rs64b
>                      Produces an object optimized for the RS64II
>                      processor.
>                 rs64c
>                      Produces an object optimized for the RS64III
>                      processor.
>                 ppc970
>                      Produces an object optimized for PowerPC 970
>                      processors.
> 
>                 The compiler uses -qtune setting that is compatible
>                 with the target architecture, which is controlled
>                 by the -qarch, -q32, and -q64 options.  The default
>                 setting is determined by the setting of -qarch.
> 
>          -qunroll[={auto|yes}] | -qnounroll
>                 Specifies whether unrolling DO loops is allowed in
>                 a program. Unrolling is allowed on outer and inner
>                 DO loops.  The suboptions are:
> 
>                 auto
>                      The compiler performs basic loop unrolling.
>                 yes
>                      The compiler looks for more opportunities to
>                      perform loop unrolling than is done with the
>                      -qunroll=auto option. Specifying -qunroll with
>                      no suboptions is equivalent to -qunroll=yes.
> 
>                 The default is -qunroll=auto.
> 
>          -qunwind | -qnounwind
>                 Specifies that the compiler will preserve the
>                 default behavior for saves and restores to volatile
>                 registers during a procedure call.  If you specify
>                 -qnounwind, the compiler rearranges subprograms to
>                 minimize saves and restores to volatile registers.
>                 This rearrangement may make it impossible for the
>                 program or debuggers to walk through or "unwind"
>                 subprogram stack frame chains.  The default is
>                 -qunwind.
> 
>          -qvecnvol | -qnovecnvol
>                 Asserts that the compiled application will use both
>                 volatile and non-volatile vector registers. You
>                 should use this option only after understanding
>                 interoperability with old binaries. If you are
>                 compiling C/C++ code in Fortran which calls any of
>                 the following subroutines: setjmp(),longjmp(),
>                 sigsetjmp(), siglongjmp(), _setjmp(), _longjmp(),
>                 getcontext(), setcontext(), makecontext(), and
>                 swapcontext(), then you should set -qnovecnvol.
>                 bos.adt.include version 5.3.0.30 or greater should
>                 be installed to use -qvecnvol on the host system.
>                 The default is -qnovecnvol.
> 
>          -qzerosize | -qnozerosize
>                 Improves performance of Fortran 77 and some Fortran
>                 90 and Fortran 95 programs by preventing checking
>                 for zero-sized character strings and arrays.
>                 For the xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r,
>                 xlf95_r7, f90, and f95 commands, the default is
>                 -qzerosize.  For the xlf, xlf_r, xlf_r7, f77, and
>                 fort77 commands, the default is -qnozerosize.
> 
>   Error Checking and Debugging Options
>          -C     Checks each reference to an array element, array
>                 section, or character substring for correctness.
>                 This is the short form of -qcheck.
> 
>          -D     Specifies whether the compiler compiles fixed
>                 source form lines with a D in column 1 or treats
>                 them as comments. Please note that in order to pass
>                 C-style -D macro definitions to the C preprocessor
>                 (e.g. compiling a file that ends with .F) use the
>                 -W option. For example:
>                 -WF,-DDEFINE_THIS
>                 -D is the short form of -qdlines.
> 
>          -g     Generates debug information for use by a symbolic
>                 debugger.
> 
>          -qcheck | -qnocheck
>                 The long form of the -C option. See -C for details.
>                 The default is -qnocheck.
> 
>          -qdbg | -qnodbg
>                 The long form of the -g option. See -g for details.
>                 The default is -qnodbg.
> 
>          -qdpcl | -qnodpcl
>                 Generates symbols that tools based on the Dynamic
>                 Probe Class Library (DPCL) API can use to see the
>                 structure of an executable file. You must also
>                 specify the -g option when you specify -qdpcl.
>                 This option has no effect when optimization (-O) is
>                 enabled. The default is -qnodpcl.
> 
>          -qextchk | -qnoextchk
>                 Sets up type-checking information for common
>                 blocks, procedure definitions, procedure
>                 references, and module data. Later, the linker can
>                 detect mismatches across compilation units using
>                 this information.  The default is -qnoextchk.
> 
>          -qflttrap[=<suboptions_list>] | -qnoflttrap
>                 Determines what types of floating-point exception
>                 conditions to detect at run time. The program
>                 receives a SIGTRAP signal when the corresponding
>                 exception occurs.  <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 enable
>                      Turn on checking for the specified exceptions
>                      in the main program so that the exceptions
>                      generate SIGTRAP signals.
>                 imprecise
>                      Only check for the specified exceptions on
>                      subprogram entry and exit.
>                 inexact
>                      Detect and trap on floating-point inexact, if
>                      exception checking is enabled.
>                 invalid
>                      Detect and trap on floating-point invalid
>                      operations.
>                 nanq
>                      Detect and trap all quiet not-a-number (NaNQ)
>                      values and signaling not-a-number (NaNS)
>                      values.
>                 overflow
>                      Detect and trap on floating-point overflow.
>                 underflow
>                      Detect and trap on floating-point underflow.
>                 zerodivide
>                      Detect and trap on floating-point division by
>                      zero.
> 
>                 The default is -qnoflttrap. When -qflttrap is
>                 specified with no suboptions, the default activated
>                 suboptions are: overflow, underflow, zerodivide,
>                 invalid, and inexact.
> 
>          -qfullpath | -qnofullpath
>                 Records the full (or absolute) path names of source
>                 and include files in object files compiled with
>                 debugging information (-g option).  The default is
>                 -qnofullpath.
> 
>          -qhalt=<sev>
>                 Stops before producing any object, executable, or
>                 assembler source files if the maximum severity of
>                 compile-time messages equals or exceeds the
>                 specified severity <sev>, where the severity levels
>                 are:
> 
>                 i = informational messages
>                 l = language-level messages
>                 w = warning messages
>                 e = error messages
>                 s = severe error messages
>                 u = unrecoverable error messages
>                 q = no messages
> 
>                 The default is -qhalt=s.
> 
>          -qinitauto[=<hex_value>] | -qnoinitauto
>                 Initializes each byte or word (4 bytes) of storage
>                 for automatic variables to a specific value,
>                 depending on the length specified in <hex_value>.
>                 This helps you to locate variables that are
>                 referenced before they are defined. <hex_value> is
>                 a 1 to 8 digit hexadecimal number.  The default is
>                 -qnoinitauto. If you specify -qinitauto without a
>                 <hex_value>, the compiler initializes the value of
>                 each byte of automatic storage to zero. This option
>                 should be used for debugging purposes only.
> 
>          -qlanglvl=<suboption>
>                 Determines which language standard (or
>                 subset/superset of a standard) to check against for
>                 nonconformance. This option will only produce
>                 messages; all code valid in extended mode will
>                 compile regardless of which suboption is specified.
>                 The suboptions are:
> 
>                 77std
>                      Accepts the language specified by the ANSI
>                      Fortran 77 standard.
>                 90std
>                      Accepts the language specified by the ISO
>                      Fortran 90 standard.
>                 90pure
>                      Same as 90std, except that it reports errors
>                      for any obsolescent Fortran 90 features used.
>                 90ext
>                      Obsolete suboption that is equivalent to
>                      extended.
>                 95std
>                      Accepts the language specified by the ISO
>                      Fortran 95 standard.
>                 95pure
>                      Same as 95std, except that it also reports
>                      errors for any obsolescent Fortran 95 features
>                      used.
>                 2003std
>                      Accepts the language that the ISO Fortran 95
>                      standard specifies, as well as all Fortran
>                      2003 features supported by XL Fortran, and
>                      reports anything else as an error.
>                 2003pure
>                      The same as 2003std except that it also
>                      reports errors for any obsolescent Fortran
>                      2003 features used.
>                 extended
>                      Accepts the full Fortran 95 language standard,
>                      all Fortran 2003 features supported by XL
>                      Fortran, and all extensions, effectively
>                      turning off language-level checking.
> 
>                 The default is -qlanglvl=extended.
> 
>          -qlinedebug | -qnolinedebug
>                 Generates line number and source file name
>                 information for the debugger. This option produces
>                 minimal debugging information, so the resulting
>                 object size is smaller than what is produced if the
>                 -g debugging option is specified. The default is
>                 -qnolinedebug.
> 
>          -qobject | -qnoobject
>                 Specifies whether to produce an object file or to
>                 stop immediately after checking the syntax of the
>                 source files.  The default is -qobject.
> 
>          -qsaa | -qnosaa
>                 Checks for conformance to the SAA Fortran language
>                 definition. It identifies nonconforming source code
>                 and also options that allow such nonconformances.
>                 The default is -qnosaa.
> 
>          -qsaveopt | -qnosaveopt
>                 Saves the command-line options used for compiling a
>                 source file, and other information, in the
>                 corresponding object file. The compilation must
>                 produce an object file for this option to take
>                 effect.  The default is -qnosaveopt.
> 
>          -qsigtrap[=<trap_handler>]
>                 When you are compiling a file that contains a main
>                 program, this option sets up the specified trap
>                 handler to catch SIGTRAP exceptions. This option
>                 enables you to install a handler for SIGTRAP
>                 signals without calling the SIGNAL subprogram in
>                 the program. Specifying -qsigtrap with no
>                 <trap_handler> is equivalent to -qsigtrap=xl__trce.
> 
>          -qtbtable=<suboption>
>                 Limits the amount of debugging traceback
>                 information in object files, which reduces the size
>                 of the program. The suboptions are:
> 
>                 none
>                      Includes no traceback information.
>                 small
>                      Includes traceback information but not the
>                      names of procedures or information about
>                      procedure parameters.
>                 full
>                      Includes complete traceback information.
> 
>                 The default is full traceback information in the
>                 object file when compiling non-optimized (without
>                 -O) or for debugging (with -g).  Otherwise, the
>                 default is -qtbtable=small.
> 
>          -qwarn64 | -qnowarn64
>                 Assists in porting code from a 32-bit environment
>                 to a 64-bit environment by detecting the truncation
>                 of an 8-byte integer pointer to 4 bytes. The
>                 -qwarn64 option uses informational messages to
>                 identify statements that may cause problems with
>                 the 32-bit to 64-bit migration.  The default is
>                 -qnowarn64.
> 
>          -qxflag=<suboption>
>                 Specifies rarely-needed compiler behaviors.  The
>                 suboptions are:
> 
>                 oldtab
>                      For fixed source form programs, interprets a
>                      tab in columns 1 to 5 as a single character.
>                      The source statement still starts immediately
>                      after the tab, but the tab character is
>                      treated as a single character for counting
>                      columns. This setting allows up to 71
>                      characters of input, depending on where the
>                      tab character occurs.
>                 dvz
>                      Specifying -qxflag=dvz causes the compiler to
>                      generate code to detect floating-point
>                      divide-by-zero operations. With this option
>                      on, the extra code calls the external handler
>                      function __xl_dzx when the divisor is zero.
>                 xalias
>                      This is obsolete. Please use -qalias=nostd in
>                      your new applications.
> 
>          -qxlines | -qnoxlines
>                 Specifies whether fixed source form lines with a X
>                 in column 1 are compiled or treated as comments.
>                 The default is -qnoxlines.
> 
>   Listing and Message Options
>          -#     Generates information on the progress of the
>                 compilation without actually running the individual
>                 components.
> 
>          -S     Produces one or more .s files, showing equivalent
>                 assembler source for each Fortran source file.
> 
>          -V     Generates information on the progress of the
>                 compilation. As the compiler executes commands to
>                 perform different compilation steps, this option
>                 displays a simulation of the commands it calls and
>                 the system argument lists it passes. This is the
>                 same as -v except that you can cut and paste
>                 directly from the display to create a command.
> 
>          -v     Generates information on the progress of the
>                 compilation. As the compiler executes commands to
>                 perform different compilation steps, this option
>                 displays a simulation of the commands it calls and
>                 the system argument lists it passes.
> 
>          -w     Suppresses informational, language-level, and
>                 warning messages. This option sets -qflag=e:e.
> 
>          -qattr[=full] | -qnoattr
>                 Specifies whether to produce the attribute
>                 component of the attribute and cross-reference
>                 section of the listing.  The listing contains all
>                 identifiers (-qattr=full) or only the names that
>                 are referenced (-qattr).  The default is -qnoattr.
> 
>          -qflag=<listing_severity>:<terminal_severity>
>                 Specifies the minimum severity level of diagnostic
>                 messages to be written to the listing file and to
>                 the user terminal. <listing_severity> determines
>                 the minimum level for the listing file, and
>                 <terminal_severity> determines the minimum level
>                 for the terminal.  The severity levels are:
> 
>                 i = informational messages
>                 l = language-level messages
>                 w = warning messages
>                 e = error messages
>                 s = severe error messages
>                 u = unrecoverable error messages
>                 q = no messages
> 
>                 Note that both <listing_severity> and
>                 <terminal_severity> must be specified.  The default
>                 is -qflag=i:i.
> 
>          -qlist[={offset|nooffset}] | -qnolist
>                 Produces a compiler listing that includes an object
>                 listing. You can use the object listing to help
>                 understand the performance characteristics of the
>                 generated code and to diagnose execution problems.
>                 Specifying -qlist with no suboptions is equivalent
>                 to specifying -qlist=nooffset.  The default is
>                 -qnolist.
> 
>          -qlistopt | -qnolistopt
>                 Determines whether to show the setting of every
>                 compiler option in the listing file or only
>                 selected options. These selected options include
>                 those specified on the command line or directives
>                 plus some that are always put in the listing.  The
>                 default is -qnolistopt.
> 
>          -qnoprint
>                 Prevents the compiler from creating the listing
>                 file, regardless of the settings of other listing
>                 options.
> 
>          -qphsinfo | -qnophsinfo
>                 Determines whether timing information is displayed
>                 on the terminal for each compiler phase.  The
>                 output takes the form <number1>/<number2> for each
>                 phase where <number1> represents the CPU time used
>                 by the compiler and <number2> represents the total
>                 of the compiler time and the time that the CPU
>                 spends handling system calls.  The default is
>                 -qnophsinfo.
> 
>          -qreport[=<suboptions>] | -qnoreport
>                 Determines whether to produce transformation
>                 reports showing how the program is parallelized and
>                 how loops are optimized.  The suboptions are:
> 
>                 hotlist
>                      Produces a report showing how loops are
>                      transformed.
>                 smplist
>                      Produces a report showing how the program is
>                      parallelized.
> 
>                 The default is -qnoreport.
> 
>          -qsource | -qnosource
>                 Determines whether to produce the source section of
>                 the listing.  The default is -qnosource.
> 
>          -qsuppress[={<msg_nums_list>|cmpmsg}] | -qnosuppress
>                 Determines which messages to suppress from the
>                 output stream.  The suboptions are:
> 
>                 <msg_nums_list>
>                      A colon-separated list of 7-digit compiler
>                      message numbers.
>                 cmpmsg
>                      Suppresses the informational messages that
>                      report compilation progress and a successful
>                      completion.
> 
>                 The default is -qnosuppress.
> 
>          -qversion
>                 Displays the version and release of the invoking
>                 compiler. Specify this option on its own with the
>                 compiler command.
> 
>          -qxref[=full] | -qnoxref
>                 Determines whether to produce the cross-reference
>                 component of the attribute and cross-reference
>                 section of the listing.  If you specify only
>                 -qxref, only identifiers that are used are
>                 reported. If you specify -qxref=full, the listing
>                 contains information about all identifiers that
>                 appear in the program, whether they are used or
>                 not.  The default is -qnoxref.
> 
>   Compatibility Options
>          -1     Executes each DO loop in the compiled program at
>                 least once if its DO statement is executed, even if
>                 the iteration count is 0. This option provides
>                 compatibility with Fortran 66. The default is to
>                 follow the behavior of later Fortran standards,
>                 where DO loops are not performed if the iteration
>                 count is 0. This is the short form of the -qonetrip
>                 option.
> 
>          -u     Specifies that no implicit typing of variable names
>                 is permitted. It has the same effect as using the
>                 IMPLICIT NONE statement in each scope that allows
>                 implicit statements. By default, implicit typing is
>                 allowed.
> 
>          -qautodbl=<setting>
>                 Converts single-precision floating-point
>                 calculations to double-precision or converts
>                 double-precision calculations to extended-
>                 precision.  <setting> can be:
> 
>                 none
>                      Does not promote or pad any objects that share
>                      storage.
>                 dbl4
>                      Promotes floating-point objects that are
>                      single precision or are composed of such
>                      objects.
>                 dbl8
>                      Promotes floating-point objects that are
>                      double-precision or are composed of such
>                      objects.
>                 dbl
>                      Combines the promotions done by dbl4 and dbl8.
>                 dblpad4
>                      Performs the same promotions as dbl4, and pads
>                      objects of other types (except CHARACTER) that
>                      can share storage with promoted objects.
>                 dblpad8
>                      Performs the same promotions as dbl8, and also
>                      pads objects of other types (except CHARACTER)
>                      if they can share storage with promoted
>                      objects.
>                 dblpad
>                      Combines the promotions done by dbl4 and dbl8,
>                      and also pads objects of other types (except
>                      CHARACTER) if they can share storage with
>                      promoted objects.
> 
>                 The default is -qautodbl=none.
> 
>          -qcclines | -qnocclines
>                 Enables recognition of conditional compilation
>                 lines in fixed source form and F90 free source
>                 form. IBM free source form is not supported.  The
>                 default is -qcclines if -qsmp=omp is specified.
>                 Otherwise, the default is -qnocclines.
> 
>          -qctyplss[={arg|noarg}] | -qnoctyplss
>                 Specifies whether character constant expressions
>                 are allowed wherever typeless constants may be
>                 used. Specifying -qctyplss=arg allows character
>                 constant expressions, but if a Hollerith constant
>                 is used as an actual argument, it is passed to the
>                 procedure as if it was an integer actual argument.
>                 The default is -qnoctyplss. If -qctypless is
>                 specified with no suboption, the default is
>                 -qctyplss=noarg.
> 
>          -qddim | -qnoddim
>                 Specifies that the bounds of pointee arrays are
>                 re-evaluated each time the arrays are referenced
>                 and removes some restrictions on the bounds
>                 expressions for pointee arrays.  The default is
>                 -qnoddim.
> 
>          -qdpc[=<e>] | -qnodpc
>                 Increases the precision of real constants, for
>                 maximum accuracy, when assigning real constants to
>                 DOUBLE PRECISION variables. -qdpc=<e> also promotes
>                 constants with an <e> exponent.  The default is
>                 -qnodpc.
> 
>          -qescape | -qnoescape
>                 Specifies whether the backslash is treated as an
>                 escape character in character strings, Hollerith
>                 constants, H edit descriptors, and character string
>                 edit descriptors.  The default is -qescape.
> 
>          -qextern=<procedure_names_list>
>                 Allows user-written procedures to be called instead
>                 of XL Fortran intrinsics. <procedure_names_list> is
>                 a colon-separated list of procedure names.  The
>                 procedure names are treated as if they appear in an
>                 EXTERNAL statement in each compilation unit being
>                 compiled.
> 
>          -qextname[=<names_list>] | -qnoextname
>                 Adds an underscore to the names of all global
>                 entities, which helps in porting programs from
>                 systems where this is a convention for mixed-
>                 language programs. <names_list> is a colon-
>                 separated list of global entity names.  The default
>                 is -qnoextname.
> 
>          -qinit=f90ptr
>                 Makes the initial association status of pointers
>                 disassociated instead of undefined. The default
>                 association status of pointers is undefined.
> 
>          -qintlog | -qnointlog
>                 Allows mixture of integer and logical data entities
>                 in expressions and statements. The default is
>                 -qnointlog.
> 
>          -qintsize={2|4|8}
>                 Sets the size (in bytes) of default INTEGER and
>                 LOGICAL data entities (that is, those for which no
>                 length or kind is specified).  The default is
>                 -qintsize=4.
> 
>          -qlog4 | -qnolog4
>                 Specifies whether the result of a logical operation
>                 with logical operands is a LOGICAL(4) or is a
>                 LOGICAL with the maximum length of the operands.
>                 The default is -qnolog4.
> 
>          -qmodule=mangle81
>                 Specifies that the compiler should use the XL
>                 Fortran Version 8.1 naming convention for non-
>                 intrinsic module files. This option allows you to
>                 produce modules and their associated object files
>                 with the Version 10.1 compiler and link these
>                 object files with others compiled with the Version
>                 8.1 compiler, or earlier.
> 
>          -qnullterm | -qnonullterm
>                 Appends a null character to each character constant
>                 expression that is passed as a dummy argument, to
>                 make it more convenient to pass strings to C
>                 functions. The default is -qnonullterm.
> 
>          -qonetrip | -qnoonetrip
>                 The long form of the -1 option. See -1 for details.
>                 The default is -qnoonetrip.
> 
>          -qport=<suboption> | -qnoport
>                 Increases flexibility when porting programs to XL
>                 Fortran, providing a number of options to
>                 accommodate Fortran language extensions.  The
>                 suboptions are:
> 
>                 clogicals | noclogicals
>                      Allows non-zero integers to be treated as true
>                      when used as logicals. The change affects all
>                      logical operators. This suboption only takes
>                      effect if -qintlog is activated.  The default
>                      is noclogicals.
>                 hexint | nohexint
>                      Specifies that typeless constant hexadecimal
>                      strings are converted to integers when passed
>                      as actual arguments to the INT intrinsic
>                      function. Typeless constant hexadecimal
>                      strings which are not passed as actual
>                      arguments to INT remain unaffected.  The
>                      default is nohexint.
>                 mod | nomod
>                      Relaxes existing constraints on the MOD
>                      intrinsic function, allowing two arguments of
>                      the same data type parameter to be of
>                      different kind type parameters. The result
>                      will be of the same type as the argument, but
>                      with the larger kind type parameter value.
>                      The default is nomod.
>                 nullarg | nonullarg
>                      For an external or internal procedure
>                      reference, this causes the compiler to treat
>                      an empty argument (which is delimited by a
>                      left parenthesis and a comma, two commas, or a
>                      comma and a right parenthesis) as a null
>                      argument. This suboption has no effect if the
>                      argument list is empty.  The default is
>                      nonullarg.
>                 sce | nosce
>                      By default, the compiler performs short
>                      circuit evaluation in selected logical
>                      expressions using XL Fortran rules. Specifying
>                      'sce' allows the compiler to use non-XL
>                      Fortran rules. The compiler will perform short
>                      circuit evaluation if the current rules allow
>                      it.  The default is nosce.
>                 typestmt | notypestmt
>                      The TYPE statement, which behaves in a manner
>                      similar to the PRINT statement, is supported
>                      whenever this option is specified. The default
>                      is notypestmt.
>                 typlssarg | notyplssarg
>                      Converts all typeless constants to default
>                      integers if the constants are actual arguments
>                      to an intrinsic procedure whose associated
>                      dummy arguments are of integer type. Dummy
>                      arguments associated with typeless actual
>                      arguments of non-integer type remain
>                      unaffected by this option.  The default is
>                      notyplssarg.
> 
>                 The default is -qnoport.
> 
>          -qposition={appendold|appendunknown}
>                 Positions the file pointer at the end of the file
>                 when data is written after an OPEN statement with
>                 no "POSITION=" specifier, and the corresponding
>                 "STATUS=" value (OLD or UNKNOWN) is specified.  The
>                 default depends on the I/O specifiers in the OPEN
>                 statement and on the compiler invocation command.
>                 The default is -qposition=appendold for the xlf,
>                 xlf_r, xlf_r7, and f77/fort77 commands and the
>                 defined Fortran 90 and Fortran 95 behaviors for the
>                 xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r, xlf95_r7,
>                 f90 and f95 commands.
> 
>          -qqcount | -qnoqcount
>                 Accepts the character-count Q edit descriptor (Q)
>                 as well as the extended-precision Q edit descriptor
>                 (Qw.d). With -qnoqcount, all Q edit descriptors are
>                 interpreted as the extended-precision Q edit
>                 descriptor.  The default is -qnoqcount.
> 
>          -qrealsize=<bytes>
>                 Sets the default size of REAL, DOUBLE PRECISION,
>                 COMPLEX and DOUBLE COMPLEX values. The allowed
>                 values for <bytes> are 4 and 8.  The default is
>                 -qrealsize=4.
> 
>          -qsave[=<suboption>] | -qnosave
>                 Specifies the default storage class for local
>                 variables.  The suboptions are:
> 
>                 all
>                      The default storage class for all local
>                      variables is STATIC. This is the default when
>                      -qsave is specified without a suboption.
>                 defaultinit
>                      The default storage class is STATIC for local
>                      variables of derived type that have default
>                      initialization specified.
> 
>                 Specifying -qnosave sets the default storage class
>                 to AUTOMATIC.  The default is -qsave for xlf,
>                 xlf_r, xlf_r7, f77, or fort77 to duplicate the
>                 behavior of FORTRAN77 commands, and -qnosave
>                 otherwise.
> 
>          -qsclk[=<suboption>]
>                 Specifies the resolution that the SYSTEM_CLOCK
>                 intrinsic procedure uses in a program.  The
>                 suboptions are:
> 
>                 centi
>                      Uses centisecond resolution for the values
>                      returned.
>                 micro
>                      Uses microsecond resolution.
> 
>                 The default is -qsclk=centi.
> 
>          -qswapomp | -qnoswapomp
>                 Specifies that the compiler should recognize and
>                 substitute OpenMP routines in XL Fortran programs.
>                 The default is -qswapomp.
> 
>          -qundef | -qnoundef
>                 The long form of the -u option. See -u for details.
>                 The default is -qnoundef.
> 
>          -qxlf77=<settings_list>
>                 Provides compatibility with Fortran 77 aspects of
>                 language semantics and I/O data format that have
>                 changed. Most of these changes are required by the
>                 Fortran 90 standard. <settings_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 blankpad | noblankpad
>                      For internal, direct-access, and stream-access
>                      files, uses a default setting equivalent to
>                      pad='no'. This setting produces conversion
>                      errors when reading from such a file if the
>                      format requires more characters than the
>                      record has, thus duplicating the XL Fortran
>                      Version 2 behavior.
>                 gedit77 | nogedit77
>                      Uses Fortran 77 semantics for the output of
>                      REAL objects with the G edit descriptor.
>                 intarg | nointarg
>                      Converts all the integer arguments of an
>                      intrinsic procedure to the kind of the longest
>                      argument, if they are of different kinds.
>                 intxor | nointxor
>                      Treats .XOR. as a logical binary intrinsic
>                      operator rather than a defined operator.
>                 leadzero | noleadzero
>                      Produces a leading zero in real output under
>                      the D, E, L, F and Q edit descriptors.
>                 oldboz | nooldboz
>                      Turns blanks into zeros for data read by B, O,
>                      and Z edit descriptors, regardless of the
>                      "BLANK=" specifier or any BN or BZ control
>                      edit descriptors.
>                 persistent | nopersistent
>                      Saves the addresses of arguments to
>                      subprograms with ENTRY statements in static
>                      storage.
>                 softeof | nosofteof
>                      Allows READ and WRITE operations when a unit
>                      is positioned after its endfile record, unless
>                      that position is the result of executing an
>                      ENDFILE statement.
> 
>                 The default suboptions are: blankpad, nogedit77,
>                 nointarg, nointxor, leadzero, nooldboz,
>                 nopersistent, and nosofteof for the f90, xlf90,
>                 xlf90_r, xlf90_r7, f95, xlf95, xlf95_r, and
>                 xlf95_r7 commands, and are the exact opposite for
>                 the xlf, xlf_r, xlf_r7, f77, and fort77 commands.
> 
>          -qxlf90=<settings_list>
>                 Provides backward compatibility with XL Fortran for
>                 AIX Version 5 and the Fortran 90 standard for
>                 certain aspects of the Fortran language.
>                 <settings_list> is a colon-separated list of one or
>                 both of the following suboptions:
> 
>                 signedzero | nosignedzero
>                      Determines how the SIGN(A,B) function handles
>                      signed real 0.0. Prior to XL Fortran Version
>                      6.1, SIGN(A,B) returned |A| when B=-0.0. This
>                      behavior conformed with the Fortran 90
>                      standard. Now, if you specify the
>                      -qxlf90=signedzero compiler option, SIGN(A,B)
>                      returns -|A| when B=-0.0. This behavior
>                      conforms to the Fortran 95 standard and is
>                      consistent with the IEEE standard for binary
>                      floating-point arithmetic.
>                 autodealloc | noautodealloc
>                      Determines whether the compiler deallocates
>                      allocatable objects that are declared locally
>                      without either the SAVE or the STATIC
>                      attribute and have a status of currently
>                      allocated when the subprogram terminates.
> 
>                 The default suboptions are signedzero and
>                 autodealloc for the xlf95, xlf95_r, xlf95_r7 and
>                 f95 invocation commands. For all other invocation
>                 commands, the default suboptions are nosignedzero
>                 and noautodealloc.
> 
>   Linking Options
>          -b64   The AIX operating system provides 64-bit shared
>                 object files in both libc.a and libm.a. In 64-bit
>                 mode, you can use the -b64 linker option to
>                 instruct ld to bind with 64-bit objects.
> 
>          -bdynamic, -bshared, -bstatic
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 This is available on AIX 4.2 and above.
> 
>                 -bdynamic
>                      Specifies that shared objects are linked
>                      dynamically.
>                 -bshared
>                      Equivalent to -bdynamic.
>                 -bstatic
>                      Specifies that shared objects are statically
>                      linked into the output file.
> 
>                 The default is -bdynamic.
> 
>          -bhalt:<error_level>
>                 Specifies the maximum error level that is allowed
>                 before the linker (ld) command halts. If any linker
>                 command has an error return value greater than the
>                 value that is specified by the <error_level>
>                 variable, linking stops.  The default value is 4,
>                 as specified in the configuration file.
> 
>          -bloadmap:<filename>
>                 Requests that a log of linker actions and messages
>                 be saved in file <filename>. You can use the log to
>                 help diagnose linking problems.
> 
>          -bmaxdata=<bytes>
>                 Specifies the maximum amount of space to reserve
>                 for the program data segment for programs where the
>                 size of these regions is a constraint.  The default
>                 is -bmaxdata=0.
> 
>          -bmaxstack:<bytes>
>                 Specifies the maximum amount of space to reserve
>                 for the program stack segment for programs where
>                 the size of these regions is a constraint.
> 
>          -brtl | -bnortl
>                 Determines which algorithm will be used to find
>                 libraries that are specified with the -l option. If
>                 -brtl is specified, run-time linking is enabled.
> 
>          -bshared
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 See "-bdynamic, -bshared, -bstatic" for details.
>                 This is equivalent to -bdynamic.
> 
>          -bstatic
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 See "-bdynamic, -bshared, -bstatic" for details.
> 
>          -L<dir>
>                 Searches in directory <dir> for libraries specified
>                 by -l<key>.
> 
>          -l<key>
>                 Searches the specified library file at link time,
>                 where <key> selects the library lib<key>.a.
> 
>   Compiler Customization Options
>          -B<prefix>
>                 Determines a substitute path name for executable
>                 files used during compilation, such as the compiler
>                 of linker. <prefix> is the name of a directory
>                 where the alternative executable files reside. It
>                 is added to the beginning of the standard program
>                 names and must end in a slash (/). This option can
>                 be used in combination with the -t option, which
>                 determines which of these components are affected
>                 by -B.
> 
>          -F[<config_file>][:<stanza>]
>                 Specifies an alternative configuration file
>                 <config_file>, the command to be used (<stanza>)
>                 within the configuration file, or both. At least
>                 one of the arguments must be supplied.  The default
>                 stanza depends on the name of the command used to
>                 invoke the compiler.
> 
>          -P{v|k}[!]
>                 This option is obsolete and has no effect. Invokes
>                 the selected optimizing preprocessor.
> 
>          -P     Invokes the -Pv preprocessor before the compiler.
> 
>          -Pv    Invokes the -Pv preprocessor before the compiler.
> 
>          -Pk    Invokes the -Pk preprocessor before the compiler.
> 
>          -P!    Invokes the -Pv preprocessor only.
> 
>          -Pv!   Invokes the -Pv preprocessor only.
> 
>          -Pk!   Invokes the -Pk preprocessor only.
> 
>          -t<components_list>
>                 Applies the prefix from the -B option to the
>                 specified program, <components_list>, where
>                 <components_list> is a chain (with no separator
>                 character inbetween each <component>, ie: "-taFp")
>                 containing one or more of the following:
> 
>                 COMPONENT NAME           <component>       PROGRAM
>                 assembler                 a                as
>                 C preprocessor            F                cpp
>                 VAST-2 preprocessor       p                fpp
>                 KAP preprocessor          p                fppk
>                 compiler front end        c                xlfentry
>                 array language optimizer  h                xlfhot
>                 IPA/loop optimizer        I (upper-case i) ipa
>                 code generator            b                xlfcode
>                 binder                    z                bolt
>                 linker                    l (lower-case L) ld
>                 disassembler              d                dis
> 
>          -W<component>,<options_list>
>                 Passes the listed options to a component that is
>                 executed during compilation. <options_list> is a
>                 comma-separated list of one or more options, and
>                 <component> is one of the following:
> 
>                 COMPONENT NAME           <component>       PROGRAM
>                 assembler                 a                as
>                 C preprocessor            F                cpp
>                 VAST-2 preprocessor       p                fpp
>                 KAP preprocessor          p                fppk
>                 compiler front end        c                xlfentry
>                 array language optimizer  h                xlfhot
>                 IPA/loop optimizer        I (upper-case i) ipa
>                 code generator            b                xlfcode
>                 binder                    z                bolt
>                 linker                    l (lower-case L) ld
>                 disassembler              d                dis
> 
>   Integer and Floating-Point Options
>          -y<rounding_mode>
>                 Specifies compile-time rounding of constant
>                 floating-point expressions. It is equivalent to the
>                 -qieee option. <rounding_mode> is one of the
>                 following:
> 
>                 n = Round to nearest
>                 m = Round toward minus infinity
>                 p = Round toward plus infinity
>                 z = Round toward zero
> 
>                 The default is -yn.
> 
>          -qfloat=<suboptions_list>
>                 Determines different strategies for speeding up or
>                 improving the accuracy of floating-point
>                 calculations. <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 fltint | nofltint
>                      Speeds up floating-point-to-integer
>                      conversions by using an inline sequence of
>                      code instead of a call to a library function.
>                 fold | nofold
>                      Evaluates constant floating-point expressions
>                      at compile time.
>                 hsflt | nohsflt
>                      Speeds up calculations by removing range-
>                      checking on single-precision float results,
>                      and on conversions from floating-point to
>                      integer.
>                 hssngl | nohssngl
>                      Speeds up calculations in a safer way than
>                      hsflt, by rounding single-precision
>                      expressions only when the results are stored
>                      into REAL(4) memory locations
>                 maf | nomaf
>                      Generates multiply-add instructions where
>                      appropriate.
>                 nans | nonans
>                      Allows you to use the -qflttrap=invalid:enable
>                      option to detect and deal with exception
>                      conditions that involve signaling NaN (not-a-
>                      number) values.
>                 rndsngl | norndsngl
>                      Rounds the result of each single-precision
>                      (REAL(4)) operation to single-precision,
>                      rather than waiting until the full expression
>                      is evaluated. It sacrifices speed for
>                      consistency with results from similar
>                      calculations on other types of computers.
>                 rrm | norrm
>                      Turns off compiler optimizations that require
>                      the rounding mode to be the default, round-
>                      to-nearest, at run time.
>                 rsqrt | norsqrt
>                      Allows the optimizer to change a division by
>                      the result of a square root operation into a
>                      multiply by the reciprocal of the square root.
>                 strictnmaf | nostrictnmaf
>                      Turns off floating-point transformations that
>                      are used to introduce negative MAF
>                      instructions, as these transformations do not
>                      preserve the sign of a zero value.
>                 The default active suboptions are: nofltint, fold,
>                 nohsflt, nohssngl, maf, nonans, norelax, norndsngl,
>                 norrm, norsqrt, and nostrictnmaf.
> 
>          -qieee=<mode>
>                 Specifies the rounding mode for the compiler to use
>                 when evaluating constant floating-point expressions
>                 at compile time, where <mode> is one of:
> 
>                 near = Round to nearest representable number
>                 minus = Round toward minus infinity
>                 plus = Round toward plus infinity
>                 zero = Round toward zero
> 
>                 The default is -qieee=near.
> 
>          -qstrictieeemod | -qnostrictieeemod
>                 Specifies that the compiler will adhere to the
>                 Fortran 2003 IEEE arithmetic rules for the
>                 ieee_arithmetic and ieee_exceptions intrinsic
>                 modules.  The default is -qstrictieeemod.
> 
>   SEE ALSO
>          xlfndi(1), showpdf(1), cleanpdf(1), mergepdf(1),
>          resetpdf(1)
> 
>          For more information, refer to the following Web sites:
>          www.ibm.com/software/awdtools/fortran/xlfortran/library/
>          www.ibm.com/software/awdtools/fortran/xlfortran/support/
> 
>   COPYRIGHT
>          Licensed Materials - Property of IBM
> 
>          IBM(R) XL Fortran Enterprise Edition V10.1 for AIX(R)
> 
>          5724-M13
> 
>          (C) Copyright IBM Corp. 1991, 2005, and by others. All
>          Rights Reserved.
> 
>          IBM and AIX are trademarks or registered trademarks of IBM
>          Corp. in the U.S., other countries or both.
> 
>          US Government Users Restricted Rights - Use, duplication
>          or disclosure restricted by GSA ADP Schedule Contract with
>          IBM Corp.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> configure:1787: $? = 249
> configure:1794: f77 -V >&5
> export XL_CONFIG=/etc/xlf.cfg:f77 
> pg /usr/lpp/xlf/bin/default_msg/xlf.txt 
> 
> 
> 
>   xlf(1)                 IBM (October 2005)                  xlf(1)
> 
> 
> 
>   NAME
>          xlf, xlf90, xlf95, xlf_r, xlf90_r, xlf95_r, f90, f95,
>          xlf_r7, xlf90_r7, xlf95_r7, f77, fort77 - invoke the IBM
>          XL Fortran compiler
> 
>   SYNTAX
>          <invocation-command> [ <option> | <inputfile> ] ...
> 
>   DESCRIPTION
>          xlf and related invocation commands compile Fortran source
>          files.  They also process assembler source files and
>          object files. Unless you specify the -c option, these
>          commands call the link editor to produce a single object
>          file.
> 
>          The main difference between these commands is that they
>          use different default options (which are set in the
>          configuration file /etc/xlf.cfg).  For more information,
>          refer to the XL Fortran Enterprise Edition Compiler
>          Reference.
> 
>          The input file may have any of the following suffixes:
>           .f - Fortran source file
>           .f77 or .F77 - Fortran source file (fixed form) using
>                f77 stanza configuration
>           .f90 or .F90 - Fortran source file (free form) using
>                xlf90 configuration
>           .f95 or .F95 - Fortran source file (free form) using
>                xlf95 configuration
>           .o or .a - object file for ld command
>           .s - assembler source file
>           .F - Fortran source file with cpp preprocessor directives
> 
>   OPTIONS
>          Compiler options are categorized by their functions. In
>          each category, the flag options are listed first, followed
>          by the keyword options.
> 
>   Input Control Options
>          -I<dir>
>                 Adds a directory to the search path for include
>                 files and .mod files. If XL Fortran calls cpp, this
>                 option adds a directory to the search path for
>                 #include files. Before checking the default
>                 directories for include and .mod files, the
>                 compiler checks each directory in the search path.
>                 For include files, this path is only used if the
>                 file name in an INCLUDE line is not provided with
>                 an absolute path. By default, the following
>                 directories are searched in the following order:
> 
>                 1) The current directory (where the compiler is
>                 executed)
>                 2) The directory where the source file is located
> 
>          -k     Specifies that the program is in free source form.
>                 This is the short form of -qfree=f90.
> 
>          -U     Makes the compiler case-sensitive to identifier
>                 names. By default the compiler interprets all names
>                 as if they were lower-case.
> 
>          -qci=<nums_list>
>                 Activates the specified INCLUDE lines. <nums_list>
>                 is a colon-separated list of identification numbers
>                 (from 1 to 255) of conditional includes.
> 
>          -qcr | -qnocr
>                 Allows you to control how the compiler interprets
>                 the CR (carriage return) character.  This allows
>                 you to compile code written using a MAC OS X or
>                 DOS/Windows editor.  The default is -qcr.
> 
>          -qdirective[=<list>] | -qnodirective[=<list>]
>                 Specifies target strings to be recognized in a
>                 comment directive. <list> is a colon-separated list
>                 of directives. If -qdirective is specified without
>                 any directives, it turns on the default trigger
>                 constant IBM* if it has been turned off by a
>                 previous -qnodirective.  The default is
>                 -qnodirective.
> 
>          -qdlines | -qnodlines
>                 This is the long form of the -D option. See -D for
>                 more information.  The default is -qnodlines.
> 
>          -qfixed[=<right_margin>]
>                 Indicates that the input source program is in fixed
>                 source form and optionally specifies the maximum
>                 line length, <right_margin>. The maximum
>                 <right_margin> value is 132.  The default is
>                 -qfixed=72 for xlf, xlf_r, xlf_r7, f77, and fort77
>                 invocation commands, and -qfree=f90 for f90, f95,
>                 xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r, and
>                 xlf95_r7.
> 
>          -qfree[={f90|ibm}]
>                 Indicates that the source code is in free source
>                 form. The 'ibm' and 'f90' suboptions specify
>                 compatibility with the free source form defined for
>                 VS Fortran and Fortran 90, respectively. Note that
>                 the free source form defined for Fortran 90 also
>                 applies to Fortran 95.  The default is -qfree=f90
>                 for f90, f95, xlf90, xlf90_r, xlf90_r7, xlf95,
>                 xlf95_r, and xlf95_r7 invocation commands, and
>                 -qfixed=72 for xlf, xlf_r, xlf_r7, f77, and fort77.
> 
>          -qmbcs | -qnombcs
>                 Indicates to the compiler whether character literal
>                 constants, Hollerith constants, H edit descriptors,
>                 and character string edit descriptors can contain
>                 Multibyte Character Set (MBCS) or Unicode
>                 characters. The default is -qnombcs.
> 
>          -qmixed | -qnomixed
>                 The long form of the -U option. Makes the compiler
>                 case-sensitive to identifier names. The default is
>                 -qnomixed.
> 
>          -qsuffix=<option>=<suffix>
>                 Specifies the source file suffix, <suffix>, on the
>                 command line instead of in the .cfg file, where
>                 <option> can be:
> 
>                 f
>                      Specifies that <suffix> is the new source file
>                      suffix.
>                 o
>                      Specifies that <suffix> is the new object-file
>                      suffix.
>                 s
>                      Specifies that <suffix> is the new assembler
>                      source file suffix.
>                 cpp
>                      Specifies that <suffix> is the new
>                      preprocessor source file suffix.
> 
>   Output Control Options
>          -c     Produces an object file instead of an executable
>                 file.  Prevents the completed object file from
>                 being sent to the ld command for link-editing. With
>                 this option, the output is a .o file for each
>                 source file.
> 
>          -d     Causes preprocessed source files that are produced
>                 by cpp to be kept rather than to be deleted. By
>                 default temporary files produced by cpp are
>                 deleted.
> 
>          -o <name>
>                 Specifies a name for the output object, executable,
>                 or assembler source file.  The default name is
>                 a.out for executable files. The default name for an
>                 object source file is the same as the source file
>                 except that it has a '.o' extension.
> 
>          -q32   Selects 32-bit mode compilation mode. The -q32 and
>                 -qarch options determine the target machines that
>                 the 32-bit executable will run on. The default is
>                 -q32.
> 
>          -q64[=<suboption>]
>                 Selects 64-bit compilation mode. The -q64 option
>                 indicates that the object module will be created in
>                 64-bit object format and that the 64-bit
>                 instruction set will be generated. Note that you
>                 may compile in a 32-bit environment to create 64-
>                 bit objects, but you must link them in a 64-bit
>                 environment with the -q64 option. Use -q32 and -q64
>                 options, along with the -qarch and -qtune compiler
>                 options, to optimize the output of the compiler to
>                 the architecture on which that output will be used.
>                 The suboptions are:
> 
>                 largetype
>                      The object file will use the 64-bit Large Data
>                      Type (LDT) ABI. This object file may only be
>                      used on versions of AIX greater than or equal
>                      to 5.0.
> 
>          -qmoddir=<directory>
>                 Specifies the location for any .mod files that the
>                 compiler writes. By default .mod files are placed
>                 in the current directory.
> 
>          -qpic[=<suboption>] | -qnopic
>                 Generates Position Independent Code (PIC) that can
>                 be used in shared libraries.  The suboptions are:
> 
>                 large
>                      Allows the size of the Table of Contents to be
>                      larger than 64K. This suboption allows for
>                      more addresses to be stored in the Table of
>                      Contents and generates larger code.
>                 small
>                      Assumes that the size of the Table of Contents
>                      can be at most 64K.
> 
>                 The default is -qpic=small.
> 
>   Optimization Options
>          -NS<bytes>
>                 Specifies the size (in bytes) of the register spill
>                 space; the internal program storage areas used by
>                 the optimizer for register spills to storage.  The
>                 default is -NS512.
> 
>          -O[<level>]
>                 Specifies whether to optimize code during
>                 compilation and, if so, at which level. -O<level>
>                 is equivalent to -qoptimize=<level>. <level> can
>                 be:
> 
>                 (not specified)
>                      This is equivalent to -O2.
>                 0
>                      Almost all optimizations are disabled. This is
>                      equivalent to -qnooptimize.
>                 1
>                      Reserved for future use. Ignored by compiler.
>                 2
>                      Performs a set of optimizations that are
>                      intended to offer improved performance without
>                      an unreasonable increase in time or storage
>                      that is required for compilation.
>                 3
>                      Performs additional optimizations that are
>                      memory intensive, compile-time intensive, and
>                      may change the semantics of the program
>                      slightly, unless -qstrict is specified. We
>                      recommend these optimizations when the desire
>                      for run-time speed improvements outweighs the
>                      concern for limiting compile-time resources.
>                      This level of optimization also affects the
>                      setting of the -qfloat option, turning on the
>                      'fltint' and 'rsqrt' suboptions by default,
>                      and setting -qmaxmem=-1.  This option implies
>                      -qhot=level=0.
>                 4
>                      Aggressively optimizes the source program,
>                      trading off additional compile time for
>                      potential improvements in the generated code.
>                      You can specify the option at compile time or
>                      at link time. if you specify it at link time,
>                      it will have no effect unless you also specify
>                      it at compile time for at least the file that
>                      contains the main program. -O4 implies the
>                      following other options:
>                      -qhot
>                      -qipa
>                      -O3
>                      -qarch=auto
>                      -qtune=auto
>                      -qcache=auto
>                 5
>                      Performs all optimizations from -O4, and also
>                      sets -qipa=level=2 to perform full inter-
>                      procedural data flow and alias analysis.
> 
>                 -O4 and -O5 perform whole-program analysis and
>                 should be specified at both compilation and link
>                 time to have maximal effect.  The default is -O0.
> 
>          -p[g]  Sets up the object file for profiling. Specifying
>                 '-pg' will produce more extensive statistics. The
>                 default is no profiling.
> 
>          -Q[<suboption>]
>                 Specifies whether Fortran 90 or Fortran 95
>                 procedures are inlined and/or the names of
>                 particular procedures that should or should not be
>                 inlined. names is a list of procedure names that
>                 are separated by colons. This option can take the
>                 form:
> 
>                 -Q
>                      Attempts to inline all appropriate functions,
>                      subject to limits on the number of inlined
>                      calls and the amount of code size increase as
>                      a result.
>                 -Q!
>                      Turns off inlining.
>                 -Q+<names_list>
>                      Inlines the functions listed in <names_list>
>                      and any other appropriate functions, where
>                      <names_list> is a colon-separated list.
>                 -Q-<names_list>
>                      Does not inline functions listed in
>                      <names_list>, where <names_list> is a colon-
>                      separated list. All other appropriate
>                      functions are inlined.
> 
>          -s     Strips the symbol table, line number information,
>                 and relocation information from the output file.
> 
>          -qalias=<suboptions_list>
>                 Indicates whether a program contains certain
>                 categories of aliasing. The compiler limits the
>                 scope of some optimizations when there is a
>                 possibility that different names are aliases for
>                 the same storage locations. <suboptions_list> is a
>                 colon-separated list of one or more of the
>                 following suboptions:
> 
>                 aryovrlp | noaryovrlp
>                      Indicates whether the compilation units
>                      contain any array assignments between
>                      storage-associated arrays. If not, specify
>                      noaryovrlp to improve performance.
>                 intptr | nointptr
>                      Indicates whether the compilation units
>                      contain any integer POINTER statements. If so,
>                      specify intptr.
>                 pteovrlp | nopteovrlp
>                      Indicates whether any pointee variables may be
>                      used to refer to any data objects that are not
>                      pointee variables, or whether two pointee
>                      variables may be used to refer to the same
>                      storage location. If not, specify nopteovrlp.
>                 std | nostd
>                      Indicates whether the compilation units
>                      contain any non-standard aliasing (see
>                      Compiler Reference for more information). If
>                      so, specify nostd.  (-qalias=nostd replaces
>                      the obsolete -qxflag=xalias option.)
> 
>                 For the xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r,
>                 xlf95_r7, f90 and f95 commands, the default
>                 suboptions are: aryovrlp, nointptr, pteovrlp, and
>                 std. For the xlf, xlf_r, xlf_r7, f77, and fort77
>                 commands, the default suboptions are: aryovrlp,
>                 intptr, pteovrlp, and std.
> 
>          -qalign=<suboptions_list>
>                 Specifies the alignment of data objects in storage
>                 to avoid performance problems with misaligned data.
>                 <suboptions_list> is a colon-separated list of one
>                 or more of the following suboptions:
> 
>                 4k | no4k
>                      Specifies whether large arrays and structures
>                      (at least 4096 bytes in size) will be aligned
>                      on a 4K (4096-byte, or page) boundary.  Use of
>                      this option may help to improve the
>                      performance of programs using data striping.
>                 bindc=<suboption>
>                      Specifies that the alignment and padding for
>                      an XL Fortran derived type with the BIND(C)
>                      attribute are compatible with a C struct type
>                      that is compiled with the corresponding XL C
>                      alignment option. The compatible alignment
>                      options are:
>                      -qalign=bindc=bit_packed
>                      -qalign=bindc={full|power}
>                      -qalign=bindc=packed
>                      -qalign=bindc={twobyte|mac68k}
>                      -qalign=bindc=natural
>                      Each of these "-qalign=bindc=" sub-suboptions
>                      is equivalent to the XL C "-qalign=" suboption
>                      of the same name.  (ie: For
>                      -qalign=bindc=bit_packed, the corresponding XL
>                      C option is -qalign=bit_packed)
>                 struct=<option>
>                      Specifies how objects or arrays of a derived
>                      type (declared using a record structure) are
>                      stored, and whether or not padding is used
>                      between components. The options are:
>                      natural
>                           Objects of a derived type are stored with
>                           sufficient padding such that components
>                           will be stored on their natural alignment
>                           boundaries, unless storage association
>                           requires otherwise.
>                      packed
>                           Objects of a derived type are stored with
>                           no padding between components, other than
>                           any padding represented by %FILL
>                           components.
>                      port
>                           Storage padding is the same as described
>                           above for the struct=natural suboption,
>                           except that the alignment of components
>                           of type complex is the same as the
>                           alignment of components of type real of
>                           the same kind. The padding for an object
>                           that is immediately followed by a union
>                           is inserted at the beginning of the first
>                           map component for each map in that union.
> 
>                 The default activated suboptions are: no4k,
>                 struct=natural, and bindc=power.
> 
>          -qarch=<suboption>
>                 Specifies which instructions the compiler can
>                 generate.  The suboptions are:
> 
>                 auto
>                      Automatically detects the specific
>                      architecture of the compiling machine. It
>                      assumes that the execution environment will be
>                      the same as the compilation environment.
>                 com
>                      You can run the executable file that the
>                      compiler generated on any hardware platform
>                      supported by the compiler, because the file
>                      contains only instructions that are common to
>                      all machines.
>                 p2sc
>                      The executable file can be executed on any
>                      POWER2 Super Chip hardware platform.
>                 ppc
>                      Produces an object that contains instructions
>                      that run on any of the 32-bit PowerPC hardware
>                      platforms. Using -q64 with ppc upgrades the
>                      architecture to ppc64grsq.
>                 ppcgr
>                      In 32-bit mode, produces object code
>                      containing optional graphics instructions for
>                      PowerPC hardware platforms.  In 64-bit mode,
>                      produces object code containing optional
>                      graphics instructions that will run on 64-bit
>                      PowerPC platforms, but not on 32-bit-only
>                      platforms.  Using -q64 with ppcgr upgrades the
>                      architecture to ppc64grsq.
>                 ppc64
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform. When compiled
>                      in 32-bit mode, the resulting object code may
>                      include instructions that are not recognized
>                      or behave differently when run on 32-bit
>                      PowerPC platforms.
>                 ppc64gr
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform that supports
>                      the optional graphics instructions.
>                 ppc64grsq
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform that supports
>                      the optional graphics and square root
>                      instructions.
>                 pwr
>                      Produces an object that contains instructions
>                      that run on any of the POWER or POWER2
>                      hardware platforms.
>                 pwr2s
>                      The executable file can be executed on any
>                      desktop implementation of the POWER2 chip.
>                 pwr2
>                      Produces an object that contains instructions
>                      that run on the POWER2 hardware platforms.
>                 pwrx
>                      Equivalent to pwr2.
>                 pwr3
>                      Produces an object that contains instructions
>                      that run on the POWER3, POWER4, POWER5,
>                      POWER5+ or PowerPC 970 hardware platforms.
>                 pwr4
>                      Produces an object that contains instructions
>                      that run on the POWER4, POWER5, POWER5+ or
>                      PowerPC 970 hardware platforms.
>                 pwr5
>                      Produces an object that contains instructions
>                      that run on the POWER5 or POWER5+ hardware
>                      platforms.
>                 pwr5x
>                      Produces an object that contains instructions
>                      that run on any POWER5+ hardware platform.
>                 rs64a
>                      Produces an object that contains instructions
>                      that run on an RS64I hardware platform.
>                 rs64b
>                      Produces an object that contains instructions
>                      that run on an RS64II hardware platform.
>                 rs64c
>                      Produces an object that contains instructions
>                      that run on an RS64III hardware platform.
>                 601
>                      Produces an object that contains instructions
>                      that run on PowerPC 601 systems.
>                 603
>                      Produces an object that contains instructions
>                      that run on PowerPC 603 systems.
>                 604
>                      Produces an object that contains instructions
>                      that run on PowerPC 604 systems.
>                 ppc970
>                      Generates instructions specific to PowerPC 970
>                      processors.
>                 ppc64v
>                      Generates instructions for any 64-bit PowerPC
>                      processor (like PowerPC 970) with VMX.
> 
>                 The default is -qarch=com.
> 
>          -qassert=<suboptions_list>
>                 Provides information about the program to help
>                 fine-tune optimizations. <suboptions_list> is a
>                 colon-separated list of one or both of the
>                 following suboptions:
> 
>                 deps | nodeps
>                      Loops can contain loop-carried dependencies.
>                 itercnt=<n>
>                      The iteration count of a typical loop is <n>.
> 
>                 The default is -qassert=deps:itercnt=1024.
> 
>          -qcache=<suboptions_list>
>                 Specifies the cache configuration for a specific
>                 execution machine. <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 assoc=<n>
>                      Specifies the set-associativity of the cache:
>                      0   = Directly-mapped
>                      1   = Fully associative
>                      (n > 1) = <n>-way set-associative
>                 auto
>                      Automatically detects the specific cache
>                      configuration of the compiling machine. It
>                      assumes that the execution environment will be
>                      the same as the compilation environment.
>                 cost=<cycles>
>                      Specifies the performance penalty resulting
>                      from a cache miss.
>                 level=<level>
>                      Specifies which level of cache is affected:
>                      1 = Basic cache
>                      2 = Level-2 cache, or the table lookaside
>                      buffer (TLB) if the machine has no level-2
>                      cache
>                      3 = TLB, in a machine that does have a level-2
>                      cache
>                 line=<bytes>
>                      Specifies the line size of the cache.
>                 size=<Kbytes>
>                      Specifies the total size of the cache.
>                 type=<type>
>                      Specifies the type of cache that the settings
>                      apply to:
>                      C or c = Combined data and instruction cache
>                      D or d = Data cache
>                      I or i = Instruction cache
> 
>                 The default is determined by the -qtune and -qarch
>                 settings.
> 
>          -qcompact | -qnocompact
>                 Reduces optimizations that increase code size.  The
>                 default is -qnocompact.
> 
>          -qdirectstorage | -qnodirectstorage
>                 Specifies that a compilation unit might reference
>                 write-through-enabled or cache-inhibited storage.
>                 The default is -qnodirectstorage.
> 
>          -qenablevmx | -qnoenablevmx
>                 Enables generation of Vector Multimedia Extension
>                 (VMX) instructions.  The default is -qnoenablevmx.
> 
>          -qessl | -qnoessl
>                 Allows the use of the Engineering and Scientific
>                 Subroutine Library (ESSL) routines in place of
>                 Fortran 90 intrinsic procedures.  The default is
>                 -qnoessl.
> 
>          -qfdpr | -qnofdpr
>                 Provides object files with information that the AIX
>                 Feedback Directed Program Restructuring (fdpr)
>                 performance-tuning utility needs to optimize the
>                 resulting executable file.  The default is
>                 -qnofdpr.
> 
>          -qhot[=<suboptions>] | -qnohot
>                 Performs high-order loop analysis and
>                 transformations during optimization. This option is
>                 a powerful alternative to hand-tuning that provides
>                 opportunities to optimize loops and array language.
>                 The suboptions are:
> 
>                 arraypad[=<n>]
>                      When <n> is specified, the compiler will pad
>                      every array in the code. The pad amount must
>                      be a positive integer value. When <n> is not
>                      specified, the compiler will pad any arrays
>                      where it infers that there may be a benefit.
>                 level={0|1}
>                      Specifies the level of high-order
>                      transformation to perform during compilation.
>                      At level=1, full high-order transformation is
>                      performed, but at level=0 only a subset of the
>                      high-order transformations are performed,
>                      which reduces compile time. See the XL Fortran
>                      Compiler Reference for more information.
>                 simd | nosimd
>                      Converts certain operations in a loop that
>                      apply to successive elements of an array into
>                      a VMX (Vector Multimedia Extension)
>                      instruction.  If you specify -qhot=nosimd, the
>                      compiler performs optimizations on loops and
>                      arrays, but avoids replacing certain code with
>                      VMX instructions.
>                 vector | novector
>                      Specifies whether to allow the compiler to
>                      optimize by replacing code with calls to
>                      vector library routines.  Only takes effect
>                      when specified with -qnostrict or -O3 or
>                      higher optimization level.
> 
>                 The default is -qnohot. If -qhot is specified
>                 without parameters, the default is -qhot=vector.
> 
>          -qipa[=<suboptions_list>] | -qnoipa
>                 Enhances -O optimization by performing detailed
>                 analysis across procedures. Optimization level -O2
>                 or higher is required when using -qipa.
>                 <suboptions_list> is a colon-separated list of
>                 suboptions. Regular expressions are supported when
>                 specifying <procedure_names_list> in the following
>                 -qipa suboptions: exits, inline, noinline, lowfreq,
>                 pure, safe, and unknown. <procedure_names_list> is
>                 a comma-separated list. The suboptions are:
> 
>                 exits=<procedure_names_list>
>                      Specifies a selected set of procedures which
>                      always end the program.
>                 clonearch=<architecture_list> | noclonearch
>                      Allows you to specify multiple architectures
>                      in the event that you want to compile your
>                      application for multiple architectures with a
>                      single binary file. <architecture_list> is a
>                      comma-separated list of one or more of the
>                      following architectures: pwr4, pwr5, ppc970,
>                      and pwr5x. This must be specified during link
>                      time.  The default is noclonearch.
>                 cloneproc=<names_list> | nocloneproc=<names_list>
>                      Allows you to explicitly declare which
>                      procedures the compiler should attempt to
>                      clone. <names_list> is a comma-separated list
>                      of the mangled names of the functions that you
>                      wish to clone (or not clone). Please note that
>                      this suboption has no effect unless
>                      -qipa=clonearch=<arch> is specified. You can
>                      use regular expression syntax when specifying
>                      function names.  The default is nocloneproc.
>                 inline=<options_list>
>                      Specifies a colon-separated list of inline
>                      options, which are as follows:
>                      auto | noauto
>                           Specifies whether to automatically
>                           perform inline expansion.  The default is
>                           auto.
>                      limit=<n>
>                           Changes the size limits that the
>                           inline=auto option uses to determine how
>                           much inline expansion to do. <n> is the
>                           optimizers approximation of the number of
>                           bytes of code that will be generated.
>                      <procedure_names_list>
>                           Specifies the procedures to attempt to
>                           inline.
>                      threshold=<num>
>                           Specifies the upper size limit on
>                           procedures to inline. This argument is
>                           implemented only when inline=auto is on.
>                 noinline=<procedure_names_list>
>                      Specifies the procedures which are not to be
>                      inlined.
>                 isolated=<procedure_names_list>
>                      Specifies the procedures that are not compiled
>                      with -qipa and do not directly refer to any
>                      global variable.
>                 level=<level>
>                      Determines the amount of IPA analysis and
>                      optimization to perform:
>                      0
>                           Performs minimal inter-procedural
>                           analysis and optimization.
>                      1
>                           Turns on inlining, limited alias
>                           analysis, and limited call-site
>                           tailoring.
>                      2
>                           Full inter-procedural data flow and alias
>                           analysis.
>                      The default level is 1.
>                 list[={<filename>|short|long}]
>                      Specifies an output listing file name during
>                      the link phase, in the event that an object
>                      listing has been requested using the -qlist or
>                      -qipa=list option. The default name is
>                      "a.lst". Specifying 'long' or 'short'
>                      determines which listing sections will be
>                      included. The default is short.
>                 lowfreq=<procedure_names_list>
>                      Specifies the procedures that are likely to be
>                      called infrequently during the course of a
>                      typical program run.
>                 malloc16 | nomalloc16
>                      Instructs the compiler to assume that the
>                      dynamic memory allocation routines (such as
>                      malloc/calloc/realloc/new) will return 16-byte
>                      aligned memory addresses. The compiler will
>                      optimize based on this assumption. Note that
>                      if the assertion is false, incorrect results
>                      may be generated.  The default is 'malloc16'
>                      in 64-bit mode, and 'nomalloc16' otherwise.
>                 missing={unknown|safe|isolated|pure}
>                      Specifies the interprocedural behavior for
>                      procedures not compiled with -qipa.  The
>                      default is 'unknown'.
>                 object | noobject
>                      Includes standard object code in the object
>                      files. If the noobject option is specified, it
>                      can substantially reduce overall compilation
>                      time by not generating object code during the
>                      first IPA phase. The default is object. Note,
>                      this is a compile-time suboption.
>                 partition={small|medium|large}
>                      Specifies the size of the regions within the
>                      program to analyze. Larger partitions contain
>                      more procedures, which result in better
>                      interprocedural analysis but require more
>                      storage to optimize.  The default is medium.
>                 pdfname=<filename>
>                      Specifies the name of the profile data file
>                      that contains the PDF profiling information.
>                      The default filename is __pdf.
>                 pure=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure that you
>                      specified as "pure" must be "isolated" and
>                      "safe". It must not alter the internal state
>                      nor have side-effects, which are defined as
>                      potentially altering any data object visible
>                      to the caller.
>                 safe=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure that you
>                      specified as "safe" may modify global
>                      variables and dummy arguments.
>                 stdexits | nostdexits
>                      Specifies that certain predefined routines can
>                      be optimized as with the exits suboption. The
>                      procedures are abort, exit, _exit, and
>                      _assert.  The default is nostdexits.
>                 threads[=<n>] | nothreads
>                      Specifies the number of threads for the
>                      compiler to use. When <n> is not specified,
>                      the compiler decides the number of threads.
>                      Otherwise, up to <n> threads are used to
>                      invoke the compiler backend. Specifying
>                      'nothreads' is equivalent to running one
>                      serial process.
>                 unknown=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure specified
>                      as "unknown" may make calls to other parts of
>                      the program compiled with -qipa and modify
>                      global variables and dummy arguments.
> 
>                 Options intended for use by the link-time phase of
>                 -qipa are -qlibansi, -qlibessl, -qlibposix and
>                 -qthreaded.  The default is -qnoipa.
> 
>          -qkeepparm | -qnokeepparm
>                 Ensures that the incoming parameters are stored on
>                 the stack even when optimizing. This may negatively
>                 impact execution performance. This option then
>                 provides access to the values of incoming
>                 parameters to tools, such as debuggers, simply by
>                 preserving those values on the stack.  The default
>                 is -qnokeepparm.
> 
>          -qlargepage | -qnolargepage
>                 Indicates that a program, designed to execute in a
>                 large page memory environment, can take advantage
>                 of large 16 MB pages provided on POWER4 and higher
>                 based systems.  The default is -qnolargepage.
> 
>          -qlibansi | -qnolibansi
>                 Assumes that all functions with the name of an ANSI
>                 C defined library function are in fact the library
>                 functions.  The default is -qnolibansi.
> 
>          -qlibessl | -qnolibessl
>                 Assumes that all functions with the name of an ESSL
>                 defined library function are, in fact, the library
>                 functions.  The default is -qnolibessl.
> 
>          -qlibposix | -qnolibposix
>                 Assumes that all functions with the name of a POSIX
>                 1003.1 defined library function are, in fact, the
>                 system functions.  The default is -qnolibposix.
> 
>          -qmaxmem=<kbytes>
>                 Limits the amount of memory that the compiler
>                 allocates while performing specific, memory-
>                 intensive optimizations. If <kbytes> is -1, the
>                 compiler will take as much memory as it needs
>                 without checking for limits. The default is
>                 -qmaxmem=2048 when using optimization level -O2,
>                 and -qmaxmem=-1 when using -O3 or greater.
> 
>          -qoptimize[=<level>] | -qnooptimize
>                 The long form of the -O option. -qoptimize=<level>
>                 is equivalent to -O<level>. See the -O option.  The
>                 default is -qnooptimize.
> 
>          -qpdf1 Produces an object that is instrumented to collect
>                 run-time execution information. This is phase 1 of
>                 the profile-directed feedback optimization process.
> 
>          -qpdf2 Tunes application performance using the data
>                 generated by running a program compiled with
>                 -qpdf1. This is phase 2 of the profile-directed
>                 feedback optimization process.
> 
>          -qprefetch | -qnoprefetch
>                 Automatically inserts prefetch instructions where
>                 the optimizer perceives a benefit.  The default is
>                 -qprefetch.
> 
>          -qrecur | -qnorecur
>                 Not recommended. Allows external subprograms to be
>                 called recursively. For new programs, use the
>                 RECURSIVE keyword, which provides a standard-
>                 conforming way of using recursive procedures.  The
>                 default is -qnorecur.
> 
>          -qshowpdf | -qnoshowpdf
>                 Adds additional call and block count profiling
>                 information to an executable. This option is used
>                 together with the -qpdf1 option.  The default is
>                 -qnoshowpdf.
> 
>          -qsmallstack[=<suboption>] | -qnosmallstack
>                 Specifies that the compiler will minimize stack
>                 usage where possible. This option can take the
>                 form:
> 
>                 -qsmallstack
>                      Enables only general small stack
>                      transformations.
>                 -qsmallstack=dynlenonheap
>                      Asserts that automatic variables which are
>                      dynamically-sized are allocated from the heap
>                      and enables general small stack
>                      transformations.
>                 -qsmallstack=nodynlenonheap
>                      Disables dynamic-length variable allocation.
>                 -qnosmallstack
>                      Disables only the general small stack
>                      transformations.
> 
>                 The default is -qnosmallstack.
> 
>          -qsmp[=<suboptions_list>] | -qnosmp
>                 Specifies that code should be produced for an SMP
>                 system.  <suboptions_list> is a colon-separated
>                 list of one or more of the following suboptions:
> 
>                 auto | noauto
>                      Enables automatic parallelization.
>                 nested_par | nonested_par
>                      Specifies that prescriptive nested parallel
>                      constructs should be parallelized by the
>                      compiler.
>                 omp | noomp
>                      Enforces compliance with the OpenMP Fortran
>                      API.
>                 opt | noopt
>                      Controls optimization for parallelization.
>                      -qsmp=noopt specifies that the compiler should
>                      do the least amount of optimization that is
>                      required to parallelize the code and preserve
>                      maximum debugability.
>                 rec_locks | norec_locks
>                      Allows recursive locks to be used to avoid
>                      problems associated with CRITICAL constructs.
>                      If -qsmp=norec_locks is specified, recursive
>                      locks will not be used to implement critical
>                      sections.
>                 schedule=<suboptions>
>                      The schedule suboption can take any of the
>                      following sub-suboptions:
>                      affinity[=<n>]
>                      dynamic[=<n>]
>                      guided[=<n>]
>                      runtime
>                      static[=<n>]
>                      For their descriptions, refer to the XL
>                      Fortran Compiler Reference.
>                 threshold=<n>
>                      Controls the amount of automatic loop
>                      parallelization that occurs. The value of <n>
>                      represents the lower limit allowed for
>                      parallelization of a loop, based on the level
>                      of "work" present in a loop.
> 
>                 The default is -qnosmp.  If you specify -qsmp
>                 without suboptions, the default suboptions are:
>                 auto, opt, noomp, norec_locks, nonested_par,
>                 schedule=runtime, and threshold=100.
> 
>          -qspillsize=<bytes>
>                 The long form of -NS. See the -NS option.  The
>                 default is -qspillsize=512.
> 
>          -qstacktemp=<num>
>                 Determines where to allocate applicable compiler
>                 temporaries at run time. The allocation depends on
>                 the value of <num>. The values are:
> 
>                 0
>                      Indicates that the compiler will decide
>                      whether to allocate the applicable compiler
>                      temporaries on the heap or the stack.
>                 -1
>                      Indicates that applicable compiler temporaries
>                      are to be always allocated on the stack. This
>                      is the best-performing setting but uses the
>                      most amount of stack storage.
>                 (1 or greater)
>                      Indicates that applicable compiler temporaries
>                      less than this value (bytes) should be
>                      allocated on the stack and those greater than
>                      or equal to this value should be allocated on
>                      the heap.
> 
>                 The default is -qstacktemp=0.
> 
>          -qstrict | -qnostrict
>                 Ensures that optimizations done by the -O3 and
>                 greater (and optionally -O2) options do not alter
>                 the semantics of a program. This option is ignored
>                 for -qnoopt.  For -O3 and greater, the default is
>                 -qnostrict. Otherwise the default is -qstrict.
> 
>          -qstrict_induction | -qnostrict_induction
>                 Prevents the compiler from performing induction
>                 (loop counter) variable optimizations that could
>                 alter the semantics of a program.  The default is
>                 -qnostrict_induction.
> 
>          -qthreaded
>                 Asserts that the compiler will generate thread-safe
>                 code when generating its own code or allocating
>                 compiler-created temporary data. User-written code
>                 that is algorithmically not thread-safe is
>                 unaffected by this option and will remain non-
>                 thread-safe. The default is -qthreaded when using
>                 xlf_r, xlf_r7, xlf90_r, xlf90_r7, xlf95_r, or
>                 xlf95_r7 invocation commands.
> 
>          -qtune=<suboption>
>                 Tunes instruction selection, scheduling, and other
>                 implementation-dependent performance enhancements
>                 for a specific implementation of a hardware
>                 architecture.  -qtune will not alter the ability of
>                 a program to run on a processor but will produce
>                 optimal code sequences tuned to a particular
>                 processor.  The suboptions are:
> 
>                 auto
>                      Automatically detects the specific processor
>                      type of the compiling machine and produces an
>                      object optimized for that processor.
>                 601
>                      Produces an object optimized for all the
>                      PowerPC 601 processors.
>                 603
>                      Produces an object optimized for all the
>                      PowerPC 603 processors.
>                 604
>                      Produces an object optimized for all the
>                      PowerPC 604 processors.
>                 pwr
>                      Produces an object optimized for the POWER
>                      hardware platforms.
>                 p2sc
>                      The optimizations are tuned for the POWER2
>                      Super Chip.
>                 pwr2
>                      Produces an object optimized for the POWER2
>                      hardware platforms.
>                 pwrx
>                      This is equivalent to pwr2.
>                 pwr2s
>                      The optimizations are tuned for the desktop
>                      implementation of the POWER2 architecture,
>                      which has a narrower processor-to-memory bus
>                      than other POWER2 implementations.
>                 pwr3
>                      Produces an object optimized for the POWER3
>                      hardware platforms.
>                 pwr4
>                      Produces an object optimized for the POWER4
>                      hardware platforms.
>                 pwr5
>                      Produces an object optimized for the POWER5
>                      hardware platforms.
>                 rs64a
>                      Produces an object optimized for the RS64I
>                      processor.
>                 rs64b
>                      Produces an object optimized for the RS64II
>                      processor.
>                 rs64c
>                      Produces an object optimized for the RS64III
>                      processor.
>                 ppc970
>                      Produces an object optimized for PowerPC 970
>                      processors.
> 
>                 The compiler uses -qtune setting that is compatible
>                 with the target architecture, which is controlled
>                 by the -qarch, -q32, and -q64 options.  The default
>                 setting is determined by the setting of -qarch.
> 
>          -qunroll[={auto|yes}] | -qnounroll
>                 Specifies whether unrolling DO loops is allowed in
>                 a program. Unrolling is allowed on outer and inner
>                 DO loops.  The suboptions are:
> 
>                 auto
>                      The compiler performs basic loop unrolling.
>                 yes
>                      The compiler looks for more opportunities to
>                      perform loop unrolling than is done with the
>                      -qunroll=auto option. Specifying -qunroll with
>                      no suboptions is equivalent to -qunroll=yes.
> 
>                 The default is -qunroll=auto.
> 
>          -qunwind | -qnounwind
>                 Specifies that the compiler will preserve the
>                 default behavior for saves and restores to volatile
>                 registers during a procedure call.  If you specify
>                 -qnounwind, the compiler rearranges subprograms to
>                 minimize saves and restores to volatile registers.
>                 This rearrangement may make it impossible for the
>                 program or debuggers to walk through or "unwind"
>                 subprogram stack frame chains.  The default is
>                 -qunwind.
> 
>          -qvecnvol | -qnovecnvol
>                 Asserts that the compiled application will use both
>                 volatile and non-volatile vector registers. You
>                 should use this option only after understanding
>                 interoperability with old binaries. If you are
>                 compiling C/C++ code in Fortran which calls any of
>                 the following subroutines: setjmp(),longjmp(),
>                 sigsetjmp(), siglongjmp(), _setjmp(), _longjmp(),
>                 getcontext(), setcontext(), makecontext(), and
>                 swapcontext(), then you should set -qnovecnvol.
>                 bos.adt.include version 5.3.0.30 or greater should
>                 be installed to use -qvecnvol on the host system.
>                 The default is -qnovecnvol.
> 
>          -qzerosize | -qnozerosize
>                 Improves performance of Fortran 77 and some Fortran
>                 90 and Fortran 95 programs by preventing checking
>                 for zero-sized character strings and arrays.
>                 For the xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r,
>                 xlf95_r7, f90, and f95 commands, the default is
>                 -qzerosize.  For the xlf, xlf_r, xlf_r7, f77, and
>                 fort77 commands, the default is -qnozerosize.
> 
>   Error Checking and Debugging Options
>          -C     Checks each reference to an array element, array
>                 section, or character substring for correctness.
>                 This is the short form of -qcheck.
> 
>          -D     Specifies whether the compiler compiles fixed
>                 source form lines with a D in column 1 or treats
>                 them as comments. Please note that in order to pass
>                 C-style -D macro definitions to the C preprocessor
>                 (e.g. compiling a file that ends with .F) use the
>                 -W option. For example:
>                 -WF,-DDEFINE_THIS
>                 -D is the short form of -qdlines.
> 
>          -g     Generates debug information for use by a symbolic
>                 debugger.
> 
>          -qcheck | -qnocheck
>                 The long form of the -C option. See -C for details.
>                 The default is -qnocheck.
> 
>          -qdbg | -qnodbg
>                 The long form of the -g option. See -g for details.
>                 The default is -qnodbg.
> 
>          -qdpcl | -qnodpcl
>                 Generates symbols that tools based on the Dynamic
>                 Probe Class Library (DPCL) API can use to see the
>                 structure of an executable file. You must also
>                 specify the -g option when you specify -qdpcl.
>                 This option has no effect when optimization (-O) is
>                 enabled. The default is -qnodpcl.
> 
>          -qextchk | -qnoextchk
>                 Sets up type-checking information for common
>                 blocks, procedure definitions, procedure
>                 references, and module data. Later, the linker can
>                 detect mismatches across compilation units using
>                 this information.  The default is -qnoextchk.
> 
>          -qflttrap[=<suboptions_list>] | -qnoflttrap
>                 Determines what types of floating-point exception
>                 conditions to detect at run time. The program
>                 receives a SIGTRAP signal when the corresponding
>                 exception occurs.  <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 enable
>                      Turn on checking for the specified exceptions
>                      in the main program so that the exceptions
>                      generate SIGTRAP signals.
>                 imprecise
>                      Only check for the specified exceptions on
>                      subprogram entry and exit.
>                 inexact
>                      Detect and trap on floating-point inexact, if
>                      exception checking is enabled.
>                 invalid
>                      Detect and trap on floating-point invalid
>                      operations.
>                 nanq
>                      Detect and trap all quiet not-a-number (NaNQ)
>                      values and signaling not-a-number (NaNS)
>                      values.
>                 overflow
>                      Detect and trap on floating-point overflow.
>                 underflow
>                      Detect and trap on floating-point underflow.
>                 zerodivide
>                      Detect and trap on floating-point division by
>                      zero.
> 
>                 The default is -qnoflttrap. When -qflttrap is
>                 specified with no suboptions, the default activated
>                 suboptions are: overflow, underflow, zerodivide,
>                 invalid, and inexact.
> 
>          -qfullpath | -qnofullpath
>                 Records the full (or absolute) path names of source
>                 and include files in object files compiled with
>                 debugging information (-g option).  The default is
>                 -qnofullpath.
> 
>          -qhalt=<sev>
>                 Stops before producing any object, executable, or
>                 assembler source files if the maximum severity of
>                 compile-time messages equals or exceeds the
>                 specified severity <sev>, where the severity levels
>                 are:
> 
>                 i = informational messages
>                 l = language-level messages
>                 w = warning messages
>                 e = error messages
>                 s = severe error messages
>                 u = unrecoverable error messages
>                 q = no messages
> 
>                 The default is -qhalt=s.
> 
>          -qinitauto[=<hex_value>] | -qnoinitauto
>                 Initializes each byte or word (4 bytes) of storage
>                 for automatic variables to a specific value,
>                 depending on the length specified in <hex_value>.
>                 This helps you to locate variables that are
>                 referenced before they are defined. <hex_value> is
>                 a 1 to 8 digit hexadecimal number.  The default is
>                 -qnoinitauto. If you specify -qinitauto without a
>                 <hex_value>, the compiler initializes the value of
>                 each byte of automatic storage to zero. This option
>                 should be used for debugging purposes only.
> 
>          -qlanglvl=<suboption>
>                 Determines which language standard (or
>                 subset/superset of a standard) to check against for
>                 nonconformance. This option will only produce
>                 messages; all code valid in extended mode will
>                 compile regardless of which suboption is specified.
>                 The suboptions are:
> 
>                 77std
>                      Accepts the language specified by the ANSI
>                      Fortran 77 standard.
>                 90std
>                      Accepts the language specified by the ISO
>                      Fortran 90 standard.
>                 90pure
>                      Same as 90std, except that it reports errors
>                      for any obsolescent Fortran 90 features used.
>                 90ext
>                      Obsolete suboption that is equivalent to
>                      extended.
>                 95std
>                      Accepts the language specified by the ISO
>                      Fortran 95 standard.
>                 95pure
>                      Same as 95std, except that it also reports
>                      errors for any obsolescent Fortran 95 features
>                      used.
>                 2003std
>                      Accepts the language that the ISO Fortran 95
>                      standard specifies, as well as all Fortran
>                      2003 features supported by XL Fortran, and
>                      reports anything else as an error.
>                 2003pure
>                      The same as 2003std except that it also
>                      reports errors for any obsolescent Fortran
>                      2003 features used.
>                 extended
>                      Accepts the full Fortran 95 language standard,
>                      all Fortran 2003 features supported by XL
>                      Fortran, and all extensions, effectively
>                      turning off language-level checking.
> 
>                 The default is -qlanglvl=extended.
> 
>          -qlinedebug | -qnolinedebug
>                 Generates line number and source file name
>                 information for the debugger. This option produces
>                 minimal debugging information, so the resulting
>                 object size is smaller than what is produced if the
>                 -g debugging option is specified. The default is
>                 -qnolinedebug.
> 
>          -qobject | -qnoobject
>                 Specifies whether to produce an object file or to
>                 stop immediately after checking the syntax of the
>                 source files.  The default is -qobject.
> 
>          -qsaa | -qnosaa
>                 Checks for conformance to the SAA Fortran language
>                 definition. It identifies nonconforming source code
>                 and also options that allow such nonconformances.
>                 The default is -qnosaa.
> 
>          -qsaveopt | -qnosaveopt
>                 Saves the command-line options used for compiling a
>                 source file, and other information, in the
>                 corresponding object file. The compilation must
>                 produce an object file for this option to take
>                 effect.  The default is -qnosaveopt.
> 
>          -qsigtrap[=<trap_handler>]
>                 When you are compiling a file that contains a main
>                 program, this option sets up the specified trap
>                 handler to catch SIGTRAP exceptions. This option
>                 enables you to install a handler for SIGTRAP
>                 signals without calling the SIGNAL subprogram in
>                 the program. Specifying -qsigtrap with no
>                 <trap_handler> is equivalent to -qsigtrap=xl__trce.
> 
>          -qtbtable=<suboption>
>                 Limits the amount of debugging traceback
>                 information in object files, which reduces the size
>                 of the program. The suboptions are:
> 
>                 none
>                      Includes no traceback information.
>                 small
>                      Includes traceback information but not the
>                      names of procedures or information about
>                      procedure parameters.
>                 full
>                      Includes complete traceback information.
> 
>                 The default is full traceback information in the
>                 object file when compiling non-optimized (without
>                 -O) or for debugging (with -g).  Otherwise, the
>                 default is -qtbtable=small.
> 
>          -qwarn64 | -qnowarn64
>                 Assists in porting code from a 32-bit environment
>                 to a 64-bit environment by detecting the truncation
>                 of an 8-byte integer pointer to 4 bytes. The
>                 -qwarn64 option uses informational messages to
>                 identify statements that may cause problems with
>                 the 32-bit to 64-bit migration.  The default is
>                 -qnowarn64.
> 
>          -qxflag=<suboption>
>                 Specifies rarely-needed compiler behaviors.  The
>                 suboptions are:
> 
>                 oldtab
>                      For fixed source form programs, interprets a
>                      tab in columns 1 to 5 as a single character.
>                      The source statement still starts immediately
>                      after the tab, but the tab character is
>                      treated as a single character for counting
>                      columns. This setting allows up to 71
>                      characters of input, depending on where the
>                      tab character occurs.
>                 dvz
>                      Specifying -qxflag=dvz causes the compiler to
>                      generate code to detect floating-point
>                      divide-by-zero operations. With this option
>                      on, the extra code calls the external handler
>                      function __xl_dzx when the divisor is zero.
>                 xalias
>                      This is obsolete. Please use -qalias=nostd in
>                      your new applications.
> 
>          -qxlines | -qnoxlines
>                 Specifies whether fixed source form lines with a X
>                 in column 1 are compiled or treated as comments.
>                 The default is -qnoxlines.
> 
>   Listing and Message Options
>          -#     Generates information on the progress of the
>                 compilation without actually running the individual
>                 components.
> 
>          -S     Produces one or more .s files, showing equivalent
>                 assembler source for each Fortran source file.
> 
>          -V     Generates information on the progress of the
>                 compilation. As the compiler executes commands to
>                 perform different compilation steps, this option
>                 displays a simulation of the commands it calls and
>                 the system argument lists it passes. This is the
>                 same as -v except that you can cut and paste
>                 directly from the display to create a command.
> 
>          -v     Generates information on the progress of the
>                 compilation. As the compiler executes commands to
>                 perform different compilation steps, this option
>                 displays a simulation of the commands it calls and
>                 the system argument lists it passes.
> 
>          -w     Suppresses informational, language-level, and
>                 warning messages. This option sets -qflag=e:e.
> 
>          -qattr[=full] | -qnoattr
>                 Specifies whether to produce the attribute
>                 component of the attribute and cross-reference
>                 section of the listing.  The listing contains all
>                 identifiers (-qattr=full) or only the names that
>                 are referenced (-qattr).  The default is -qnoattr.
> 
>          -qflag=<listing_severity>:<terminal_severity>
>                 Specifies the minimum severity level of diagnostic
>                 messages to be written to the listing file and to
>                 the user terminal. <listing_severity> determines
>                 the minimum level for the listing file, and
>                 <terminal_severity> determines the minimum level
>                 for the terminal.  The severity levels are:
> 
>                 i = informational messages
>                 l = language-level messages
>                 w = warning messages
>                 e = error messages
>                 s = severe error messages
>                 u = unrecoverable error messages
>                 q = no messages
> 
>                 Note that both <listing_severity> and
>                 <terminal_severity> must be specified.  The default
>                 is -qflag=i:i.
> 
>          -qlist[={offset|nooffset}] | -qnolist
>                 Produces a compiler listing that includes an object
>                 listing. You can use the object listing to help
>                 understand the performance characteristics of the
>                 generated code and to diagnose execution problems.
>                 Specifying -qlist with no suboptions is equivalent
>                 to specifying -qlist=nooffset.  The default is
>                 -qnolist.
> 
>          -qlistopt | -qnolistopt
>                 Determines whether to show the setting of every
>                 compiler option in the listing file or only
>                 selected options. These selected options include
>                 those specified on the command line or directives
>                 plus some that are always put in the listing.  The
>                 default is -qnolistopt.
> 
>          -qnoprint
>                 Prevents the compiler from creating the listing
>                 file, regardless of the settings of other listing
>                 options.
> 
>          -qphsinfo | -qnophsinfo
>                 Determines whether timing information is displayed
>                 on the terminal for each compiler phase.  The
>                 output takes the form <number1>/<number2> for each
>                 phase where <number1> represents the CPU time used
>                 by the compiler and <number2> represents the total
>                 of the compiler time and the time that the CPU
>                 spends handling system calls.  The default is
>                 -qnophsinfo.
> 
>          -qreport[=<suboptions>] | -qnoreport
>                 Determines whether to produce transformation
>                 reports showing how the program is parallelized and
>                 how loops are optimized.  The suboptions are:
> 
>                 hotlist
>                      Produces a report showing how loops are
>                      transformed.
>                 smplist
>                      Produces a report showing how the program is
>                      parallelized.
> 
>                 The default is -qnoreport.
> 
>          -qsource | -qnosource
>                 Determines whether to produce the source section of
>                 the listing.  The default is -qnosource.
> 
>          -qsuppress[={<msg_nums_list>|cmpmsg}] | -qnosuppress
>                 Determines which messages to suppress from the
>                 output stream.  The suboptions are:
> 
>                 <msg_nums_list>
>                      A colon-separated list of 7-digit compiler
>                      message numbers.
>                 cmpmsg
>                      Suppresses the informational messages that
>                      report compilation progress and a successful
>                      completion.
> 
>                 The default is -qnosuppress.
> 
>          -qversion
>                 Displays the version and release of the invoking
>                 compiler. Specify this option on its own with the
>                 compiler command.
> 
>          -qxref[=full] | -qnoxref
>                 Determines whether to produce the cross-reference
>                 component of the attribute and cross-reference
>                 section of the listing.  If you specify only
>                 -qxref, only identifiers that are used are
>                 reported. If you specify -qxref=full, the listing
>                 contains information about all identifiers that
>                 appear in the program, whether they are used or
>                 not.  The default is -qnoxref.
> 
>   Compatibility Options
>          -1     Executes each DO loop in the compiled program at
>                 least once if its DO statement is executed, even if
>                 the iteration count is 0. This option provides
>                 compatibility with Fortran 66. The default is to
>                 follow the behavior of later Fortran standards,
>                 where DO loops are not performed if the iteration
>                 count is 0. This is the short form of the -qonetrip
>                 option.
> 
>          -u     Specifies that no implicit typing of variable names
>                 is permitted. It has the same effect as using the
>                 IMPLICIT NONE statement in each scope that allows
>                 implicit statements. By default, implicit typing is
>                 allowed.
> 
>          -qautodbl=<setting>
>                 Converts single-precision floating-point
>                 calculations to double-precision or converts
>                 double-precision calculations to extended-
>                 precision.  <setting> can be:
> 
>                 none
>                      Does not promote or pad any objects that share
>                      storage.
>                 dbl4
>                      Promotes floating-point objects that are
>                      single precision or are composed of such
>                      objects.
>                 dbl8
>                      Promotes floating-point objects that are
>                      double-precision or are composed of such
>                      objects.
>                 dbl
>                      Combines the promotions done by dbl4 and dbl8.
>                 dblpad4
>                      Performs the same promotions as dbl4, and pads
>                      objects of other types (except CHARACTER) that
>                      can share storage with promoted objects.
>                 dblpad8
>                      Performs the same promotions as dbl8, and also
>                      pads objects of other types (except CHARACTER)
>                      if they can share storage with promoted
>                      objects.
>                 dblpad
>                      Combines the promotions done by dbl4 and dbl8,
>                      and also pads objects of other types (except
>                      CHARACTER) if they can share storage with
>                      promoted objects.
> 
>                 The default is -qautodbl=none.
> 
>          -qcclines | -qnocclines
>                 Enables recognition of conditional compilation
>                 lines in fixed source form and F90 free source
>                 form. IBM free source form is not supported.  The
>                 default is -qcclines if -qsmp=omp is specified.
>                 Otherwise, the default is -qnocclines.
> 
>          -qctyplss[={arg|noarg}] | -qnoctyplss
>                 Specifies whether character constant expressions
>                 are allowed wherever typeless constants may be
>                 used. Specifying -qctyplss=arg allows character
>                 constant expressions, but if a Hollerith constant
>                 is used as an actual argument, it is passed to the
>                 procedure as if it was an integer actual argument.
>                 The default is -qnoctyplss. If -qctypless is
>                 specified with no suboption, the default is
>                 -qctyplss=noarg.
> 
>          -qddim | -qnoddim
>                 Specifies that the bounds of pointee arrays are
>                 re-evaluated each time the arrays are referenced
>                 and removes some restrictions on the bounds
>                 expressions for pointee arrays.  The default is
>                 -qnoddim.
> 
>          -qdpc[=<e>] | -qnodpc
>                 Increases the precision of real constants, for
>                 maximum accuracy, when assigning real constants to
>                 DOUBLE PRECISION variables. -qdpc=<e> also promotes
>                 constants with an <e> exponent.  The default is
>                 -qnodpc.
> 
>          -qescape | -qnoescape
>                 Specifies whether the backslash is treated as an
>                 escape character in character strings, Hollerith
>                 constants, H edit descriptors, and character string
>                 edit descriptors.  The default is -qescape.
> 
>          -qextern=<procedure_names_list>
>                 Allows user-written procedures to be called instead
>                 of XL Fortran intrinsics. <procedure_names_list> is
>                 a colon-separated list of procedure names.  The
>                 procedure names are treated as if they appear in an
>                 EXTERNAL statement in each compilation unit being
>                 compiled.
> 
>          -qextname[=<names_list>] | -qnoextname
>                 Adds an underscore to the names of all global
>                 entities, which helps in porting programs from
>                 systems where this is a convention for mixed-
>                 language programs. <names_list> is a colon-
>                 separated list of global entity names.  The default
>                 is -qnoextname.
> 
>          -qinit=f90ptr
>                 Makes the initial association status of pointers
>                 disassociated instead of undefined. The default
>                 association status of pointers is undefined.
> 
>          -qintlog | -qnointlog
>                 Allows mixture of integer and logical data entities
>                 in expressions and statements. The default is
>                 -qnointlog.
> 
>          -qintsize={2|4|8}
>                 Sets the size (in bytes) of default INTEGER and
>                 LOGICAL data entities (that is, those for which no
>                 length or kind is specified).  The default is
>                 -qintsize=4.
> 
>          -qlog4 | -qnolog4
>                 Specifies whether the result of a logical operation
>                 with logical operands is a LOGICAL(4) or is a
>                 LOGICAL with the maximum length of the operands.
>                 The default is -qnolog4.
> 
>          -qmodule=mangle81
>                 Specifies that the compiler should use the XL
>                 Fortran Version 8.1 naming convention for non-
>                 intrinsic module files. This option allows you to
>                 produce modules and their associated object files
>                 with the Version 10.1 compiler and link these
>                 object files with others compiled with the Version
>                 8.1 compiler, or earlier.
> 
>          -qnullterm | -qnonullterm
>                 Appends a null character to each character constant
>                 expression that is passed as a dummy argument, to
>                 make it more convenient to pass strings to C
>                 functions. The default is -qnonullterm.
> 
>          -qonetrip | -qnoonetrip
>                 The long form of the -1 option. See -1 for details.
>                 The default is -qnoonetrip.
> 
>          -qport=<suboption> | -qnoport
>                 Increases flexibility when porting programs to XL
>                 Fortran, providing a number of options to
>                 accommodate Fortran language extensions.  The
>                 suboptions are:
> 
>                 clogicals | noclogicals
>                      Allows non-zero integers to be treated as true
>                      when used as logicals. The change affects all
>                      logical operators. This suboption only takes
>                      effect if -qintlog is activated.  The default
>                      is noclogicals.
>                 hexint | nohexint
>                      Specifies that typeless constant hexadecimal
>                      strings are converted to integers when passed
>                      as actual arguments to the INT intrinsic
>                      function. Typeless constant hexadecimal
>                      strings which are not passed as actual
>                      arguments to INT remain unaffected.  The
>                      default is nohexint.
>                 mod | nomod
>                      Relaxes existing constraints on the MOD
>                      intrinsic function, allowing two arguments of
>                      the same data type parameter to be of
>                      different kind type parameters. The result
>                      will be of the same type as the argument, but
>                      with the larger kind type parameter value.
>                      The default is nomod.
>                 nullarg | nonullarg
>                      For an external or internal procedure
>                      reference, this causes the compiler to treat
>                      an empty argument (which is delimited by a
>                      left parenthesis and a comma, two commas, or a
>                      comma and a right parenthesis) as a null
>                      argument. This suboption has no effect if the
>                      argument list is empty.  The default is
>                      nonullarg.
>                 sce | nosce
>                      By default, the compiler performs short
>                      circuit evaluation in selected logical
>                      expressions using XL Fortran rules. Specifying
>                      'sce' allows the compiler to use non-XL
>                      Fortran rules. The compiler will perform short
>                      circuit evaluation if the current rules allow
>                      it.  The default is nosce.
>                 typestmt | notypestmt
>                      The TYPE statement, which behaves in a manner
>                      similar to the PRINT statement, is supported
>                      whenever this option is specified. The default
>                      is notypestmt.
>                 typlssarg | notyplssarg
>                      Converts all typeless constants to default
>                      integers if the constants are actual arguments
>                      to an intrinsic procedure whose associated
>                      dummy arguments are of integer type. Dummy
>                      arguments associated with typeless actual
>                      arguments of non-integer type remain
>                      unaffected by this option.  The default is
>                      notyplssarg.
> 
>                 The default is -qnoport.
> 
>          -qposition={appendold|appendunknown}
>                 Positions the file pointer at the end of the file
>                 when data is written after an OPEN statement with
>                 no "POSITION=" specifier, and the corresponding
>                 "STATUS=" value (OLD or UNKNOWN) is specified.  The
>                 default depends on the I/O specifiers in the OPEN
>                 statement and on the compiler invocation command.
>                 The default is -qposition=appendold for the xlf,
>                 xlf_r, xlf_r7, and f77/fort77 commands and the
>                 defined Fortran 90 and Fortran 95 behaviors for the
>                 xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r, xlf95_r7,
>                 f90 and f95 commands.
> 
>          -qqcount | -qnoqcount
>                 Accepts the character-count Q edit descriptor (Q)
>                 as well as the extended-precision Q edit descriptor
>                 (Qw.d). With -qnoqcount, all Q edit descriptors are
>                 interpreted as the extended-precision Q edit
>                 descriptor.  The default is -qnoqcount.
> 
>          -qrealsize=<bytes>
>                 Sets the default size of REAL, DOUBLE PRECISION,
>                 COMPLEX and DOUBLE COMPLEX values. The allowed
>                 values for <bytes> are 4 and 8.  The default is
>                 -qrealsize=4.
> 
>          -qsave[=<suboption>] | -qnosave
>                 Specifies the default storage class for local
>                 variables.  The suboptions are:
> 
>                 all
>                      The default storage class for all local
>                      variables is STATIC. This is the default when
>                      -qsave is specified without a suboption.
>                 defaultinit
>                      The default storage class is STATIC for local
>                      variables of derived type that have default
>                      initialization specified.
> 
>                 Specifying -qnosave sets the default storage class
>                 to AUTOMATIC.  The default is -qsave for xlf,
>                 xlf_r, xlf_r7, f77, or fort77 to duplicate the
>                 behavior of FORTRAN77 commands, and -qnosave
>                 otherwise.
> 
>          -qsclk[=<suboption>]
>                 Specifies the resolution that the SYSTEM_CLOCK
>                 intrinsic procedure uses in a program.  The
>                 suboptions are:
> 
>                 centi
>                      Uses centisecond resolution for the values
>                      returned.
>                 micro
>                      Uses microsecond resolution.
> 
>                 The default is -qsclk=centi.
> 
>          -qswapomp | -qnoswapomp
>                 Specifies that the compiler should recognize and
>                 substitute OpenMP routines in XL Fortran programs.
>                 The default is -qswapomp.
> 
>          -qundef | -qnoundef
>                 The long form of the -u option. See -u for details.
>                 The default is -qnoundef.
> 
>          -qxlf77=<settings_list>
>                 Provides compatibility with Fortran 77 aspects of
>                 language semantics and I/O data format that have
>                 changed. Most of these changes are required by the
>                 Fortran 90 standard. <settings_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 blankpad | noblankpad
>                      For internal, direct-access, and stream-access
>                      files, uses a default setting equivalent to
>                      pad='no'. This setting produces conversion
>                      errors when reading from such a file if the
>                      format requires more characters than the
>                      record has, thus duplicating the XL Fortran
>                      Version 2 behavior.
>                 gedit77 | nogedit77
>                      Uses Fortran 77 semantics for the output of
>                      REAL objects with the G edit descriptor.
>                 intarg | nointarg
>                      Converts all the integer arguments of an
>                      intrinsic procedure to the kind of the longest
>                      argument, if they are of different kinds.
>                 intxor | nointxor
>                      Treats .XOR. as a logical binary intrinsic
>                      operator rather than a defined operator.
>                 leadzero | noleadzero
>                      Produces a leading zero in real output under
>                      the D, E, L, F and Q edit descriptors.
>                 oldboz | nooldboz
>                      Turns blanks into zeros for data read by B, O,
>                      and Z edit descriptors, regardless of the
>                      "BLANK=" specifier or any BN or BZ control
>                      edit descriptors.
>                 persistent | nopersistent
>                      Saves the addresses of arguments to
>                      subprograms with ENTRY statements in static
>                      storage.
>                 softeof | nosofteof
>                      Allows READ and WRITE operations when a unit
>                      is positioned after its endfile record, unless
>                      that position is the result of executing an
>                      ENDFILE statement.
> 
>                 The default suboptions are: blankpad, nogedit77,
>                 nointarg, nointxor, leadzero, nooldboz,
>                 nopersistent, and nosofteof for the f90, xlf90,
>                 xlf90_r, xlf90_r7, f95, xlf95, xlf95_r, and
>                 xlf95_r7 commands, and are the exact opposite for
>                 the xlf, xlf_r, xlf_r7, f77, and fort77 commands.
> 
>          -qxlf90=<settings_list>
>                 Provides backward compatibility with XL Fortran for
>                 AIX Version 5 and the Fortran 90 standard for
>                 certain aspects of the Fortran language.
>                 <settings_list> is a colon-separated list of one or
>                 both of the following suboptions:
> 
>                 signedzero | nosignedzero
>                      Determines how the SIGN(A,B) function handles
>                      signed real 0.0. Prior to XL Fortran Version
>                      6.1, SIGN(A,B) returned |A| when B=-0.0. This
>                      behavior conformed with the Fortran 90
>                      standard. Now, if you specify the
>                      -qxlf90=signedzero compiler option, SIGN(A,B)
>                      returns -|A| when B=-0.0. This behavior
>                      conforms to the Fortran 95 standard and is
>                      consistent with the IEEE standard for binary
>                      floating-point arithmetic.
>                 autodealloc | noautodealloc
>                      Determines whether the compiler deallocates
>                      allocatable objects that are declared locally
>                      without either the SAVE or the STATIC
>                      attribute and have a status of currently
>                      allocated when the subprogram terminates.
> 
>                 The default suboptions are signedzero and
>                 autodealloc for the xlf95, xlf95_r, xlf95_r7 and
>                 f95 invocation commands. For all other invocation
>                 commands, the default suboptions are nosignedzero
>                 and noautodealloc.
> 
>   Linking Options
>          -b64   The AIX operating system provides 64-bit shared
>                 object files in both libc.a and libm.a. In 64-bit
>                 mode, you can use the -b64 linker option to
>                 instruct ld to bind with 64-bit objects.
> 
>          -bdynamic, -bshared, -bstatic
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 This is available on AIX 4.2 and above.
> 
>                 -bdynamic
>                      Specifies that shared objects are linked
>                      dynamically.
>                 -bshared
>                      Equivalent to -bdynamic.
>                 -bstatic
>                      Specifies that shared objects are statically
>                      linked into the output file.
> 
>                 The default is -bdynamic.
> 
>          -bhalt:<error_level>
>                 Specifies the maximum error level that is allowed
>                 before the linker (ld) command halts. If any linker
>                 command has an error return value greater than the
>                 value that is specified by the <error_level>
>                 variable, linking stops.  The default value is 4,
>                 as specified in the configuration file.
> 
>          -bloadmap:<filename>
>                 Requests that a log of linker actions and messages
>                 be saved in file <filename>. You can use the log to
>                 help diagnose linking problems.
> 
>          -bmaxdata=<bytes>
>                 Specifies the maximum amount of space to reserve
>                 for the program data segment for programs where the
>                 size of these regions is a constraint.  The default
>                 is -bmaxdata=0.
> 
>          -bmaxstack:<bytes>
>                 Specifies the maximum amount of space to reserve
>                 for the program stack segment for programs where
>                 the size of these regions is a constraint.
> 
>          -brtl | -bnortl
>                 Determines which algorithm will be used to find
>                 libraries that are specified with the -l option. If
>                 -brtl is specified, run-time linking is enabled.
> 
>          -bshared
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 See "-bdynamic, -bshared, -bstatic" for details.
>                 This is equivalent to -bdynamic.
> 
>          -bstatic
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 See "-bdynamic, -bshared, -bstatic" for details.
> 
>          -L<dir>
>                 Searches in directory <dir> for libraries specified
>                 by -l<key>.
> 
>          -l<key>
>                 Searches the specified library file at link time,
>                 where <key> selects the library lib<key>.a.
> 
>   Compiler Customization Options
>          -B<prefix>
>                 Determines a substitute path name for executable
>                 files used during compilation, such as the compiler
>                 of linker. <prefix> is the name of a directory
>                 where the alternative executable files reside. It
>                 is added to the beginning of the standard program
>                 names and must end in a slash (/). This option can
>                 be used in combination with the -t option, which
>                 determines which of these components are affected
>                 by -B.
> 
>          -F[<config_file>][:<stanza>]
>                 Specifies an alternative configuration file
>                 <config_file>, the command to be used (<stanza>)
>                 within the configuration file, or both. At least
>                 one of the arguments must be supplied.  The default
>                 stanza depends on the name of the command used to
>                 invoke the compiler.
> 
>          -P{v|k}[!]
>                 This option is obsolete and has no effect. Invokes
>                 the selected optimizing preprocessor.
> 
>          -P     Invokes the -Pv preprocessor before the compiler.
> 
>          -Pv    Invokes the -Pv preprocessor before the compiler.
> 
>          -Pk    Invokes the -Pk preprocessor before the compiler.
> 
>          -P!    Invokes the -Pv preprocessor only.
> 
>          -Pv!   Invokes the -Pv preprocessor only.
> 
>          -Pk!   Invokes the -Pk preprocessor only.
> 
>          -t<components_list>
>                 Applies the prefix from the -B option to the
>                 specified program, <components_list>, where
>                 <components_list> is a chain (with no separator
>                 character inbetween each <component>, ie: "-taFp")
>                 containing one or more of the following:
> 
>                 COMPONENT NAME           <component>       PROGRAM
>                 assembler                 a                as
>                 C preprocessor            F                cpp
>                 VAST-2 preprocessor       p                fpp
>                 KAP preprocessor          p                fppk
>                 compiler front end        c                xlfentry
>                 array language optimizer  h                xlfhot
>                 IPA/loop optimizer        I (upper-case i) ipa
>                 code generator            b                xlfcode
>                 binder                    z                bolt
>                 linker                    l (lower-case L) ld
>                 disassembler              d                dis
> 
>          -W<component>,<options_list>
>                 Passes the listed options to a component that is
>                 executed during compilation. <options_list> is a
>                 comma-separated list of one or more options, and
>                 <component> is one of the following:
> 
>                 COMPONENT NAME           <component>       PROGRAM
>                 assembler                 a                as
>                 C preprocessor            F                cpp
>                 VAST-2 preprocessor       p                fpp
>                 KAP preprocessor          p                fppk
>                 compiler front end        c                xlfentry
>                 array language optimizer  h                xlfhot
>                 IPA/loop optimizer        I (upper-case i) ipa
>                 code generator            b                xlfcode
>                 binder                    z                bolt
>                 linker                    l (lower-case L) ld
>                 disassembler              d                dis
> 
>   Integer and Floating-Point Options
>          -y<rounding_mode>
>                 Specifies compile-time rounding of constant
>                 floating-point expressions. It is equivalent to the
>                 -qieee option. <rounding_mode> is one of the
>                 following:
> 
>                 n = Round to nearest
>                 m = Round toward minus infinity
>                 p = Round toward plus infinity
>                 z = Round toward zero
> 
>                 The default is -yn.
> 
>          -qfloat=<suboptions_list>
>                 Determines different strategies for speeding up or
>                 improving the accuracy of floating-point
>                 calculations. <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 fltint | nofltint
>                      Speeds up floating-point-to-integer
>                      conversions by using an inline sequence of
>                      code instead of a call to a library function.
>                 fold | nofold
>                      Evaluates constant floating-point expressions
>                      at compile time.
>                 hsflt | nohsflt
>                      Speeds up calculations by removing range-
>                      checking on single-precision float results,
>                      and on conversions from floating-point to
>                      integer.
>                 hssngl | nohssngl
>                      Speeds up calculations in a safer way than
>                      hsflt, by rounding single-precision
>                      expressions only when the results are stored
>                      into REAL(4) memory locations
>                 maf | nomaf
>                      Generates multiply-add instructions where
>                      appropriate.
>                 nans | nonans
>                      Allows you to use the -qflttrap=invalid:enable
>                      option to detect and deal with exception
>                      conditions that involve signaling NaN (not-a-
>                      number) values.
>                 rndsngl | norndsngl
>                      Rounds the result of each single-precision
>                      (REAL(4)) operation to single-precision,
>                      rather than waiting until the full expression
>                      is evaluated. It sacrifices speed for
>                      consistency with results from similar
>                      calculations on other types of computers.
>                 rrm | norrm
>                      Turns off compiler optimizations that require
>                      the rounding mode to be the default, round-
>                      to-nearest, at run time.
>                 rsqrt | norsqrt
>                      Allows the optimizer to change a division by
>                      the result of a square root operation into a
>                      multiply by the reciprocal of the square root.
>                 strictnmaf | nostrictnmaf
>                      Turns off floating-point transformations that
>                      are used to introduce negative MAF
>                      instructions, as these transformations do not
>                      preserve the sign of a zero value.
>                 The default active suboptions are: nofltint, fold,
>                 nohsflt, nohssngl, maf, nonans, norelax, norndsngl,
>                 norrm, norsqrt, and nostrictnmaf.
> 
>          -qieee=<mode>
>                 Specifies the rounding mode for the compiler to use
>                 when evaluating constant floating-point expressions
>                 at compile time, where <mode> is one of:
> 
>                 near = Round to nearest representable number
>                 minus = Round toward minus infinity
>                 plus = Round toward plus infinity
>                 zero = Round toward zero
> 
>                 The default is -qieee=near.
> 
>          -qstrictieeemod | -qnostrictieeemod
>                 Specifies that the compiler will adhere to the
>                 Fortran 2003 IEEE arithmetic rules for the
>                 ieee_arithmetic and ieee_exceptions intrinsic
>                 modules.  The default is -qstrictieeemod.
> 
>   SEE ALSO
>          xlfndi(1), showpdf(1), cleanpdf(1), mergepdf(1),
>          resetpdf(1)
> 
>          For more information, refer to the following Web sites:
>          www.ibm.com/software/awdtools/fortran/xlfortran/library/
>          www.ibm.com/software/awdtools/fortran/xlfortran/support/
> 
>   COPYRIGHT
>          Licensed Materials - Property of IBM
> 
>          IBM(R) XL Fortran Enterprise Edition V10.1 for AIX(R)
> 
>          5724-M13
> 
>          (C) Copyright IBM Corp. 1991, 2005, and by others. All
>          Rights Reserved.
> 
>          IBM and AIX are trademarks or registered trademarks of IBM
>          Corp. in the U.S., other countries or both.
> 
>          US Government Users Restricted Rights - Use, duplication
>          or disclosure restricted by GSA ADP Schedule Contract with
>          IBM Corp.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> configure:1797: $? = 249
> configure:1811: checking for Fortran 77 compiler default output file name
> configure:1838: f77   conftest.f  >&5
> ** main   === End of Compilation 1 ===
> 1501-510  Compilation successful for file conftest.f.
> configure:1841: $? = 0
> configure:1887: result: a.out
> configure:1892: checking whether the Fortran 77 compiler works
> configure:1902: ./a.out
> configure:1905: $? = 0
> configure:1922: result: yes
> configure:1929: checking whether we are cross compiling
> configure:1931: result: no
> configure:1934: checking for suffix of executables
> configure:1941: f77 -o conftest   conftest.f  >&5
> ** main   === End of Compilation 1 ===
> 1501-510  Compilation successful for file conftest.f.
> configure:1944: $? = 0
> configure:1968: result: 
> configure:1974: checking for suffix of object files
> configure:1990: f77 -c  conftest.f >&5
> ** main   === End of Compilation 1 ===
> 1501-510  Compilation successful for file conftest.f.
> configure:1993: $? = 0
> configure:2016: result: o
> configure:2024: checking whether we are using the GNU Fortran 77 compiler
> configure:2043: f77 -c  conftest.F >&5
> "conftest.F", line 3.15: 1515-019 (S) Syntax is incorrect.
> ** main   === End of Compilation 1 ===
> 1501-511  Compilation failed for file conftest.F.
> configure:2049: $? = 1
> configure: failed program was:
> |       program main
> | #ifndef __GNUC__
> |        choke me
> | #endif
> | 
> |       end
> configure:2083: result: no
> configure:2089: checking whether f77 accepts -g
> configure:2106: f77 -c -g conftest.f >&5
> ** main   === End of Compilation 1 ===
> 1501-510  Compilation successful for file conftest.f.
> configure:2112: $? = 0
> configure:2119: test -z "$ac_f77_werror_flag" || test ! -s conftest.err
> configure:2122: $? = 0
> configure:2129: test -s conftest.o
> configure:2132: $? = 0
> configure:2145: result: yes
> configure:2175: checking how to get verbose linking output from f77
> configure:2191: f77 -c -g conftest.f >&5
> ** main   === End of Compilation 1 ===
> 1501-510  Compilation successful for file conftest.f.
> configure:2197: $? = 0
> configure:2204: test -z "$ac_f77_werror_flag" || test ! -s conftest.err
> configure:2207: $? = 0
> configure:2214: test -s conftest.o
> configure:2217: $? = 0
> configure:2236: f77 -o conftest -g -v conftest.f
> exec: export(export,XL_CONFIG=/etc/xlf.cfg:f77,NULL) 
> exec: 
> /usr/lpp/xlf/bin/xlfentry(/usr/lpp/xlf/bin/xlfentry,conftest.f,/tmp/F8239354q6FLEb,/tmp/F8239354q6FLEbF.lst,xlfsmsg.cat,xlfmsg.cat,conftest.f,OSVAR(aix.5.3),64(largetype),NOZEROSIZE,SAVE,ALIAS(intptr),POSITION(appendold),XLF90(noautodealloc,nosignedzero),XLF77(intarg,intxor,persistent,noleadzero,gedit77,noblankpad,oldboz,softeof),DBG,WSTREAMS(/tmp/F8239354q6FLEah1,/tmp/F8239354q6FLEab1,/tmp/F8239354q6FLEas1),DEFMSG(/usr/lpp/xlf/bin/default_msg),-I/usr/lpp/xlf/include,NULL)
>  
> ** main   === End of Compilation 1 ===
> exec: export(export,XL_FRONTEND=/usr/lpp/xlf/bin/xlfentry,NULL) 
> exec: export(export,XL_ASTI=/usr/lpp/xlf/bin/xlfhot,NULL) 
> exec: export(export,XL_BACKEND=/usr/lpp/xlf/bin/xlfcode,NULL) 
> exec: export(export,XL_LINKER=/bin/ld,NULL) 
> exec: export(export,XL_DIS=/usr/lpp/xlf/bin/dis,NULL) 
> exec: export(export,XL_BOLT=/usr/lpp/xlf/bin/bolt,NULL) 
> exec: 
> /usr/lpp/xlf/bin/xlfhot(/usr/lpp/xlf/bin/xlfhot,/tmp/F8239354q6FLEah1,/tmp/F8239354q6FLEah2,/tmp/F8239354q6FLEab1,/tmp/F8239354q6FLEab2,/tmp/F8239354q6FLEas1,/tmp/F8239354q6FLEas2,/tmp/F8239354q6FLEb,/tmp/F8239354q6FLEbA.lst,NULL)
>  
> exec: export(export,XL_FRONTEND=/usr/lpp/xlf/bin/xlfentry,NULL) 
> exec: export(export,XL_ASTI=/usr/lpp/xlf/bin/xlfhot,NULL) 
> exec: export(export,XL_BACKEND=/usr/lpp/xlf/bin/xlfcode,NULL) 
> exec: export(export,XL_LINKER=/bin/ld,NULL) 
> exec: export(export,XL_DIS=/usr/lpp/xlf/bin/dis,NULL) 
> exec: export(export,XL_BOLT=/usr/lpp/xlf/bin/bolt,NULL) 
> exec: 
> /usr/lpp/xlf/bin/xlfcode(/usr/lpp/xlf/bin/xlfcode,/tmp/F8239354q6FLEah2,/tmp/F8239354q6FLEab2,conftest.o,/tmp/F8239354q6FLEbB.lst,/tmp/F8239354q6FLEas2,NULL)
>  
> 1501-510  Compilation successful for file conftest.f.
> exec: 
> /bin/ld(/bin/ld,-b64,/lib/crt0_64.o,-bpT:0x100000000,-bpD:0x110000000,-bh:4,-o,conftest,conftest.o,-lxlf90,-L/usr/lpp/xlf/lib,-lxlopt,-lxlf,-lxlomp_ser,-lm,-lc,NULL)
>  
> unlink: conftest.o
> configure:2302: result: -v
> configure:2304: checking for Fortran 77 libraries of f77
> configure:2327: f77 -o conftest -g -v conftest.f
> exec: export(export,XL_CONFIG=/etc/xlf.cfg:f77,NULL) 
> exec: 
> /usr/lpp/xlf/bin/xlfentry(/usr/lpp/xlf/bin/xlfentry,conftest.f,/tmp/F8299662qYAEUb,/tmp/F8299662qYAEUbF.lst,xlfsmsg.cat,xlfmsg.cat,conftest.f,OSVAR(aix.5.3),64(largetype),NOZEROSIZE,SAVE,ALIAS(intptr),POSITION(appendold),XLF90(noautodealloc,nosignedzero),XLF77(intarg,intxor,persistent,noleadzero,gedit77,noblankpad,oldboz,softeof),DBG,WSTREAMS(/tmp/F8299662qYAEUah1,/tmp/F8299662qYAEUab1,/tmp/F8299662qYAEUas1),DEFMSG(/usr/lpp/xlf/bin/default_msg),-I/usr/lpp/xlf/include,NULL)
>  
> ** main   === End of Compilation 1 ===
> exec: export(export,XL_FRONTEND=/usr/lpp/xlf/bin/xlfentry,NULL) 
> exec: export(export,XL_ASTI=/usr/lpp/xlf/bin/xlfhot,NULL) 
> exec: export(export,XL_BACKEND=/usr/lpp/xlf/bin/xlfcode,NULL) 
> exec: export(export,XL_LINKER=/bin/ld,NULL) 
> exec: export(export,XL_DIS=/usr/lpp/xlf/bin/dis,NULL) 
> exec: export(export,XL_BOLT=/usr/lpp/xlf/bin/bolt,NULL) 
> exec: 
> /usr/lpp/xlf/bin/xlfhot(/usr/lpp/xlf/bin/xlfhot,/tmp/F8299662qYAEUah1,/tmp/F8299662qYAEUah2,/tmp/F8299662qYAEUab1,/tmp/F8299662qYAEUab2,/tmp/F8299662qYAEUas1,/tmp/F8299662qYAEUas2,/tmp/F8299662qYAEUb,/tmp/F8299662qYAEUbA.lst,NULL)
>  
> exec: export(export,XL_FRONTEND=/usr/lpp/xlf/bin/xlfentry,NULL) 
> exec: export(export,XL_ASTI=/usr/lpp/xlf/bin/xlfhot,NULL) 
> exec: export(export,XL_BACKEND=/usr/lpp/xlf/bin/xlfcode,NULL) 
> exec: export(export,XL_LINKER=/bin/ld,NULL) 
> exec: export(export,XL_DIS=/usr/lpp/xlf/bin/dis,NULL) 
> exec: export(export,XL_BOLT=/usr/lpp/xlf/bin/bolt,NULL) 
> exec: 
> /usr/lpp/xlf/bin/xlfcode(/usr/lpp/xlf/bin/xlfcode,/tmp/F8299662qYAEUah2,/tmp/F8299662qYAEUab2,conftest.o,/tmp/F8299662qYAEUbB.lst,/tmp/F8299662qYAEUas2,NULL)
>  
> 1501-510  Compilation successful for file conftest.f.
> exec: 
> /bin/ld(/bin/ld,-b64,/lib/crt0_64.o,-bpT:0x100000000,-bpD:0x110000000,-bh:4,-o,conftest,conftest.o,-lxlf90,-L/usr/lpp/xlf/lib,-lxlopt,-lxlf,-lxlomp_ser,-lm,-lc,NULL)
>  
> unlink: conftest.o
> configure:2501: result:  -lxlf90 -L/usr/lpp/xlf/lib -lxlopt -lxlf -lxlomp_ser 
> -lm
> configure:2560: checking for gcc
> configure:2576: found /usr/bin/gcc
> configure:2587: result: gcc
> configure:2825: checking for C compiler version
> configure:2832: gcc --version >&5
> gcc (GCC) 3.3.2
> Copyright (C) 2003 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> 
> configure:2835: $? = 0
> configure:2842: gcc -v >&5
> Reading specs from 
> /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.3.2/specs
> Configured with: ../configure --with-as=/usr/bin/as --with-ld=/usr/bin/ld 
> --disable-nls --enable-languages=c,c++ --prefix=/opt/freeware 
> --enable-threads --enable-version-specific-runtime-libs 
> --host=powerpc-ibm-aix5.1.0.0
> Thread model: aix
> gcc version 3.3.2
> configure:2845: $? = 0
> configure:2852: gcc -V >&5
> gcc: `-V' option must have argument
> configure:2855: $? = 1
> configure:2858: checking whether we are using the GNU C compiler
> configure:2895: gcc -c   conftest.c >&5
> Assembler:
> /tmp//cchBVANa.s: line 9: Only .llong should be used for relocatable 
> expressions.
> configure:2901: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | 
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | #ifndef __GNUC__
> |        choke me
> | #endif
> | 
> |   ;
> |   return 0;
> | }
> configure:2935: result: no
> configure:2940: checking whether gcc accepts -g
> configure:2978: gcc -c -g  conftest.c >&5
> Assembler:
> /tmp//ccCohZLd.s: line 18: Only .llong should be used for relocatable 
> expressions.
> configure:2984: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | 
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3041: gcc -c   conftest.c >&5
> Assembler:
> /tmp//cc1TEXEd.s: line 9: Only .llong should be used for relocatable 
> expressions.
> configure:3047: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | 
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3105: gcc -c -g  conftest.c >&5
> Assembler:
> /tmp//ccarBT1a.s: line 18: Only .llong should be used for relocatable 
> expressions.
> configure:3111: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | 
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3150: result: no
> configure:3167: checking for gcc option to accept ISO C89
> configure:3249: gcc  -c   conftest.c >&5
> Assembler:
> /tmp//ccT6j5Mc.s: line 8: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccT6j5Mc.s: line 52: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccT6j5Mc.s: line 82: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccT6j5Mc.s: line 143: Only .llong should be used for relocatable 
> expressions.
> configure:3255: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #include <stdarg.h>
> | #include <stdio.h>
> | #include <sys/types.h>
> | #include <sys/stat.h>
> | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
> | struct buf { int x; };
> | FILE * (*rcsopen) (struct buf *, struct stat *, int);
> | static char *e (p, i)
> |      char **p;
> |      int i;
> | {
> |   return p[i];
> | }
> | static char *f (char * (*g) (char **, int), char **p, ...)
> | {
> |   char *s;
> |   va_list v;
> |   va_start (v,p);
> |   s = g (p, va_arg (v,int));
> |   va_end (v);
> |   return s;
> | }
> | 
> | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
> |    function prototypes and stuff, but not '\xHH' hex character constants.
> |    These don't provoke an error unfortunately, instead are silently treated
> |    as 'x'.  The following induces an error, until -std is added to get
> |    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
> |    array size at least.  It's necessary to write '\x00'==0 to get something
> |    that's true only with -std.  */
> | int osf4_cc_array ['\x00' == 0 ? 1 : -1];
> | 
> | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro 
> parameters
> |    inside strings and character constants.  */
> | #define FOO(x) 'x'
> | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
> | 
> | int test (int i, double x);
> | struct s1 {int (*f) (int a);};
> | struct s2 {int (*f) (double a);};
> | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), 
> int, int);
> | int argc;
> | char **argv;
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
> |   ;
> |   return 0;
> | }
> configure:3249: gcc -qlanglvl=extc89 -c   conftest.c >&5
> gcc: unrecognized option `-qlanglvl=extc89'
> Assembler:
> /tmp//cclzZfIc.s: line 8: Only .llong should be used for relocatable 
> expressions.
> /tmp//cclzZfIc.s: line 52: Only .llong should be used for relocatable 
> expressions.
> /tmp//cclzZfIc.s: line 82: Only .llong should be used for relocatable 
> expressions.
> /tmp//cclzZfIc.s: line 143: Only .llong should be used for relocatable 
> expressions.
> configure:3255: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #include <stdarg.h>
> | #include <stdio.h>
> | #include <sys/types.h>
> | #include <sys/stat.h>
> | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
> | struct buf { int x; };
> | FILE * (*rcsopen) (struct buf *, struct stat *, int);
> | static char *e (p, i)
> |      char **p;
> |      int i;
> | {
> |   return p[i];
> | }
> | static char *f (char * (*g) (char **, int), char **p, ...)
> | {
> |   char *s;
> |   va_list v;
> |   va_start (v,p);
> |   s = g (p, va_arg (v,int));
> |   va_end (v);
> |   return s;
> | }
> | 
> | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
> |    function prototypes and stuff, but not '\xHH' hex character constants.
> |    These don't provoke an error unfortunately, instead are silently treated
> |    as 'x'.  The following induces an error, until -std is added to get
> |    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
> |    array size at least.  It's necessary to write '\x00'==0 to get something
> |    that's true only with -std.  */
> | int osf4_cc_array ['\x00' == 0 ? 1 : -1];
> | 
> | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro 
> parameters
> |    inside strings and character constants.  */
> | #define FOO(x) 'x'
> | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
> | 
> | int test (int i, double x);
> | struct s1 {int (*f) (int a);};
> | struct s2 {int (*f) (double a);};
> | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), 
> int, int);
> | int argc;
> | char **argv;
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
> |   ;
> |   return 0;
> | }
> configure:3249: gcc -qlanglvl=ansi -c   conftest.c >&5
> gcc: unrecognized option `-qlanglvl=ansi'
> Assembler:
> /tmp//cclgvyWc.s: line 8: Only .llong should be used for relocatable 
> expressions.
> /tmp//cclgvyWc.s: line 52: Only .llong should be used for relocatable 
> expressions.
> /tmp//cclgvyWc.s: line 82: Only .llong should be used for relocatable 
> expressions.
> /tmp//cclgvyWc.s: line 143: Only .llong should be used for relocatable 
> expressions.
> configure:3255: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #include <stdarg.h>
> | #include <stdio.h>
> | #include <sys/types.h>
> | #include <sys/stat.h>
> | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
> | struct buf { int x; };
> | FILE * (*rcsopen) (struct buf *, struct stat *, int);
> | static char *e (p, i)
> |      char **p;
> |      int i;
> | {
> |   return p[i];
> | }
> | static char *f (char * (*g) (char **, int), char **p, ...)
> | {
> |   char *s;
> |   va_list v;
> |   va_start (v,p);
> |   s = g (p, va_arg (v,int));
> |   va_end (v);
> |   return s;
> | }
> | 
> | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
> |    function prototypes and stuff, but not '\xHH' hex character constants.
> |    These don't provoke an error unfortunately, instead are silently treated
> |    as 'x'.  The following induces an error, until -std is added to get
> |    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
> |    array size at least.  It's necessary to write '\x00'==0 to get something
> |    that's true only with -std.  */
> | int osf4_cc_array ['\x00' == 0 ? 1 : -1];
> | 
> | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro 
> parameters
> |    inside strings and character constants.  */
> | #define FOO(x) 'x'
> | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
> | 
> | int test (int i, double x);
> | struct s1 {int (*f) (int a);};
> | struct s2 {int (*f) (double a);};
> | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), 
> int, int);
> | int argc;
> | char **argv;
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
> |   ;
> |   return 0;
> | }
> configure:3249: gcc -std -c   conftest.c >&5
> cc1: error: unrecognized option `-std'
> configure:3255: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #include <stdarg.h>
> | #include <stdio.h>
> | #include <sys/types.h>
> | #include <sys/stat.h>
> | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
> | struct buf { int x; };
> | FILE * (*rcsopen) (struct buf *, struct stat *, int);
> | static char *e (p, i)
> |      char **p;
> |      int i;
> | {
> |   return p[i];
> | }
> | static char *f (char * (*g) (char **, int), char **p, ...)
> | {
> |   char *s;
> |   va_list v;
> |   va_start (v,p);
> |   s = g (p, va_arg (v,int));
> |   va_end (v);
> |   return s;
> | }
> | 
> | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
> |    function prototypes and stuff, but not '\xHH' hex character constants.
> |    These don't provoke an error unfortunately, instead are silently treated
> |    as 'x'.  The following induces an error, until -std is added to get
> |    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
> |    array size at least.  It's necessary to write '\x00'==0 to get something
> |    that's true only with -std.  */
> | int osf4_cc_array ['\x00' == 0 ? 1 : -1];
> | 
> | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro 
> parameters
> |    inside strings and character constants.  */
> | #define FOO(x) 'x'
> | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
> | 
> | int test (int i, double x);
> | struct s1 {int (*f) (int a);};
> | struct s2 {int (*f) (double a);};
> | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), 
> int, int);
> | int argc;
> | char **argv;
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
> |   ;
> |   return 0;
> | }
> configure:3249: gcc -Ae -c   conftest.c >&5
> <command line>:4:2: missing '(' after predicate
> configure:3255: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #include <stdarg.h>
> | #include <stdio.h>
> | #include <sys/types.h>
> | #include <sys/stat.h>
> | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
> | struct buf { int x; };
> | FILE * (*rcsopen) (struct buf *, struct stat *, int);
> | static char *e (p, i)
> |      char **p;
> |      int i;
> | {
> |   return p[i];
> | }
> | static char *f (char * (*g) (char **, int), char **p, ...)
> | {
> |   char *s;
> |   va_list v;
> |   va_start (v,p);
> |   s = g (p, va_arg (v,int));
> |   va_end (v);
> |   return s;
> | }
> | 
> | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
> |    function prototypes and stuff, but not '\xHH' hex character constants.
> |    These don't provoke an error unfortunately, instead are silently treated
> |    as 'x'.  The following induces an error, until -std is added to get
> |    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
> |    array size at least.  It's necessary to write '\x00'==0 to get something
> |    that's true only with -std.  */
> | int osf4_cc_array ['\x00' == 0 ? 1 : -1];
> | 
> | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro 
> parameters
> |    inside strings and character constants.  */
> | #define FOO(x) 'x'
> | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
> | 
> | int test (int i, double x);
> | struct s1 {int (*f) (int a);};
> | struct s2 {int (*f) (double a);};
> | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), 
> int, int);
> | int argc;
> | char **argv;
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
> |   ;
> |   return 0;
> | }
> configure:3249: gcc -Aa -D_HPUX_SOURCE -c   conftest.c >&5
> <command line>:4:2: missing '(' after predicate
> configure:3255: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #include <stdarg.h>
> | #include <stdio.h>
> | #include <sys/types.h>
> | #include <sys/stat.h>
> | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
> | struct buf { int x; };
> | FILE * (*rcsopen) (struct buf *, struct stat *, int);
> | static char *e (p, i)
> |      char **p;
> |      int i;
> | {
> |   return p[i];
> | }
> | static char *f (char * (*g) (char **, int), char **p, ...)
> | {
> |   char *s;
> |   va_list v;
> |   va_start (v,p);
> |   s = g (p, va_arg (v,int));
> |   va_end (v);
> |   return s;
> | }
> | 
> | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
> |    function prototypes and stuff, but not '\xHH' hex character constants.
> |    These don't provoke an error unfortunately, instead are silently treated
> |    as 'x'.  The following induces an error, until -std is added to get
> |    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
> |    array size at least.  It's necessary to write '\x00'==0 to get something
> |    that's true only with -std.  */
> | int osf4_cc_array ['\x00' == 0 ? 1 : -1];
> | 
> | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro 
> parameters
> |    inside strings and character constants.  */
> | #define FOO(x) 'x'
> | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
> | 
> | int test (int i, double x);
> | struct s1 {int (*f) (int a);};
> | struct s2 {int (*f) (double a);};
> | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), 
> int, int);
> | int argc;
> | char **argv;
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
> |   ;
> |   return 0;
> | }
> configure:3249: gcc -Xc -D__EXTENSIONS__ -c   conftest.c >&5
> gcc: unrecognized option `-Xc'
> Assembler:
> /tmp//ccIUu7Oe.s: line 8: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccIUu7Oe.s: line 52: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccIUu7Oe.s: line 82: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccIUu7Oe.s: line 143: Only .llong should be used for relocatable 
> expressions.
> configure:3255: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #include <stdarg.h>
> | #include <stdio.h>
> | #include <sys/types.h>
> | #include <sys/stat.h>
> | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
> | struct buf { int x; };
> | FILE * (*rcsopen) (struct buf *, struct stat *, int);
> | static char *e (p, i)
> |      char **p;
> |      int i;
> | {
> |   return p[i];
> | }
> | static char *f (char * (*g) (char **, int), char **p, ...)
> | {
> |   char *s;
> |   va_list v;
> |   va_start (v,p);
> |   s = g (p, va_arg (v,int));
> |   va_end (v);
> |   return s;
> | }
> | 
> | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
> |    function prototypes and stuff, but not '\xHH' hex character constants.
> |    These don't provoke an error unfortunately, instead are silently treated
> |    as 'x'.  The following induces an error, until -std is added to get
> |    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
> |    array size at least.  It's necessary to write '\x00'==0 to get something
> |    that's true only with -std.  */
> | int osf4_cc_array ['\x00' == 0 ? 1 : -1];
> | 
> | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro 
> parameters
> |    inside strings and character constants.  */
> | #define FOO(x) 'x'
> | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
> | 
> | int test (int i, double x);
> | struct s1 {int (*f) (int a);};
> | struct s2 {int (*f) (double a);};
> | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), 
> int, int);
> | int argc;
> | char **argv;
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
> |   ;
> |   return 0;
> | }
> configure:3298: result: unsupported
> configure:3319: checking for dummy main to link with Fortran 77 libraries
> configure:3363: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//ccmVfpqd.s: line 9: Only .llong should be used for relocatable 
> expressions.
> configure:3369: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | 
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3433: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//ccPZXyfb.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccPZXyfb.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3439: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define F77_DUMMY_MAIN MAIN__
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3433: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//cc57pIde.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//cc57pIde.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3439: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define F77_DUMMY_MAIN MAIN_
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3433: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//ccyn1SRa.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccyn1SRa.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3439: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define F77_DUMMY_MAIN __main
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3433: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//cct6lI6b.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//cct6lI6b.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3439: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define F77_DUMMY_MAIN MAIN
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3433: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//cchlOvub.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//cchlOvub.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3439: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define F77_DUMMY_MAIN _MAIN
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3433: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//ccSIsBpe.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccSIsBpe.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3439: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define F77_DUMMY_MAIN __MAIN
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3433: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//ccs1eJ5a.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccs1eJ5a.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3439: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define F77_DUMMY_MAIN main_
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3433: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//ccVkrvkd.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccVkrvkd.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3439: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define F77_DUMMY_MAIN main__
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3433: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//cc48ckDc.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//cc48ckDc.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3439: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define F77_DUMMY_MAIN _main
> | #ifdef F77_DUMMY_MAIN
> | 
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int F77_DUMMY_MAIN() { return 1; }
> | 
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3482: result: unknown
> configure:3501: error: linking to Fortran libraries from C fails
> See `config.log' for more details.
> 
> ## ---------------- ##
> ## Cache variables. ##
> ## ---------------- ##
> 
> ac_cv_c_compiler_gnu=no
> ac_cv_env_CC_set=''
> ac_cv_env_CC_value=''
> ac_cv_env_CFLAGS_set=''
> ac_cv_env_CFLAGS_value=''
> ac_cv_env_CPPFLAGS_set=''
> ac_cv_env_CPPFLAGS_value=''
> ac_cv_env_F77_set=''
> ac_cv_env_F77_value=''
> ac_cv_env_FFLAGS_set=''
> ac_cv_env_FFLAGS_value=''
> ac_cv_env_LDFLAGS_set=''
> ac_cv_env_LDFLAGS_value=''
> ac_cv_env_build_alias_set=''
> ac_cv_env_build_alias_value=''
> ac_cv_env_host_alias_set=''
> ac_cv_env_host_alias_value=''
> ac_cv_env_target_alias_set=''
> ac_cv_env_target_alias_value=''
> ac_cv_f77_compiler_gnu=no
> ac_cv_f77_dummy_main=unknown
> ac_cv_f77_libs=' -lxlf90 -L/usr/lpp/xlf/lib -lxlopt -lxlf -lxlomp_ser -lm'
> ac_cv_fortran_dummy_main=unknown
> ac_cv_objext=o
> ac_cv_prog_ac_ct_CC=gcc
> ac_cv_prog_ac_ct_F77=f77
> ac_cv_prog_cc_c89=no
> ac_cv_prog_cc_g=no
> ac_cv_prog_f77_g=yes
> ac_cv_prog_f77_v=-v
> 
> ## ----------------- ##
> ## Output variables. ##
> ## ----------------- ##
> 
> CC='gcc'
> CFLAGS=''
> CPPFLAGS=''
> DEFS=''
> ECHO_C='ECHO_N=''
> ECHO_T=''
> EXEEXT=''
> F77='f77'
> FFLAGS='-g'
> FLIBS=' -lxlf90 -L/usr/lpp/xlf/lib -lxlopt -lxlf -lxlomp_ser -lm'
> LDFLAGS=''
> LIBOBJS=''
> LIBS=''
> LTLIBOBJS=''
> OBJEXT='o'
> PACKAGE_BUGREPORT=''
> PACKAGE_NAME=''
> PACKAGE_STRING=''
> PACKAGE_TARNAME=''
> PACKAGE_VERSION=''
> PATH_SEPARATOR=':'
> SHELL='/bin/sh'
> ac_ct_CC='gcc'
> ac_ct_F77='f77'
> bindir='${exec_prefix}/bin'
> build_alias=''
> datadir='${datarootdir}'
> datarootdir='${prefix}/share'
> docdir='${datarootdir}/doc/${PACKAGE}'
> dvidir='${docdir}'
> exec_prefix='NONE'
> host_alias=''
> htmldir='${docdir}'
> includedir='${prefix}/include'
> infodir='${datarootdir}/info'
> libdir='${exec_prefix}/lib'
> libexecdir='${exec_prefix}/libexec'
> localedir='${datarootdir}/locale'
> localstatedir='${prefix}/var'
> mandir='${datarootdir}/man'
> oldincludedir='/usr/include'
> pdfdir='${docdir}'
> prefix='NONE'
> program_transform_name='s,x,x,'
> psdir='${docdir}'
> sbindir='${exec_prefix}/sbin'
> sharedstatedir='${prefix}/com'
> sysconfdir='${prefix}/etc'
> target_alias=''
> 
> ## ----------- ##
> ## confdefs.h. ##
> ## ----------- ##
> 
> #define PACKAGE_NAME ""
> #define PACKAGE_TARNAME ""
> #define PACKAGE_VERSION ""
> #define PACKAGE_STRING ""
> #define PACKAGE_BUGREPORT ""
> 
> configure: exit 1
133. acfortran.at:13: 133. AC_F77_WRAPPERS (acfortran.at:13): FAILED 
(acfortran.at:13)

#                             -*- compilation -*-
135. acfortran.at:15: testing ...
./acfortran.at:15: autoconf --force -W obsolete
./acfortran.at:15: autoheader 
./acfortran.at:15: top_srcdir=$abs_top_srcdir ./configure -C
0a1,2
> configure: error: linking to Fortran libraries from C fails
> See `config.log' for more details.
stdout:
configure: creating cache config.cache
checking for gfortran... no
checking for g95... no
checking for f95... f95
checking for Fortran compiler default output file name... a.out
checking whether the Fortran compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU Fortran compiler... no
checking whether f95 accepts -g... yes
checking how to get verbose linking output from f95... -v
checking for Fortran libraries of f95...  -lxlf90 -L/usr/lpp/xlf/lib -lxlopt 
-lxlf -lxlomp_ser -lm
checking for gcc... gcc
checking whether we are using the GNU C compiler... no
checking whether gcc accepts -g... no
checking for gcc option to accept ISO C89... unsupported
checking for dummy main to link with Fortran libraries... unknown
./acfortran.at:15: exit code was 1, expected 0
config.log:
> This file contains any messages produced by compilers while
> running configure, to aid debugging if configure makes a mistake.
> 
> It was created by configure, which was
> generated by GNU Autoconf 2.60.  Invocation command line was
> 
>   $ ./configure -C
> 
> ## --------- ##
> ## Platform. ##
> ## --------- ##
> 
> hostname = bv1103en.ucar.edu
> uname -m = 00CBC88F4C00
> uname -r = 3
> uname -s = AIX
> uname -v = 5
> 
> /usr/bin/uname -p = powerpc
> /bin/uname -X     = unknown
> 
> /bin/arch              = unknown
> /usr/bin/arch -k       = unknown
> /usr/convex/getsysinfo = unknown
> /usr/bin/hostinfo      = unknown
> /bin/machine           = unknown
> /usr/bin/oslevel       = 5.3.0.0
> /bin/universe          = unknown
> 
> PATH: /home/bluevista/jeph/autoconf-2.60/tests
> PATH: /usr/bin
> PATH: /usr/ucb
> PATH: /usr/local/bin
> PATH: /usr/sbin
> PATH: /usr/bin/X11
> PATH: /usr/lpp/xlf/lib
> PATH: /usr/lpp/xlf/bin
> PATH: /opt/csm/bin
> PATH: /home/bluevista/jeph/bin
> PATH: /usr/local/lsf/6.2/aix5-64/bin
> PATH: /usr/lpp/mmfs/bin
> 
> 
> ## ----------- ##
> ## Core tests. ##
> ## ----------- ##
> 
> configure:1544: creating cache config.cache
> configure:1710: checking for gfortran
> configure:1740: result: no
> configure:1710: checking for g95
> configure:1740: result: no
> configure:1710: checking for f95
> configure:1726: found /usr/bin/f95
> configure:1737: result: f95
> configure:1767: checking for Fortran compiler version
> configure:1774: f95 --version >&5
> f95: 1501-216 command option --version is not recognized - passed to ld
> 
> 
> 
>   xlf(1)                 IBM (October 2005)                  xlf(1)
> 
> 
> 
>   NAME
>          xlf, xlf90, xlf95, xlf_r, xlf90_r, xlf95_r, f90, f95,
>          xlf_r7, xlf90_r7, xlf95_r7, f77, fort77 - invoke the IBM
>          XL Fortran compiler
> 
>   SYNTAX
>          <invocation-command> [ <option> | <inputfile> ] ...
> 
>   DESCRIPTION
>          xlf and related invocation commands compile Fortran source
>          files.  They also process assembler source files and
>          object files. Unless you specify the -c option, these
>          commands call the link editor to produce a single object
>          file.
> 
>          The main difference between these commands is that they
>          use different default options (which are set in the
>          configuration file /etc/xlf.cfg).  For more information,
>          refer to the XL Fortran Enterprise Edition Compiler
>          Reference.
> 
>          The input file may have any of the following suffixes:
>           .f - Fortran source file
>           .f77 or .F77 - Fortran source file (fixed form) using
>                f77 stanza configuration
>           .f90 or .F90 - Fortran source file (free form) using
>                xlf90 configuration
>           .f95 or .F95 - Fortran source file (free form) using
>                xlf95 configuration
>           .o or .a - object file for ld command
>           .s - assembler source file
>           .F - Fortran source file with cpp preprocessor directives
> 
>   OPTIONS
>          Compiler options are categorized by their functions. In
>          each category, the flag options are listed first, followed
>          by the keyword options.
> 
>   Input Control Options
>          -I<dir>
>                 Adds a directory to the search path for include
>                 files and .mod files. If XL Fortran calls cpp, this
>                 option adds a directory to the search path for
>                 #include files. Before checking the default
>                 directories for include and .mod files, the
>                 compiler checks each directory in the search path.
>                 For include files, this path is only used if the
>                 file name in an INCLUDE line is not provided with
>                 an absolute path. By default, the following
>                 directories are searched in the following order:
> 
>                 1) The current directory (where the compiler is
>                 executed)
>                 2) The directory where the source file is located
> 
>          -k     Specifies that the program is in free source form.
>                 This is the short form of -qfree=f90.
> 
>          -U     Makes the compiler case-sensitive to identifier
>                 names. By default the compiler interprets all names
>                 as if they were lower-case.
> 
>          -qci=<nums_list>
>                 Activates the specified INCLUDE lines. <nums_list>
>                 is a colon-separated list of identification numbers
>                 (from 1 to 255) of conditional includes.
> 
>          -qcr | -qnocr
>                 Allows you to control how the compiler interprets
>                 the CR (carriage return) character.  This allows
>                 you to compile code written using a MAC OS X or
>                 DOS/Windows editor.  The default is -qcr.
> 
>          -qdirective[=<list>] | -qnodirective[=<list>]
>                 Specifies target strings to be recognized in a
>                 comment directive. <list> is a colon-separated list
>                 of directives. If -qdirective is specified without
>                 any directives, it turns on the default trigger
>                 constant IBM* if it has been turned off by a
>                 previous -qnodirective.  The default is
>                 -qnodirective.
> 
>          -qdlines | -qnodlines
>                 This is the long form of the -D option. See -D for
>                 more information.  The default is -qnodlines.
> 
>          -qfixed[=<right_margin>]
>                 Indicates that the input source program is in fixed
>                 source form and optionally specifies the maximum
>                 line length, <right_margin>. The maximum
>                 <right_margin> value is 132.  The default is
>                 -qfixed=72 for xlf, xlf_r, xlf_r7, f77, and fort77
>                 invocation commands, and -qfree=f90 for f90, f95,
>                 xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r, and
>                 xlf95_r7.
> 
>          -qfree[={f90|ibm}]
>                 Indicates that the source code is in free source
>                 form. The 'ibm' and 'f90' suboptions specify
>                 compatibility with the free source form defined for
>                 VS Fortran and Fortran 90, respectively. Note that
>                 the free source form defined for Fortran 90 also
>                 applies to Fortran 95.  The default is -qfree=f90
>                 for f90, f95, xlf90, xlf90_r, xlf90_r7, xlf95,
>                 xlf95_r, and xlf95_r7 invocation commands, and
>                 -qfixed=72 for xlf, xlf_r, xlf_r7, f77, and fort77.
> 
>          -qmbcs | -qnombcs
>                 Indicates to the compiler whether character literal
>                 constants, Hollerith constants, H edit descriptors,
>                 and character string edit descriptors can contain
>                 Multibyte Character Set (MBCS) or Unicode
>                 characters. The default is -qnombcs.
> 
>          -qmixed | -qnomixed
>                 The long form of the -U option. Makes the compiler
>                 case-sensitive to identifier names. The default is
>                 -qnomixed.
> 
>          -qsuffix=<option>=<suffix>
>                 Specifies the source file suffix, <suffix>, on the
>                 command line instead of in the .cfg file, where
>                 <option> can be:
> 
>                 f
>                      Specifies that <suffix> is the new source file
>                      suffix.
>                 o
>                      Specifies that <suffix> is the new object-file
>                      suffix.
>                 s
>                      Specifies that <suffix> is the new assembler
>                      source file suffix.
>                 cpp
>                      Specifies that <suffix> is the new
>                      preprocessor source file suffix.
> 
>   Output Control Options
>          -c     Produces an object file instead of an executable
>                 file.  Prevents the completed object file from
>                 being sent to the ld command for link-editing. With
>                 this option, the output is a .o file for each
>                 source file.
> 
>          -d     Causes preprocessed source files that are produced
>                 by cpp to be kept rather than to be deleted. By
>                 default temporary files produced by cpp are
>                 deleted.
> 
>          -o <name>
>                 Specifies a name for the output object, executable,
>                 or assembler source file.  The default name is
>                 a.out for executable files. The default name for an
>                 object source file is the same as the source file
>                 except that it has a '.o' extension.
> 
>          -q32   Selects 32-bit mode compilation mode. The -q32 and
>                 -qarch options determine the target machines that
>                 the 32-bit executable will run on. The default is
>                 -q32.
> 
>          -q64[=<suboption>]
>                 Selects 64-bit compilation mode. The -q64 option
>                 indicates that the object module will be created in
>                 64-bit object format and that the 64-bit
>                 instruction set will be generated. Note that you
>                 may compile in a 32-bit environment to create 64-
>                 bit objects, but you must link them in a 64-bit
>                 environment with the -q64 option. Use -q32 and -q64
>                 options, along with the -qarch and -qtune compiler
>                 options, to optimize the output of the compiler to
>                 the architecture on which that output will be used.
>                 The suboptions are:
> 
>                 largetype
>                      The object file will use the 64-bit Large Data
>                      Type (LDT) ABI. This object file may only be
>                      used on versions of AIX greater than or equal
>                      to 5.0.
> 
>          -qmoddir=<directory>
>                 Specifies the location for any .mod files that the
>                 compiler writes. By default .mod files are placed
>                 in the current directory.
> 
>          -qpic[=<suboption>] | -qnopic
>                 Generates Position Independent Code (PIC) that can
>                 be used in shared libraries.  The suboptions are:
> 
>                 large
>                      Allows the size of the Table of Contents to be
>                      larger than 64K. This suboption allows for
>                      more addresses to be stored in the Table of
>                      Contents and generates larger code.
>                 small
>                      Assumes that the size of the Table of Contents
>                      can be at most 64K.
> 
>                 The default is -qpic=small.
> 
>   Optimization Options
>          -NS<bytes>
>                 Specifies the size (in bytes) of the register spill
>                 space; the internal program storage areas used by
>                 the optimizer for register spills to storage.  The
>                 default is -NS512.
> 
>          -O[<level>]
>                 Specifies whether to optimize code during
>                 compilation and, if so, at which level. -O<level>
>                 is equivalent to -qoptimize=<level>. <level> can
>                 be:
> 
>                 (not specified)
>                      This is equivalent to -O2.
>                 0
>                      Almost all optimizations are disabled. This is
>                      equivalent to -qnooptimize.
>                 1
>                      Reserved for future use. Ignored by compiler.
>                 2
>                      Performs a set of optimizations that are
>                      intended to offer improved performance without
>                      an unreasonable increase in time or storage
>                      that is required for compilation.
>                 3
>                      Performs additional optimizations that are
>                      memory intensive, compile-time intensive, and
>                      may change the semantics of the program
>                      slightly, unless -qstrict is specified. We
>                      recommend these optimizations when the desire
>                      for run-time speed improvements outweighs the
>                      concern for limiting compile-time resources.
>                      This level of optimization also affects the
>                      setting of the -qfloat option, turning on the
>                      'fltint' and 'rsqrt' suboptions by default,
>                      and setting -qmaxmem=-1.  This option implies
>                      -qhot=level=0.
>                 4
>                      Aggressively optimizes the source program,
>                      trading off additional compile time for
>                      potential improvements in the generated code.
>                      You can specify the option at compile time or
>                      at link time. if you specify it at link time,
>                      it will have no effect unless you also specify
>                      it at compile time for at least the file that
>                      contains the main program. -O4 implies the
>                      following other options:
>                      -qhot
>                      -qipa
>                      -O3
>                      -qarch=auto
>                      -qtune=auto
>                      -qcache=auto
>                 5
>                      Performs all optimizations from -O4, and also
>                      sets -qipa=level=2 to perform full inter-
>                      procedural data flow and alias analysis.
> 
>                 -O4 and -O5 perform whole-program analysis and
>                 should be specified at both compilation and link
>                 time to have maximal effect.  The default is -O0.
> 
>          -p[g]  Sets up the object file for profiling. Specifying
>                 '-pg' will produce more extensive statistics. The
>                 default is no profiling.
> 
>          -Q[<suboption>]
>                 Specifies whether Fortran 90 or Fortran 95
>                 procedures are inlined and/or the names of
>                 particular procedures that should or should not be
>                 inlined. names is a list of procedure names that
>                 are separated by colons. This option can take the
>                 form:
> 
>                 -Q
>                      Attempts to inline all appropriate functions,
>                      subject to limits on the number of inlined
>                      calls and the amount of code size increase as
>                      a result.
>                 -Q!
>                      Turns off inlining.
>                 -Q+<names_list>
>                      Inlines the functions listed in <names_list>
>                      and any other appropriate functions, where
>                      <names_list> is a colon-separated list.
>                 -Q-<names_list>
>                      Does not inline functions listed in
>                      <names_list>, where <names_list> is a colon-
>                      separated list. All other appropriate
>                      functions are inlined.
> 
>          -s     Strips the symbol table, line number information,
>                 and relocation information from the output file.
> 
>          -qalias=<suboptions_list>
>                 Indicates whether a program contains certain
>                 categories of aliasing. The compiler limits the
>                 scope of some optimizations when there is a
>                 possibility that different names are aliases for
>                 the same storage locations. <suboptions_list> is a
>                 colon-separated list of one or more of the
>                 following suboptions:
> 
>                 aryovrlp | noaryovrlp
>                      Indicates whether the compilation units
>                      contain any array assignments between
>                      storage-associated arrays. If not, specify
>                      noaryovrlp to improve performance.
>                 intptr | nointptr
>                      Indicates whether the compilation units
>                      contain any integer POINTER statements. If so,
>                      specify intptr.
>                 pteovrlp | nopteovrlp
>                      Indicates whether any pointee variables may be
>                      used to refer to any data objects that are not
>                      pointee variables, or whether two pointee
>                      variables may be used to refer to the same
>                      storage location. If not, specify nopteovrlp.
>                 std | nostd
>                      Indicates whether the compilation units
>                      contain any non-standard aliasing (see
>                      Compiler Reference for more information). If
>                      so, specify nostd.  (-qalias=nostd replaces
>                      the obsolete -qxflag=xalias option.)
> 
>                 For the xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r,
>                 xlf95_r7, f90 and f95 commands, the default
>                 suboptions are: aryovrlp, nointptr, pteovrlp, and
>                 std. For the xlf, xlf_r, xlf_r7, f77, and fort77
>                 commands, the default suboptions are: aryovrlp,
>                 intptr, pteovrlp, and std.
> 
>          -qalign=<suboptions_list>
>                 Specifies the alignment of data objects in storage
>                 to avoid performance problems with misaligned data.
>                 <suboptions_list> is a colon-separated list of one
>                 or more of the following suboptions:
> 
>                 4k | no4k
>                      Specifies whether large arrays and structures
>                      (at least 4096 bytes in size) will be aligned
>                      on a 4K (4096-byte, or page) boundary.  Use of
>                      this option may help to improve the
>                      performance of programs using data striping.
>                 bindc=<suboption>
>                      Specifies that the alignment and padding for
>                      an XL Fortran derived type with the BIND(C)
>                      attribute are compatible with a C struct type
>                      that is compiled with the corresponding XL C
>                      alignment option. The compatible alignment
>                      options are:
>                      -qalign=bindc=bit_packed
>                      -qalign=bindc={full|power}
>                      -qalign=bindc=packed
>                      -qalign=bindc={twobyte|mac68k}
>                      -qalign=bindc=natural
>                      Each of these "-qalign=bindc=" sub-suboptions
>                      is equivalent to the XL C "-qalign=" suboption
>                      of the same name.  (ie: For
>                      -qalign=bindc=bit_packed, the corresponding XL
>                      C option is -qalign=bit_packed)
>                 struct=<option>
>                      Specifies how objects or arrays of a derived
>                      type (declared using a record structure) are
>                      stored, and whether or not padding is used
>                      between components. The options are:
>                      natural
>                           Objects of a derived type are stored with
>                           sufficient padding such that components
>                           will be stored on their natural alignment
>                           boundaries, unless storage association
>                           requires otherwise.
>                      packed
>                           Objects of a derived type are stored with
>                           no padding between components, other than
>                           any padding represented by %FILL
>                           components.
>                      port
>                           Storage padding is the same as described
>                           above for the struct=natural suboption,
>                           except that the alignment of components
>                           of type complex is the same as the
>                           alignment of components of type real of
>                           the same kind. The padding for an object
>                           that is immediately followed by a union
>                           is inserted at the beginning of the first
>                           map component for each map in that union.
> 
>                 The default activated suboptions are: no4k,
>                 struct=natural, and bindc=power.
> 
>          -qarch=<suboption>
>                 Specifies which instructions the compiler can
>                 generate.  The suboptions are:
> 
>                 auto
>                      Automatically detects the specific
>                      architecture of the compiling machine. It
>                      assumes that the execution environment will be
>                      the same as the compilation environment.
>                 com
>                      You can run the executable file that the
>                      compiler generated on any hardware platform
>                      supported by the compiler, because the file
>                      contains only instructions that are common to
>                      all machines.
>                 p2sc
>                      The executable file can be executed on any
>                      POWER2 Super Chip hardware platform.
>                 ppc
>                      Produces an object that contains instructions
>                      that run on any of the 32-bit PowerPC hardware
>                      platforms. Using -q64 with ppc upgrades the
>                      architecture to ppc64grsq.
>                 ppcgr
>                      In 32-bit mode, produces object code
>                      containing optional graphics instructions for
>                      PowerPC hardware platforms.  In 64-bit mode,
>                      produces object code containing optional
>                      graphics instructions that will run on 64-bit
>                      PowerPC platforms, but not on 32-bit-only
>                      platforms.  Using -q64 with ppcgr upgrades the
>                      architecture to ppc64grsq.
>                 ppc64
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform. When compiled
>                      in 32-bit mode, the resulting object code may
>                      include instructions that are not recognized
>                      or behave differently when run on 32-bit
>                      PowerPC platforms.
>                 ppc64gr
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform that supports
>                      the optional graphics instructions.
>                 ppc64grsq
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform that supports
>                      the optional graphics and square root
>                      instructions.
>                 pwr
>                      Produces an object that contains instructions
>                      that run on any of the POWER or POWER2
>                      hardware platforms.
>                 pwr2s
>                      The executable file can be executed on any
>                      desktop implementation of the POWER2 chip.
>                 pwr2
>                      Produces an object that contains instructions
>                      that run on the POWER2 hardware platforms.
>                 pwrx
>                      Equivalent to pwr2.
>                 pwr3
>                      Produces an object that contains instructions
>                      that run on the POWER3, POWER4, POWER5,
>                      POWER5+ or PowerPC 970 hardware platforms.
>                 pwr4
>                      Produces an object that contains instructions
>                      that run on the POWER4, POWER5, POWER5+ or
>                      PowerPC 970 hardware platforms.
>                 pwr5
>                      Produces an object that contains instructions
>                      that run on the POWER5 or POWER5+ hardware
>                      platforms.
>                 pwr5x
>                      Produces an object that contains instructions
>                      that run on any POWER5+ hardware platform.
>                 rs64a
>                      Produces an object that contains instructions
>                      that run on an RS64I hardware platform.
>                 rs64b
>                      Produces an object that contains instructions
>                      that run on an RS64II hardware platform.
>                 rs64c
>                      Produces an object that contains instructions
>                      that run on an RS64III hardware platform.
>                 601
>                      Produces an object that contains instructions
>                      that run on PowerPC 601 systems.
>                 603
>                      Produces an object that contains instructions
>                      that run on PowerPC 603 systems.
>                 604
>                      Produces an object that contains instructions
>                      that run on PowerPC 604 systems.
>                 ppc970
>                      Generates instructions specific to PowerPC 970
>                      processors.
>                 ppc64v
>                      Generates instructions for any 64-bit PowerPC
>                      processor (like PowerPC 970) with VMX.
> 
>                 The default is -qarch=com.
> 
>          -qassert=<suboptions_list>
>                 Provides information about the program to help
>                 fine-tune optimizations. <suboptions_list> is a
>                 colon-separated list of one or both of the
>                 following suboptions:
> 
>                 deps | nodeps
>                      Loops can contain loop-carried dependencies.
>                 itercnt=<n>
>                      The iteration count of a typical loop is <n>.
> 
>                 The default is -qassert=deps:itercnt=1024.
> 
>          -qcache=<suboptions_list>
>                 Specifies the cache configuration for a specific
>                 execution machine. <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 assoc=<n>
>                      Specifies the set-associativity of the cache:
>                      0   = Directly-mapped
>                      1   = Fully associative
>                      (n > 1) = <n>-way set-associative
>                 auto
>                      Automatically detects the specific cache
>                      configuration of the compiling machine. It
>                      assumes that the execution environment will be
>                      the same as the compilation environment.
>                 cost=<cycles>
>                      Specifies the performance penalty resulting
>                      from a cache miss.
>                 level=<level>
>                      Specifies which level of cache is affected:
>                      1 = Basic cache
>                      2 = Level-2 cache, or the table lookaside
>                      buffer (TLB) if the machine has no level-2
>                      cache
>                      3 = TLB, in a machine that does have a level-2
>                      cache
>                 line=<bytes>
>                      Specifies the line size of the cache.
>                 size=<Kbytes>
>                      Specifies the total size of the cache.
>                 type=<type>
>                      Specifies the type of cache that the settings
>                      apply to:
>                      C or c = Combined data and instruction cache
>                      D or d = Data cache
>                      I or i = Instruction cache
> 
>                 The default is determined by the -qtune and -qarch
>                 settings.
> 
>          -qcompact | -qnocompact
>                 Reduces optimizations that increase code size.  The
>                 default is -qnocompact.
> 
>          -qdirectstorage | -qnodirectstorage
>                 Specifies that a compilation unit might reference
>                 write-through-enabled or cache-inhibited storage.
>                 The default is -qnodirectstorage.
> 
>          -qenablevmx | -qnoenablevmx
>                 Enables generation of Vector Multimedia Extension
>                 (VMX) instructions.  The default is -qnoenablevmx.
> 
>          -qessl | -qnoessl
>                 Allows the use of the Engineering and Scientific
>                 Subroutine Library (ESSL) routines in place of
>                 Fortran 90 intrinsic procedures.  The default is
>                 -qnoessl.
> 
>          -qfdpr | -qnofdpr
>                 Provides object files with information that the AIX
>                 Feedback Directed Program Restructuring (fdpr)
>                 performance-tuning utility needs to optimize the
>                 resulting executable file.  The default is
>                 -qnofdpr.
> 
>          -qhot[=<suboptions>] | -qnohot
>                 Performs high-order loop analysis and
>                 transformations during optimization. This option is
>                 a powerful alternative to hand-tuning that provides
>                 opportunities to optimize loops and array language.
>                 The suboptions are:
> 
>                 arraypad[=<n>]
>                      When <n> is specified, the compiler will pad
>                      every array in the code. The pad amount must
>                      be a positive integer value. When <n> is not
>                      specified, the compiler will pad any arrays
>                      where it infers that there may be a benefit.
>                 level={0|1}
>                      Specifies the level of high-order
>                      transformation to perform during compilation.
>                      At level=1, full high-order transformation is
>                      performed, but at level=0 only a subset of the
>                      high-order transformations are performed,
>                      which reduces compile time. See the XL Fortran
>                      Compiler Reference for more information.
>                 simd | nosimd
>                      Converts certain operations in a loop that
>                      apply to successive elements of an array into
>                      a VMX (Vector Multimedia Extension)
>                      instruction.  If you specify -qhot=nosimd, the
>                      compiler performs optimizations on loops and
>                      arrays, but avoids replacing certain code with
>                      VMX instructions.
>                 vector | novector
>                      Specifies whether to allow the compiler to
>                      optimize by replacing code with calls to
>                      vector library routines.  Only takes effect
>                      when specified with -qnostrict or -O3 or
>                      higher optimization level.
> 
>                 The default is -qnohot. If -qhot is specified
>                 without parameters, the default is -qhot=vector.
> 
>          -qipa[=<suboptions_list>] | -qnoipa
>                 Enhances -O optimization by performing detailed
>                 analysis across procedures. Optimization level -O2
>                 or higher is required when using -qipa.
>                 <suboptions_list> is a colon-separated list of
>                 suboptions. Regular expressions are supported when
>                 specifying <procedure_names_list> in the following
>                 -qipa suboptions: exits, inline, noinline, lowfreq,
>                 pure, safe, and unknown. <procedure_names_list> is
>                 a comma-separated list. The suboptions are:
> 
>                 exits=<procedure_names_list>
>                      Specifies a selected set of procedures which
>                      always end the program.
>                 clonearch=<architecture_list> | noclonearch
>                      Allows you to specify multiple architectures
>                      in the event that you want to compile your
>                      application for multiple architectures with a
>                      single binary file. <architecture_list> is a
>                      comma-separated list of one or more of the
>                      following architectures: pwr4, pwr5, ppc970,
>                      and pwr5x. This must be specified during link
>                      time.  The default is noclonearch.
>                 cloneproc=<names_list> | nocloneproc=<names_list>
>                      Allows you to explicitly declare which
>                      procedures the compiler should attempt to
>                      clone. <names_list> is a comma-separated list
>                      of the mangled names of the functions that you
>                      wish to clone (or not clone). Please note that
>                      this suboption has no effect unless
>                      -qipa=clonearch=<arch> is specified. You can
>                      use regular expression syntax when specifying
>                      function names.  The default is nocloneproc.
>                 inline=<options_list>
>                      Specifies a colon-separated list of inline
>                      options, which are as follows:
>                      auto | noauto
>                           Specifies whether to automatically
>                           perform inline expansion.  The default is
>                           auto.
>                      limit=<n>
>                           Changes the size limits that the
>                           inline=auto option uses to determine how
>                           much inline expansion to do. <n> is the
>                           optimizers approximation of the number of
>                           bytes of code that will be generated.
>                      <procedure_names_list>
>                           Specifies the procedures to attempt to
>                           inline.
>                      threshold=<num>
>                           Specifies the upper size limit on
>                           procedures to inline. This argument is
>                           implemented only when inline=auto is on.
>                 noinline=<procedure_names_list>
>                      Specifies the procedures which are not to be
>                      inlined.
>                 isolated=<procedure_names_list>
>                      Specifies the procedures that are not compiled
>                      with -qipa and do not directly refer to any
>                      global variable.
>                 level=<level>
>                      Determines the amount of IPA analysis and
>                      optimization to perform:
>                      0
>                           Performs minimal inter-procedural
>                           analysis and optimization.
>                      1
>                           Turns on inlining, limited alias
>                           analysis, and limited call-site
>                           tailoring.
>                      2
>                           Full inter-procedural data flow and alias
>                           analysis.
>                      The default level is 1.
>                 list[={<filename>|short|long}]
>                      Specifies an output listing file name during
>                      the link phase, in the event that an object
>                      listing has been requested using the -qlist or
>                      -qipa=list option. The default name is
>                      "a.lst". Specifying 'long' or 'short'
>                      determines which listing sections will be
>                      included. The default is short.
>                 lowfreq=<procedure_names_list>
>                      Specifies the procedures that are likely to be
>                      called infrequently during the course of a
>                      typical program run.
>                 malloc16 | nomalloc16
>                      Instructs the compiler to assume that the
>                      dynamic memory allocation routines (such as
>                      malloc/calloc/realloc/new) will return 16-byte
>                      aligned memory addresses. The compiler will
>                      optimize based on this assumption. Note that
>                      if the assertion is false, incorrect results
>                      may be generated.  The default is 'malloc16'
>                      in 64-bit mode, and 'nomalloc16' otherwise.
>                 missing={unknown|safe|isolated|pure}
>                      Specifies the interprocedural behavior for
>                      procedures not compiled with -qipa.  The
>                      default is 'unknown'.
>                 object | noobject
>                      Includes standard object code in the object
>                      files. If the noobject option is specified, it
>                      can substantially reduce overall compilation
>                      time by not generating object code during the
>                      first IPA phase. The default is object. Note,
>                      this is a compile-time suboption.
>                 partition={small|medium|large}
>                      Specifies the size of the regions within the
>                      program to analyze. Larger partitions contain
>                      more procedures, which result in better
>                      interprocedural analysis but require more
>                      storage to optimize.  The default is medium.
>                 pdfname=<filename>
>                      Specifies the name of the profile data file
>                      that contains the PDF profiling information.
>                      The default filename is __pdf.
>                 pure=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure that you
>                      specified as "pure" must be "isolated" and
>                      "safe". It must not alter the internal state
>                      nor have side-effects, which are defined as
>                      potentially altering any data object visible
>                      to the caller.
>                 safe=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure that you
>                      specified as "safe" may modify global
>                      variables and dummy arguments.
>                 stdexits | nostdexits
>                      Specifies that certain predefined routines can
>                      be optimized as with the exits suboption. The
>                      procedures are abort, exit, _exit, and
>                      _assert.  The default is nostdexits.
>                 threads[=<n>] | nothreads
>                      Specifies the number of threads for the
>                      compiler to use. When <n> is not specified,
>                      the compiler decides the number of threads.
>                      Otherwise, up to <n> threads are used to
>                      invoke the compiler backend. Specifying
>                      'nothreads' is equivalent to running one
>                      serial process.
>                 unknown=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure specified
>                      as "unknown" may make calls to other parts of
>                      the program compiled with -qipa and modify
>                      global variables and dummy arguments.
> 
>                 Options intended for use by the link-time phase of
>                 -qipa are -qlibansi, -qlibessl, -qlibposix and
>                 -qthreaded.  The default is -qnoipa.
> 
>          -qkeepparm | -qnokeepparm
>                 Ensures that the incoming parameters are stored on
>                 the stack even when optimizing. This may negatively
>                 impact execution performance. This option then
>                 provides access to the values of incoming
>                 parameters to tools, such as debuggers, simply by
>                 preserving those values on the stack.  The default
>                 is -qnokeepparm.
> 
>          -qlargepage | -qnolargepage
>                 Indicates that a program, designed to execute in a
>                 large page memory environment, can take advantage
>                 of large 16 MB pages provided on POWER4 and higher
>                 based systems.  The default is -qnolargepage.
> 
>          -qlibansi | -qnolibansi
>                 Assumes that all functions with the name of an ANSI
>                 C defined library function are in fact the library
>                 functions.  The default is -qnolibansi.
> 
>          -qlibessl | -qnolibessl
>                 Assumes that all functions with the name of an ESSL
>                 defined library function are, in fact, the library
>                 functions.  The default is -qnolibessl.
> 
>          -qlibposix | -qnolibposix
>                 Assumes that all functions with the name of a POSIX
>                 1003.1 defined library function are, in fact, the
>                 system functions.  The default is -qnolibposix.
> 
>          -qmaxmem=<kbytes>
>                 Limits the amount of memory that the compiler
>                 allocates while performing specific, memory-
>                 intensive optimizations. If <kbytes> is -1, the
>                 compiler will take as much memory as it needs
>                 without checking for limits. The default is
>                 -qmaxmem=2048 when using optimization level -O2,
>                 and -qmaxmem=-1 when using -O3 or greater.
> 
>          -qoptimize[=<level>] | -qnooptimize
>                 The long form of the -O option. -qoptimize=<level>
>                 is equivalent to -O<level>. See the -O option.  The
>                 default is -qnooptimize.
> 
>          -qpdf1 Produces an object that is instrumented to collect
>                 run-time execution information. This is phase 1 of
>                 the profile-directed feedback optimization process.
> 
>          -qpdf2 Tunes application performance using the data
>                 generated by running a program compiled with
>                 -qpdf1. This is phase 2 of the profile-directed
>                 feedback optimization process.
> 
>          -qprefetch | -qnoprefetch
>                 Automatically inserts prefetch instructions where
>                 the optimizer perceives a benefit.  The default is
>                 -qprefetch.
> 
>          -qrecur | -qnorecur
>                 Not recommended. Allows external subprograms to be
>                 called recursively. For new programs, use the
>                 RECURSIVE keyword, which provides a standard-
>                 conforming way of using recursive procedures.  The
>                 default is -qnorecur.
> 
>          -qshowpdf | -qnoshowpdf
>                 Adds additional call and block count profiling
>                 information to an executable. This option is used
>                 together with the -qpdf1 option.  The default is
>                 -qnoshowpdf.
> 
>          -qsmallstack[=<suboption>] | -qnosmallstack
>                 Specifies that the compiler will minimize stack
>                 usage where possible. This option can take the
>                 form:
> 
>                 -qsmallstack
>                      Enables only general small stack
>                      transformations.
>                 -qsmallstack=dynlenonheap
>                      Asserts that automatic variables which are
>                      dynamically-sized are allocated from the heap
>                      and enables general small stack
>                      transformations.
>                 -qsmallstack=nodynlenonheap
>                      Disables dynamic-length variable allocation.
>                 -qnosmallstack
>                      Disables only the general small stack
>                      transformations.
> 
>                 The default is -qnosmallstack.
> 
>          -qsmp[=<suboptions_list>] | -qnosmp
>                 Specifies that code should be produced for an SMP
>                 system.  <suboptions_list> is a colon-separated
>                 list of one or more of the following suboptions:
> 
>                 auto | noauto
>                      Enables automatic parallelization.
>                 nested_par | nonested_par
>                      Specifies that prescriptive nested parallel
>                      constructs should be parallelized by the
>                      compiler.
>                 omp | noomp
>                      Enforces compliance with the OpenMP Fortran
>                      API.
>                 opt | noopt
>                      Controls optimization for parallelization.
>                      -qsmp=noopt specifies that the compiler should
>                      do the least amount of optimization that is
>                      required to parallelize the code and preserve
>                      maximum debugability.
>                 rec_locks | norec_locks
>                      Allows recursive locks to be used to avoid
>                      problems associated with CRITICAL constructs.
>                      If -qsmp=norec_locks is specified, recursive
>                      locks will not be used to implement critical
>                      sections.
>                 schedule=<suboptions>
>                      The schedule suboption can take any of the
>                      following sub-suboptions:
>                      affinity[=<n>]
>                      dynamic[=<n>]
>                      guided[=<n>]
>                      runtime
>                      static[=<n>]
>                      For their descriptions, refer to the XL
>                      Fortran Compiler Reference.
>                 threshold=<n>
>                      Controls the amount of automatic loop
>                      parallelization that occurs. The value of <n>
>                      represents the lower limit allowed for
>                      parallelization of a loop, based on the level
>                      of "work" present in a loop.
> 
>                 The default is -qnosmp.  If you specify -qsmp
>                 without suboptions, the default suboptions are:
>                 auto, opt, noomp, norec_locks, nonested_par,
>                 schedule=runtime, and threshold=100.
> 
>          -qspillsize=<bytes>
>                 The long form of -NS. See the -NS option.  The
>                 default is -qspillsize=512.
> 
>          -qstacktemp=<num>
>                 Determines where to allocate applicable compiler
>                 temporaries at run time. The allocation depends on
>                 the value of <num>. The values are:
> 
>                 0
>                      Indicates that the compiler will decide
>                      whether to allocate the applicable compiler
>                      temporaries on the heap or the stack.
>                 -1
>                      Indicates that applicable compiler temporaries
>                      are to be always allocated on the stack. This
>                      is the best-performing setting but uses the
>                      most amount of stack storage.
>                 (1 or greater)
>                      Indicates that applicable compiler temporaries
>                      less than this value (bytes) should be
>                      allocated on the stack and those greater than
>                      or equal to this value should be allocated on
>                      the heap.
> 
>                 The default is -qstacktemp=0.
> 
>          -qstrict | -qnostrict
>                 Ensures that optimizations done by the -O3 and
>                 greater (and optionally -O2) options do not alter
>                 the semantics of a program. This option is ignored
>                 for -qnoopt.  For -O3 and greater, the default is
>                 -qnostrict. Otherwise the default is -qstrict.
> 
>          -qstrict_induction | -qnostrict_induction
>                 Prevents the compiler from performing induction
>                 (loop counter) variable optimizations that could
>                 alter the semantics of a program.  The default is
>                 -qnostrict_induction.
> 
>          -qthreaded
>                 Asserts that the compiler will generate thread-safe
>                 code when generating its own code or allocating
>                 compiler-created temporary data. User-written code
>                 that is algorithmically not thread-safe is
>                 unaffected by this option and will remain non-
>                 thread-safe. The default is -qthreaded when using
>                 xlf_r, xlf_r7, xlf90_r, xlf90_r7, xlf95_r, or
>                 xlf95_r7 invocation commands.
> 
>          -qtune=<suboption>
>                 Tunes instruction selection, scheduling, and other
>                 implementation-dependent performance enhancements
>                 for a specific implementation of a hardware
>                 architecture.  -qtune will not alter the ability of
>                 a program to run on a processor but will produce
>                 optimal code sequences tuned to a particular
>                 processor.  The suboptions are:
> 
>                 auto
>                      Automatically detects the specific processor
>                      type of the compiling machine and produces an
>                      object optimized for that processor.
>                 601
>                      Produces an object optimized for all the
>                      PowerPC 601 processors.
>                 603
>                      Produces an object optimized for all the
>                      PowerPC 603 processors.
>                 604
>                      Produces an object optimized for all the
>                      PowerPC 604 processors.
>                 pwr
>                      Produces an object optimized for the POWER
>                      hardware platforms.
>                 p2sc
>                      The optimizations are tuned for the POWER2
>                      Super Chip.
>                 pwr2
>                      Produces an object optimized for the POWER2
>                      hardware platforms.
>                 pwrx
>                      This is equivalent to pwr2.
>                 pwr2s
>                      The optimizations are tuned for the desktop
>                      implementation of the POWER2 architecture,
>                      which has a narrower processor-to-memory bus
>                      than other POWER2 implementations.
>                 pwr3
>                      Produces an object optimized for the POWER3
>                      hardware platforms.
>                 pwr4
>                      Produces an object optimized for the POWER4
>                      hardware platforms.
>                 pwr5
>                      Produces an object optimized for the POWER5
>                      hardware platforms.
>                 rs64a
>                      Produces an object optimized for the RS64I
>                      processor.
>                 rs64b
>                      Produces an object optimized for the RS64II
>                      processor.
>                 rs64c
>                      Produces an object optimized for the RS64III
>                      processor.
>                 ppc970
>                      Produces an object optimized for PowerPC 970
>                      processors.
> 
>                 The compiler uses -qtune setting that is compatible
>                 with the target architecture, which is controlled
>                 by the -qarch, -q32, and -q64 options.  The default
>                 setting is determined by the setting of -qarch.
> 
>          -qunroll[={auto|yes}] | -qnounroll
>                 Specifies whether unrolling DO loops is allowed in
>                 a program. Unrolling is allowed on outer and inner
>                 DO loops.  The suboptions are:
> 
>                 auto
>                      The compiler performs basic loop unrolling.
>                 yes
>                      The compiler looks for more opportunities to
>                      perform loop unrolling than is done with the
>                      -qunroll=auto option. Specifying -qunroll with
>                      no suboptions is equivalent to -qunroll=yes.
> 
>                 The default is -qunroll=auto.
> 
>          -qunwind | -qnounwind
>                 Specifies that the compiler will preserve the
>                 default behavior for saves and restores to volatile
>                 registers during a procedure call.  If you specify
>                 -qnounwind, the compiler rearranges subprograms to
>                 minimize saves and restores to volatile registers.
>                 This rearrangement may make it impossible for the
>                 program or debuggers to walk through or "unwind"
>                 subprogram stack frame chains.  The default is
>                 -qunwind.
> 
>          -qvecnvol | -qnovecnvol
>                 Asserts that the compiled application will use both
>                 volatile and non-volatile vector registers. You
>                 should use this option only after understanding
>                 interoperability with old binaries. If you are
>                 compiling C/C++ code in Fortran which calls any of
>                 the following subroutines: setjmp(),longjmp(),
>                 sigsetjmp(), siglongjmp(), _setjmp(), _longjmp(),
>                 getcontext(), setcontext(), makecontext(), and
>                 swapcontext(), then you should set -qnovecnvol.
>                 bos.adt.include version 5.3.0.30 or greater should
>                 be installed to use -qvecnvol on the host system.
>                 The default is -qnovecnvol.
> 
>          -qzerosize | -qnozerosize
>                 Improves performance of Fortran 77 and some Fortran
>                 90 and Fortran 95 programs by preventing checking
>                 for zero-sized character strings and arrays.
>                 For the xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r,
>                 xlf95_r7, f90, and f95 commands, the default is
>                 -qzerosize.  For the xlf, xlf_r, xlf_r7, f77, and
>                 fort77 commands, the default is -qnozerosize.
> 
>   Error Checking and Debugging Options
>          -C     Checks each reference to an array element, array
>                 section, or character substring for correctness.
>                 This is the short form of -qcheck.
> 
>          -D     Specifies whether the compiler compiles fixed
>                 source form lines with a D in column 1 or treats
>                 them as comments. Please note that in order to pass
>                 C-style -D macro definitions to the C preprocessor
>                 (e.g. compiling a file that ends with .F) use the
>                 -W option. For example:
>                 -WF,-DDEFINE_THIS
>                 -D is the short form of -qdlines.
> 
>          -g     Generates debug information for use by a symbolic
>                 debugger.
> 
>          -qcheck | -qnocheck
>                 The long form of the -C option. See -C for details.
>                 The default is -qnocheck.
> 
>          -qdbg | -qnodbg
>                 The long form of the -g option. See -g for details.
>                 The default is -qnodbg.
> 
>          -qdpcl | -qnodpcl
>                 Generates symbols that tools based on the Dynamic
>                 Probe Class Library (DPCL) API can use to see the
>                 structure of an executable file. You must also
>                 specify the -g option when you specify -qdpcl.
>                 This option has no effect when optimization (-O) is
>                 enabled. The default is -qnodpcl.
> 
>          -qextchk | -qnoextchk
>                 Sets up type-checking information for common
>                 blocks, procedure definitions, procedure
>                 references, and module data. Later, the linker can
>                 detect mismatches across compilation units using
>                 this information.  The default is -qnoextchk.
> 
>          -qflttrap[=<suboptions_list>] | -qnoflttrap
>                 Determines what types of floating-point exception
>                 conditions to detect at run time. The program
>                 receives a SIGTRAP signal when the corresponding
>                 exception occurs.  <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 enable
>                      Turn on checking for the specified exceptions
>                      in the main program so that the exceptions
>                      generate SIGTRAP signals.
>                 imprecise
>                      Only check for the specified exceptions on
>                      subprogram entry and exit.
>                 inexact
>                      Detect and trap on floating-point inexact, if
>                      exception checking is enabled.
>                 invalid
>                      Detect and trap on floating-point invalid
>                      operations.
>                 nanq
>                      Detect and trap all quiet not-a-number (NaNQ)
>                      values and signaling not-a-number (NaNS)
>                      values.
>                 overflow
>                      Detect and trap on floating-point overflow.
>                 underflow
>                      Detect and trap on floating-point underflow.
>                 zerodivide
>                      Detect and trap on floating-point division by
>                      zero.
> 
>                 The default is -qnoflttrap. When -qflttrap is
>                 specified with no suboptions, the default activated
>                 suboptions are: overflow, underflow, zerodivide,
>                 invalid, and inexact.
> 
>          -qfullpath | -qnofullpath
>                 Records the full (or absolute) path names of source
>                 and include files in object files compiled with
>                 debugging information (-g option).  The default is
>                 -qnofullpath.
> 
>          -qhalt=<sev>
>                 Stops before producing any object, executable, or
>                 assembler source files if the maximum severity of
>                 compile-time messages equals or exceeds the
>                 specified severity <sev>, where the severity levels
>                 are:
> 
>                 i = informational messages
>                 l = language-level messages
>                 w = warning messages
>                 e = error messages
>                 s = severe error messages
>                 u = unrecoverable error messages
>                 q = no messages
> 
>                 The default is -qhalt=s.
> 
>          -qinitauto[=<hex_value>] | -qnoinitauto
>                 Initializes each byte or word (4 bytes) of storage
>                 for automatic variables to a specific value,
>                 depending on the length specified in <hex_value>.
>                 This helps you to locate variables that are
>                 referenced before they are defined. <hex_value> is
>                 a 1 to 8 digit hexadecimal number.  The default is
>                 -qnoinitauto. If you specify -qinitauto without a
>                 <hex_value>, the compiler initializes the value of
>                 each byte of automatic storage to zero. This option
>                 should be used for debugging purposes only.
> 
>          -qlanglvl=<suboption>
>                 Determines which language standard (or
>                 subset/superset of a standard) to check against for
>                 nonconformance. This option will only produce
>                 messages; all code valid in extended mode will
>                 compile regardless of which suboption is specified.
>                 The suboptions are:
> 
>                 77std
>                      Accepts the language specified by the ANSI
>                      Fortran 77 standard.
>                 90std
>                      Accepts the language specified by the ISO
>                      Fortran 90 standard.
>                 90pure
>                      Same as 90std, except that it reports errors
>                      for any obsolescent Fortran 90 features used.
>                 90ext
>                      Obsolete suboption that is equivalent to
>                      extended.
>                 95std
>                      Accepts the language specified by the ISO
>                      Fortran 95 standard.
>                 95pure
>                      Same as 95std, except that it also reports
>                      errors for any obsolescent Fortran 95 features
>                      used.
>                 2003std
>                      Accepts the language that the ISO Fortran 95
>                      standard specifies, as well as all Fortran
>                      2003 features supported by XL Fortran, and
>                      reports anything else as an error.
>                 2003pure
>                      The same as 2003std except that it also
>                      reports errors for any obsolescent Fortran
>                      2003 features used.
>                 extended
>                      Accepts the full Fortran 95 language standard,
>                      all Fortran 2003 features supported by XL
>                      Fortran, and all extensions, effectively
>                      turning off language-level checking.
> 
>                 The default is -qlanglvl=extended.
> 
>          -qlinedebug | -qnolinedebug
>                 Generates line number and source file name
>                 information for the debugger. This option produces
>                 minimal debugging information, so the resulting
>                 object size is smaller than what is produced if the
>                 -g debugging option is specified. The default is
>                 -qnolinedebug.
> 
>          -qobject | -qnoobject
>                 Specifies whether to produce an object file or to
>                 stop immediately after checking the syntax of the
>                 source files.  The default is -qobject.
> 
>          -qsaa | -qnosaa
>                 Checks for conformance to the SAA Fortran language
>                 definition. It identifies nonconforming source code
>                 and also options that allow such nonconformances.
>                 The default is -qnosaa.
> 
>          -qsaveopt | -qnosaveopt
>                 Saves the command-line options used for compiling a
>                 source file, and other information, in the
>                 corresponding object file. The compilation must
>                 produce an object file for this option to take
>                 effect.  The default is -qnosaveopt.
> 
>          -qsigtrap[=<trap_handler>]
>                 When you are compiling a file that contains a main
>                 program, this option sets up the specified trap
>                 handler to catch SIGTRAP exceptions. This option
>                 enables you to install a handler for SIGTRAP
>                 signals without calling the SIGNAL subprogram in
>                 the program. Specifying -qsigtrap with no
>                 <trap_handler> is equivalent to -qsigtrap=xl__trce.
> 
>          -qtbtable=<suboption>
>                 Limits the amount of debugging traceback
>                 information in object files, which reduces the size
>                 of the program. The suboptions are:
> 
>                 none
>                      Includes no traceback information.
>                 small
>                      Includes traceback information but not the
>                      names of procedures or information about
>                      procedure parameters.
>                 full
>                      Includes complete traceback information.
> 
>                 The default is full traceback information in the
>                 object file when compiling non-optimized (without
>                 -O) or for debugging (with -g).  Otherwise, the
>                 default is -qtbtable=small.
> 
>          -qwarn64 | -qnowarn64
>                 Assists in porting code from a 32-bit environment
>                 to a 64-bit environment by detecting the truncation
>                 of an 8-byte integer pointer to 4 bytes. The
>                 -qwarn64 option uses informational messages to
>                 identify statements that may cause problems with
>                 the 32-bit to 64-bit migration.  The default is
>                 -qnowarn64.
> 
>          -qxflag=<suboption>
>                 Specifies rarely-needed compiler behaviors.  The
>                 suboptions are:
> 
>                 oldtab
>                      For fixed source form programs, interprets a
>                      tab in columns 1 to 5 as a single character.
>                      The source statement still starts immediately
>                      after the tab, but the tab character is
>                      treated as a single character for counting
>                      columns. This setting allows up to 71
>                      characters of input, depending on where the
>                      tab character occurs.
>                 dvz
>                      Specifying -qxflag=dvz causes the compiler to
>                      generate code to detect floating-point
>                      divide-by-zero operations. With this option
>                      on, the extra code calls the external handler
>                      function __xl_dzx when the divisor is zero.
>                 xalias
>                      This is obsolete. Please use -qalias=nostd in
>                      your new applications.
> 
>          -qxlines | -qnoxlines
>                 Specifies whether fixed source form lines with a X
>                 in column 1 are compiled or treated as comments.
>                 The default is -qnoxlines.
> 
>   Listing and Message Options
>          -#     Generates information on the progress of the
>                 compilation without actually running the individual
>                 components.
> 
>          -S     Produces one or more .s files, showing equivalent
>                 assembler source for each Fortran source file.
> 
>          -V     Generates information on the progress of the
>                 compilation. As the compiler executes commands to
>                 perform different compilation steps, this option
>                 displays a simulation of the commands it calls and
>                 the system argument lists it passes. This is the
>                 same as -v except that you can cut and paste
>                 directly from the display to create a command.
> 
>          -v     Generates information on the progress of the
>                 compilation. As the compiler executes commands to
>                 perform different compilation steps, this option
>                 displays a simulation of the commands it calls and
>                 the system argument lists it passes.
> 
>          -w     Suppresses informational, language-level, and
>                 warning messages. This option sets -qflag=e:e.
> 
>          -qattr[=full] | -qnoattr
>                 Specifies whether to produce the attribute
>                 component of the attribute and cross-reference
>                 section of the listing.  The listing contains all
>                 identifiers (-qattr=full) or only the names that
>                 are referenced (-qattr).  The default is -qnoattr.
> 
>          -qflag=<listing_severity>:<terminal_severity>
>                 Specifies the minimum severity level of diagnostic
>                 messages to be written to the listing file and to
>                 the user terminal. <listing_severity> determines
>                 the minimum level for the listing file, and
>                 <terminal_severity> determines the minimum level
>                 for the terminal.  The severity levels are:
> 
>                 i = informational messages
>                 l = language-level messages
>                 w = warning messages
>                 e = error messages
>                 s = severe error messages
>                 u = unrecoverable error messages
>                 q = no messages
> 
>                 Note that both <listing_severity> and
>                 <terminal_severity> must be specified.  The default
>                 is -qflag=i:i.
> 
>          -qlist[={offset|nooffset}] | -qnolist
>                 Produces a compiler listing that includes an object
>                 listing. You can use the object listing to help
>                 understand the performance characteristics of the
>                 generated code and to diagnose execution problems.
>                 Specifying -qlist with no suboptions is equivalent
>                 to specifying -qlist=nooffset.  The default is
>                 -qnolist.
> 
>          -qlistopt | -qnolistopt
>                 Determines whether to show the setting of every
>                 compiler option in the listing file or only
>                 selected options. These selected options include
>                 those specified on the command line or directives
>                 plus some that are always put in the listing.  The
>                 default is -qnolistopt.
> 
>          -qnoprint
>                 Prevents the compiler from creating the listing
>                 file, regardless of the settings of other listing
>                 options.
> 
>          -qphsinfo | -qnophsinfo
>                 Determines whether timing information is displayed
>                 on the terminal for each compiler phase.  The
>                 output takes the form <number1>/<number2> for each
>                 phase where <number1> represents the CPU time used
>                 by the compiler and <number2> represents the total
>                 of the compiler time and the time that the CPU
>                 spends handling system calls.  The default is
>                 -qnophsinfo.
> 
>          -qreport[=<suboptions>] | -qnoreport
>                 Determines whether to produce transformation
>                 reports showing how the program is parallelized and
>                 how loops are optimized.  The suboptions are:
> 
>                 hotlist
>                      Produces a report showing how loops are
>                      transformed.
>                 smplist
>                      Produces a report showing how the program is
>                      parallelized.
> 
>                 The default is -qnoreport.
> 
>          -qsource | -qnosource
>                 Determines whether to produce the source section of
>                 the listing.  The default is -qnosource.
> 
>          -qsuppress[={<msg_nums_list>|cmpmsg}] | -qnosuppress
>                 Determines which messages to suppress from the
>                 output stream.  The suboptions are:
> 
>                 <msg_nums_list>
>                      A colon-separated list of 7-digit compiler
>                      message numbers.
>                 cmpmsg
>                      Suppresses the informational messages that
>                      report compilation progress and a successful
>                      completion.
> 
>                 The default is -qnosuppress.
> 
>          -qversion
>                 Displays the version and release of the invoking
>                 compiler. Specify this option on its own with the
>                 compiler command.
> 
>          -qxref[=full] | -qnoxref
>                 Determines whether to produce the cross-reference
>                 component of the attribute and cross-reference
>                 section of the listing.  If you specify only
>                 -qxref, only identifiers that are used are
>                 reported. If you specify -qxref=full, the listing
>                 contains information about all identifiers that
>                 appear in the program, whether they are used or
>                 not.  The default is -qnoxref.
> 
>   Compatibility Options
>          -1     Executes each DO loop in the compiled program at
>                 least once if its DO statement is executed, even if
>                 the iteration count is 0. This option provides
>                 compatibility with Fortran 66. The default is to
>                 follow the behavior of later Fortran standards,
>                 where DO loops are not performed if the iteration
>                 count is 0. This is the short form of the -qonetrip
>                 option.
> 
>          -u     Specifies that no implicit typing of variable names
>                 is permitted. It has the same effect as using the
>                 IMPLICIT NONE statement in each scope that allows
>                 implicit statements. By default, implicit typing is
>                 allowed.
> 
>          -qautodbl=<setting>
>                 Converts single-precision floating-point
>                 calculations to double-precision or converts
>                 double-precision calculations to extended-
>                 precision.  <setting> can be:
> 
>                 none
>                      Does not promote or pad any objects that share
>                      storage.
>                 dbl4
>                      Promotes floating-point objects that are
>                      single precision or are composed of such
>                      objects.
>                 dbl8
>                      Promotes floating-point objects that are
>                      double-precision or are composed of such
>                      objects.
>                 dbl
>                      Combines the promotions done by dbl4 and dbl8.
>                 dblpad4
>                      Performs the same promotions as dbl4, and pads
>                      objects of other types (except CHARACTER) that
>                      can share storage with promoted objects.
>                 dblpad8
>                      Performs the same promotions as dbl8, and also
>                      pads objects of other types (except CHARACTER)
>                      if they can share storage with promoted
>                      objects.
>                 dblpad
>                      Combines the promotions done by dbl4 and dbl8,
>                      and also pads objects of other types (except
>                      CHARACTER) if they can share storage with
>                      promoted objects.
> 
>                 The default is -qautodbl=none.
> 
>          -qcclines | -qnocclines
>                 Enables recognition of conditional compilation
>                 lines in fixed source form and F90 free source
>                 form. IBM free source form is not supported.  The
>                 default is -qcclines if -qsmp=omp is specified.
>                 Otherwise, the default is -qnocclines.
> 
>          -qctyplss[={arg|noarg}] | -qnoctyplss
>                 Specifies whether character constant expressions
>                 are allowed wherever typeless constants may be
>                 used. Specifying -qctyplss=arg allows character
>                 constant expressions, but if a Hollerith constant
>                 is used as an actual argument, it is passed to the
>                 procedure as if it was an integer actual argument.
>                 The default is -qnoctyplss. If -qctypless is
>                 specified with no suboption, the default is
>                 -qctyplss=noarg.
> 
>          -qddim | -qnoddim
>                 Specifies that the bounds of pointee arrays are
>                 re-evaluated each time the arrays are referenced
>                 and removes some restrictions on the bounds
>                 expressions for pointee arrays.  The default is
>                 -qnoddim.
> 
>          -qdpc[=<e>] | -qnodpc
>                 Increases the precision of real constants, for
>                 maximum accuracy, when assigning real constants to
>                 DOUBLE PRECISION variables. -qdpc=<e> also promotes
>                 constants with an <e> exponent.  The default is
>                 -qnodpc.
> 
>          -qescape | -qnoescape
>                 Specifies whether the backslash is treated as an
>                 escape character in character strings, Hollerith
>                 constants, H edit descriptors, and character string
>                 edit descriptors.  The default is -qescape.
> 
>          -qextern=<procedure_names_list>
>                 Allows user-written procedures to be called instead
>                 of XL Fortran intrinsics. <procedure_names_list> is
>                 a colon-separated list of procedure names.  The
>                 procedure names are treated as if they appear in an
>                 EXTERNAL statement in each compilation unit being
>                 compiled.
> 
>          -qextname[=<names_list>] | -qnoextname
>                 Adds an underscore to the names of all global
>                 entities, which helps in porting programs from
>                 systems where this is a convention for mixed-
>                 language programs. <names_list> is a colon-
>                 separated list of global entity names.  The default
>                 is -qnoextname.
> 
>          -qinit=f90ptr
>                 Makes the initial association status of pointers
>                 disassociated instead of undefined. The default
>                 association status of pointers is undefined.
> 
>          -qintlog | -qnointlog
>                 Allows mixture of integer and logical data entities
>                 in expressions and statements. The default is
>                 -qnointlog.
> 
>          -qintsize={2|4|8}
>                 Sets the size (in bytes) of default INTEGER and
>                 LOGICAL data entities (that is, those for which no
>                 length or kind is specified).  The default is
>                 -qintsize=4.
> 
>          -qlog4 | -qnolog4
>                 Specifies whether the result of a logical operation
>                 with logical operands is a LOGICAL(4) or is a
>                 LOGICAL with the maximum length of the operands.
>                 The default is -qnolog4.
> 
>          -qmodule=mangle81
>                 Specifies that the compiler should use the XL
>                 Fortran Version 8.1 naming convention for non-
>                 intrinsic module files. This option allows you to
>                 produce modules and their associated object files
>                 with the Version 10.1 compiler and link these
>                 object files with others compiled with the Version
>                 8.1 compiler, or earlier.
> 
>          -qnullterm | -qnonullterm
>                 Appends a null character to each character constant
>                 expression that is passed as a dummy argument, to
>                 make it more convenient to pass strings to C
>                 functions. The default is -qnonullterm.
> 
>          -qonetrip | -qnoonetrip
>                 The long form of the -1 option. See -1 for details.
>                 The default is -qnoonetrip.
> 
>          -qport=<suboption> | -qnoport
>                 Increases flexibility when porting programs to XL
>                 Fortran, providing a number of options to
>                 accommodate Fortran language extensions.  The
>                 suboptions are:
> 
>                 clogicals | noclogicals
>                      Allows non-zero integers to be treated as true
>                      when used as logicals. The change affects all
>                      logical operators. This suboption only takes
>                      effect if -qintlog is activated.  The default
>                      is noclogicals.
>                 hexint | nohexint
>                      Specifies that typeless constant hexadecimal
>                      strings are converted to integers when passed
>                      as actual arguments to the INT intrinsic
>                      function. Typeless constant hexadecimal
>                      strings which are not passed as actual
>                      arguments to INT remain unaffected.  The
>                      default is nohexint.
>                 mod | nomod
>                      Relaxes existing constraints on the MOD
>                      intrinsic function, allowing two arguments of
>                      the same data type parameter to be of
>                      different kind type parameters. The result
>                      will be of the same type as the argument, but
>                      with the larger kind type parameter value.
>                      The default is nomod.
>                 nullarg | nonullarg
>                      For an external or internal procedure
>                      reference, this causes the compiler to treat
>                      an empty argument (which is delimited by a
>                      left parenthesis and a comma, two commas, or a
>                      comma and a right parenthesis) as a null
>                      argument. This suboption has no effect if the
>                      argument list is empty.  The default is
>                      nonullarg.
>                 sce | nosce
>                      By default, the compiler performs short
>                      circuit evaluation in selected logical
>                      expressions using XL Fortran rules. Specifying
>                      'sce' allows the compiler to use non-XL
>                      Fortran rules. The compiler will perform short
>                      circuit evaluation if the current rules allow
>                      it.  The default is nosce.
>                 typestmt | notypestmt
>                      The TYPE statement, which behaves in a manner
>                      similar to the PRINT statement, is supported
>                      whenever this option is specified. The default
>                      is notypestmt.
>                 typlssarg | notyplssarg
>                      Converts all typeless constants to default
>                      integers if the constants are actual arguments
>                      to an intrinsic procedure whose associated
>                      dummy arguments are of integer type. Dummy
>                      arguments associated with typeless actual
>                      arguments of non-integer type remain
>                      unaffected by this option.  The default is
>                      notyplssarg.
> 
>                 The default is -qnoport.
> 
>          -qposition={appendold|appendunknown}
>                 Positions the file pointer at the end of the file
>                 when data is written after an OPEN statement with
>                 no "POSITION=" specifier, and the corresponding
>                 "STATUS=" value (OLD or UNKNOWN) is specified.  The
>                 default depends on the I/O specifiers in the OPEN
>                 statement and on the compiler invocation command.
>                 The default is -qposition=appendold for the xlf,
>                 xlf_r, xlf_r7, and f77/fort77 commands and the
>                 defined Fortran 90 and Fortran 95 behaviors for the
>                 xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r, xlf95_r7,
>                 f90 and f95 commands.
> 
>          -qqcount | -qnoqcount
>                 Accepts the character-count Q edit descriptor (Q)
>                 as well as the extended-precision Q edit descriptor
>                 (Qw.d). With -qnoqcount, all Q edit descriptors are
>                 interpreted as the extended-precision Q edit
>                 descriptor.  The default is -qnoqcount.
> 
>          -qrealsize=<bytes>
>                 Sets the default size of REAL, DOUBLE PRECISION,
>                 COMPLEX and DOUBLE COMPLEX values. The allowed
>                 values for <bytes> are 4 and 8.  The default is
>                 -qrealsize=4.
> 
>          -qsave[=<suboption>] | -qnosave
>                 Specifies the default storage class for local
>                 variables.  The suboptions are:
> 
>                 all
>                      The default storage class for all local
>                      variables is STATIC. This is the default when
>                      -qsave is specified without a suboption.
>                 defaultinit
>                      The default storage class is STATIC for local
>                      variables of derived type that have default
>                      initialization specified.
> 
>                 Specifying -qnosave sets the default storage class
>                 to AUTOMATIC.  The default is -qsave for xlf,
>                 xlf_r, xlf_r7, f77, or fort77 to duplicate the
>                 behavior of FORTRAN77 commands, and -qnosave
>                 otherwise.
> 
>          -qsclk[=<suboption>]
>                 Specifies the resolution that the SYSTEM_CLOCK
>                 intrinsic procedure uses in a program.  The
>                 suboptions are:
> 
>                 centi
>                      Uses centisecond resolution for the values
>                      returned.
>                 micro
>                      Uses microsecond resolution.
> 
>                 The default is -qsclk=centi.
> 
>          -qswapomp | -qnoswapomp
>                 Specifies that the compiler should recognize and
>                 substitute OpenMP routines in XL Fortran programs.
>                 The default is -qswapomp.
> 
>          -qundef | -qnoundef
>                 The long form of the -u option. See -u for details.
>                 The default is -qnoundef.
> 
>          -qxlf77=<settings_list>
>                 Provides compatibility with Fortran 77 aspects of
>                 language semantics and I/O data format that have
>                 changed. Most of these changes are required by the
>                 Fortran 90 standard. <settings_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 blankpad | noblankpad
>                      For internal, direct-access, and stream-access
>                      files, uses a default setting equivalent to
>                      pad='no'. This setting produces conversion
>                      errors when reading from such a file if the
>                      format requires more characters than the
>                      record has, thus duplicating the XL Fortran
>                      Version 2 behavior.
>                 gedit77 | nogedit77
>                      Uses Fortran 77 semantics for the output of
>                      REAL objects with the G edit descriptor.
>                 intarg | nointarg
>                      Converts all the integer arguments of an
>                      intrinsic procedure to the kind of the longest
>                      argument, if they are of different kinds.
>                 intxor | nointxor
>                      Treats .XOR. as a logical binary intrinsic
>                      operator rather than a defined operator.
>                 leadzero | noleadzero
>                      Produces a leading zero in real output under
>                      the D, E, L, F and Q edit descriptors.
>                 oldboz | nooldboz
>                      Turns blanks into zeros for data read by B, O,
>                      and Z edit descriptors, regardless of the
>                      "BLANK=" specifier or any BN or BZ control
>                      edit descriptors.
>                 persistent | nopersistent
>                      Saves the addresses of arguments to
>                      subprograms with ENTRY statements in static
>                      storage.
>                 softeof | nosofteof
>                      Allows READ and WRITE operations when a unit
>                      is positioned after its endfile record, unless
>                      that position is the result of executing an
>                      ENDFILE statement.
> 
>                 The default suboptions are: blankpad, nogedit77,
>                 nointarg, nointxor, leadzero, nooldboz,
>                 nopersistent, and nosofteof for the f90, xlf90,
>                 xlf90_r, xlf90_r7, f95, xlf95, xlf95_r, and
>                 xlf95_r7 commands, and are the exact opposite for
>                 the xlf, xlf_r, xlf_r7, f77, and fort77 commands.
> 
>          -qxlf90=<settings_list>
>                 Provides backward compatibility with XL Fortran for
>                 AIX Version 5 and the Fortran 90 standard for
>                 certain aspects of the Fortran language.
>                 <settings_list> is a colon-separated list of one or
>                 both of the following suboptions:
> 
>                 signedzero | nosignedzero
>                      Determines how the SIGN(A,B) function handles
>                      signed real 0.0. Prior to XL Fortran Version
>                      6.1, SIGN(A,B) returned |A| when B=-0.0. This
>                      behavior conformed with the Fortran 90
>                      standard. Now, if you specify the
>                      -qxlf90=signedzero compiler option, SIGN(A,B)
>                      returns -|A| when B=-0.0. This behavior
>                      conforms to the Fortran 95 standard and is
>                      consistent with the IEEE standard for binary
>                      floating-point arithmetic.
>                 autodealloc | noautodealloc
>                      Determines whether the compiler deallocates
>                      allocatable objects that are declared locally
>                      without either the SAVE or the STATIC
>                      attribute and have a status of currently
>                      allocated when the subprogram terminates.
> 
>                 The default suboptions are signedzero and
>                 autodealloc for the xlf95, xlf95_r, xlf95_r7 and
>                 f95 invocation commands. For all other invocation
>                 commands, the default suboptions are nosignedzero
>                 and noautodealloc.
> 
>   Linking Options
>          -b64   The AIX operating system provides 64-bit shared
>                 object files in both libc.a and libm.a. In 64-bit
>                 mode, you can use the -b64 linker option to
>                 instruct ld to bind with 64-bit objects.
> 
>          -bdynamic, -bshared, -bstatic
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 This is available on AIX 4.2 and above.
> 
>                 -bdynamic
>                      Specifies that shared objects are linked
>                      dynamically.
>                 -bshared
>                      Equivalent to -bdynamic.
>                 -bstatic
>                      Specifies that shared objects are statically
>                      linked into the output file.
> 
>                 The default is -bdynamic.
> 
>          -bhalt:<error_level>
>                 Specifies the maximum error level that is allowed
>                 before the linker (ld) command halts. If any linker
>                 command has an error return value greater than the
>                 value that is specified by the <error_level>
>                 variable, linking stops.  The default value is 4,
>                 as specified in the configuration file.
> 
>          -bloadmap:<filename>
>                 Requests that a log of linker actions and messages
>                 be saved in file <filename>. You can use the log to
>                 help diagnose linking problems.
> 
>          -bmaxdata=<bytes>
>                 Specifies the maximum amount of space to reserve
>                 for the program data segment for programs where the
>                 size of these regions is a constraint.  The default
>                 is -bmaxdata=0.
> 
>          -bmaxstack:<bytes>
>                 Specifies the maximum amount of space to reserve
>                 for the program stack segment for programs where
>                 the size of these regions is a constraint.
> 
>          -brtl | -bnortl
>                 Determines which algorithm will be used to find
>                 libraries that are specified with the -l option. If
>                 -brtl is specified, run-time linking is enabled.
> 
>          -bshared
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 See "-bdynamic, -bshared, -bstatic" for details.
>                 This is equivalent to -bdynamic.
> 
>          -bstatic
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 See "-bdynamic, -bshared, -bstatic" for details.
> 
>          -L<dir>
>                 Searches in directory <dir> for libraries specified
>                 by -l<key>.
> 
>          -l<key>
>                 Searches the specified library file at link time,
>                 where <key> selects the library lib<key>.a.
> 
>   Compiler Customization Options
>          -B<prefix>
>                 Determines a substitute path name for executable
>                 files used during compilation, such as the compiler
>                 of linker. <prefix> is the name of a directory
>                 where the alternative executable files reside. It
>                 is added to the beginning of the standard program
>                 names and must end in a slash (/). This option can
>                 be used in combination with the -t option, which
>                 determines which of these components are affected
>                 by -B.
> 
>          -F[<config_file>][:<stanza>]
>                 Specifies an alternative configuration file
>                 <config_file>, the command to be used (<stanza>)
>                 within the configuration file, or both. At least
>                 one of the arguments must be supplied.  The default
>                 stanza depends on the name of the command used to
>                 invoke the compiler.
> 
>          -P{v|k}[!]
>                 This option is obsolete and has no effect. Invokes
>                 the selected optimizing preprocessor.
> 
>          -P     Invokes the -Pv preprocessor before the compiler.
> 
>          -Pv    Invokes the -Pv preprocessor before the compiler.
> 
>          -Pk    Invokes the -Pk preprocessor before the compiler.
> 
>          -P!    Invokes the -Pv preprocessor only.
> 
>          -Pv!   Invokes the -Pv preprocessor only.
> 
>          -Pk!   Invokes the -Pk preprocessor only.
> 
>          -t<components_list>
>                 Applies the prefix from the -B option to the
>                 specified program, <components_list>, where
>                 <components_list> is a chain (with no separator
>                 character inbetween each <component>, ie: "-taFp")
>                 containing one or more of the following:
> 
>                 COMPONENT NAME           <component>       PROGRAM
>                 assembler                 a                as
>                 C preprocessor            F                cpp
>                 VAST-2 preprocessor       p                fpp
>                 KAP preprocessor          p                fppk
>                 compiler front end        c                xlfentry
>                 array language optimizer  h                xlfhot
>                 IPA/loop optimizer        I (upper-case i) ipa
>                 code generator            b                xlfcode
>                 binder                    z                bolt
>                 linker                    l (lower-case L) ld
>                 disassembler              d                dis
> 
>          -W<component>,<options_list>
>                 Passes the listed options to a component that is
>                 executed during compilation. <options_list> is a
>                 comma-separated list of one or more options, and
>                 <component> is one of the following:
> 
>                 COMPONENT NAME           <component>       PROGRAM
>                 assembler                 a                as
>                 C preprocessor            F                cpp
>                 VAST-2 preprocessor       p                fpp
>                 KAP preprocessor          p                fppk
>                 compiler front end        c                xlfentry
>                 array language optimizer  h                xlfhot
>                 IPA/loop optimizer        I (upper-case i) ipa
>                 code generator            b                xlfcode
>                 binder                    z                bolt
>                 linker                    l (lower-case L) ld
>                 disassembler              d                dis
> 
>   Integer and Floating-Point Options
>          -y<rounding_mode>
>                 Specifies compile-time rounding of constant
>                 floating-point expressions. It is equivalent to the
>                 -qieee option. <rounding_mode> is one of the
>                 following:
> 
>                 n = Round to nearest
>                 m = Round toward minus infinity
>                 p = Round toward plus infinity
>                 z = Round toward zero
> 
>                 The default is -yn.
> 
>          -qfloat=<suboptions_list>
>                 Determines different strategies for speeding up or
>                 improving the accuracy of floating-point
>                 calculations. <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 fltint | nofltint
>                      Speeds up floating-point-to-integer
>                      conversions by using an inline sequence of
>                      code instead of a call to a library function.
>                 fold | nofold
>                      Evaluates constant floating-point expressions
>                      at compile time.
>                 hsflt | nohsflt
>                      Speeds up calculations by removing range-
>                      checking on single-precision float results,
>                      and on conversions from floating-point to
>                      integer.
>                 hssngl | nohssngl
>                      Speeds up calculations in a safer way than
>                      hsflt, by rounding single-precision
>                      expressions only when the results are stored
>                      into REAL(4) memory locations
>                 maf | nomaf
>                      Generates multiply-add instructions where
>                      appropriate.
>                 nans | nonans
>                      Allows you to use the -qflttrap=invalid:enable
>                      option to detect and deal with exception
>                      conditions that involve signaling NaN (not-a-
>                      number) values.
>                 rndsngl | norndsngl
>                      Rounds the result of each single-precision
>                      (REAL(4)) operation to single-precision,
>                      rather than waiting until the full expression
>                      is evaluated. It sacrifices speed for
>                      consistency with results from similar
>                      calculations on other types of computers.
>                 rrm | norrm
>                      Turns off compiler optimizations that require
>                      the rounding mode to be the default, round-
>                      to-nearest, at run time.
>                 rsqrt | norsqrt
>                      Allows the optimizer to change a division by
>                      the result of a square root operation into a
>                      multiply by the reciprocal of the square root.
>                 strictnmaf | nostrictnmaf
>                      Turns off floating-point transformations that
>                      are used to introduce negative MAF
>                      instructions, as these transformations do not
>                      preserve the sign of a zero value.
>                 The default active suboptions are: nofltint, fold,
>                 nohsflt, nohssngl, maf, nonans, norelax, norndsngl,
>                 norrm, norsqrt, and nostrictnmaf.
> 
>          -qieee=<mode>
>                 Specifies the rounding mode for the compiler to use
>                 when evaluating constant floating-point expressions
>                 at compile time, where <mode> is one of:
> 
>                 near = Round to nearest representable number
>                 minus = Round toward minus infinity
>                 plus = Round toward plus infinity
>                 zero = Round toward zero
> 
>                 The default is -qieee=near.
> 
>          -qstrictieeemod | -qnostrictieeemod
>                 Specifies that the compiler will adhere to the
>                 Fortran 2003 IEEE arithmetic rules for the
>                 ieee_arithmetic and ieee_exceptions intrinsic
>                 modules.  The default is -qstrictieeemod.
> 
>   SEE ALSO
>          xlfndi(1), showpdf(1), cleanpdf(1), mergepdf(1),
>          resetpdf(1)
> 
>          For more information, refer to the following Web sites:
>          www.ibm.com/software/awdtools/fortran/xlfortran/library/
>          www.ibm.com/software/awdtools/fortran/xlfortran/support/
> 
>   COPYRIGHT
>          Licensed Materials - Property of IBM
> 
>          IBM(R) XL Fortran Enterprise Edition V10.1 for AIX(R)
> 
>          5724-M13
> 
>          (C) Copyright IBM Corp. 1991, 2005, and by others. All
>          Rights Reserved.
> 
>          IBM and AIX are trademarks or registered trademarks of IBM
>          Corp. in the U.S., other countries or both.
> 
>          US Government Users Restricted Rights - Use, duplication
>          or disclosure restricted by GSA ADP Schedule Contract with
>          IBM Corp.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> configure:1777: $? = 249
> configure:1784: f95 -v >&5
> exec: export(export,XL_CONFIG=/etc/xlf.cfg:f95,NULL) 
> exec: pg(pg,/usr/lpp/xlf/bin/default_msg/xlf.txt,NULL) 
> 
> 
> 
>   xlf(1)                 IBM (October 2005)                  xlf(1)
> 
> 
> 
>   NAME
>          xlf, xlf90, xlf95, xlf_r, xlf90_r, xlf95_r, f90, f95,
>          xlf_r7, xlf90_r7, xlf95_r7, f77, fort77 - invoke the IBM
>          XL Fortran compiler
> 
>   SYNTAX
>          <invocation-command> [ <option> | <inputfile> ] ...
> 
>   DESCRIPTION
>          xlf and related invocation commands compile Fortran source
>          files.  They also process assembler source files and
>          object files. Unless you specify the -c option, these
>          commands call the link editor to produce a single object
>          file.
> 
>          The main difference between these commands is that they
>          use different default options (which are set in the
>          configuration file /etc/xlf.cfg).  For more information,
>          refer to the XL Fortran Enterprise Edition Compiler
>          Reference.
> 
>          The input file may have any of the following suffixes:
>           .f - Fortran source file
>           .f77 or .F77 - Fortran source file (fixed form) using
>                f77 stanza configuration
>           .f90 or .F90 - Fortran source file (free form) using
>                xlf90 configuration
>           .f95 or .F95 - Fortran source file (free form) using
>                xlf95 configuration
>           .o or .a - object file for ld command
>           .s - assembler source file
>           .F - Fortran source file with cpp preprocessor directives
> 
>   OPTIONS
>          Compiler options are categorized by their functions. In
>          each category, the flag options are listed first, followed
>          by the keyword options.
> 
>   Input Control Options
>          -I<dir>
>                 Adds a directory to the search path for include
>                 files and .mod files. If XL Fortran calls cpp, this
>                 option adds a directory to the search path for
>                 #include files. Before checking the default
>                 directories for include and .mod files, the
>                 compiler checks each directory in the search path.
>                 For include files, this path is only used if the
>                 file name in an INCLUDE line is not provided with
>                 an absolute path. By default, the following
>                 directories are searched in the following order:
> 
>                 1) The current directory (where the compiler is
>                 executed)
>                 2) The directory where the source file is located
> 
>          -k     Specifies that the program is in free source form.
>                 This is the short form of -qfree=f90.
> 
>          -U     Makes the compiler case-sensitive to identifier
>                 names. By default the compiler interprets all names
>                 as if they were lower-case.
> 
>          -qci=<nums_list>
>                 Activates the specified INCLUDE lines. <nums_list>
>                 is a colon-separated list of identification numbers
>                 (from 1 to 255) of conditional includes.
> 
>          -qcr | -qnocr
>                 Allows you to control how the compiler interprets
>                 the CR (carriage return) character.  This allows
>                 you to compile code written using a MAC OS X or
>                 DOS/Windows editor.  The default is -qcr.
> 
>          -qdirective[=<list>] | -qnodirective[=<list>]
>                 Specifies target strings to be recognized in a
>                 comment directive. <list> is a colon-separated list
>                 of directives. If -qdirective is specified without
>                 any directives, it turns on the default trigger
>                 constant IBM* if it has been turned off by a
>                 previous -qnodirective.  The default is
>                 -qnodirective.
> 
>          -qdlines | -qnodlines
>                 This is the long form of the -D option. See -D for
>                 more information.  The default is -qnodlines.
> 
>          -qfixed[=<right_margin>]
>                 Indicates that the input source program is in fixed
>                 source form and optionally specifies the maximum
>                 line length, <right_margin>. The maximum
>                 <right_margin> value is 132.  The default is
>                 -qfixed=72 for xlf, xlf_r, xlf_r7, f77, and fort77
>                 invocation commands, and -qfree=f90 for f90, f95,
>                 xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r, and
>                 xlf95_r7.
> 
>          -qfree[={f90|ibm}]
>                 Indicates that the source code is in free source
>                 form. The 'ibm' and 'f90' suboptions specify
>                 compatibility with the free source form defined for
>                 VS Fortran and Fortran 90, respectively. Note that
>                 the free source form defined for Fortran 90 also
>                 applies to Fortran 95.  The default is -qfree=f90
>                 for f90, f95, xlf90, xlf90_r, xlf90_r7, xlf95,
>                 xlf95_r, and xlf95_r7 invocation commands, and
>                 -qfixed=72 for xlf, xlf_r, xlf_r7, f77, and fort77.
> 
>          -qmbcs | -qnombcs
>                 Indicates to the compiler whether character literal
>                 constants, Hollerith constants, H edit descriptors,
>                 and character string edit descriptors can contain
>                 Multibyte Character Set (MBCS) or Unicode
>                 characters. The default is -qnombcs.
> 
>          -qmixed | -qnomixed
>                 The long form of the -U option. Makes the compiler
>                 case-sensitive to identifier names. The default is
>                 -qnomixed.
> 
>          -qsuffix=<option>=<suffix>
>                 Specifies the source file suffix, <suffix>, on the
>                 command line instead of in the .cfg file, where
>                 <option> can be:
> 
>                 f
>                      Specifies that <suffix> is the new source file
>                      suffix.
>                 o
>                      Specifies that <suffix> is the new object-file
>                      suffix.
>                 s
>                      Specifies that <suffix> is the new assembler
>                      source file suffix.
>                 cpp
>                      Specifies that <suffix> is the new
>                      preprocessor source file suffix.
> 
>   Output Control Options
>          -c     Produces an object file instead of an executable
>                 file.  Prevents the completed object file from
>                 being sent to the ld command for link-editing. With
>                 this option, the output is a .o file for each
>                 source file.
> 
>          -d     Causes preprocessed source files that are produced
>                 by cpp to be kept rather than to be deleted. By
>                 default temporary files produced by cpp are
>                 deleted.
> 
>          -o <name>
>                 Specifies a name for the output object, executable,
>                 or assembler source file.  The default name is
>                 a.out for executable files. The default name for an
>                 object source file is the same as the source file
>                 except that it has a '.o' extension.
> 
>          -q32   Selects 32-bit mode compilation mode. The -q32 and
>                 -qarch options determine the target machines that
>                 the 32-bit executable will run on. The default is
>                 -q32.
> 
>          -q64[=<suboption>]
>                 Selects 64-bit compilation mode. The -q64 option
>                 indicates that the object module will be created in
>                 64-bit object format and that the 64-bit
>                 instruction set will be generated. Note that you
>                 may compile in a 32-bit environment to create 64-
>                 bit objects, but you must link them in a 64-bit
>                 environment with the -q64 option. Use -q32 and -q64
>                 options, along with the -qarch and -qtune compiler
>                 options, to optimize the output of the compiler to
>                 the architecture on which that output will be used.
>                 The suboptions are:
> 
>                 largetype
>                      The object file will use the 64-bit Large Data
>                      Type (LDT) ABI. This object file may only be
>                      used on versions of AIX greater than or equal
>                      to 5.0.
> 
>          -qmoddir=<directory>
>                 Specifies the location for any .mod files that the
>                 compiler writes. By default .mod files are placed
>                 in the current directory.
> 
>          -qpic[=<suboption>] | -qnopic
>                 Generates Position Independent Code (PIC) that can
>                 be used in shared libraries.  The suboptions are:
> 
>                 large
>                      Allows the size of the Table of Contents to be
>                      larger than 64K. This suboption allows for
>                      more addresses to be stored in the Table of
>                      Contents and generates larger code.
>                 small
>                      Assumes that the size of the Table of Contents
>                      can be at most 64K.
> 
>                 The default is -qpic=small.
> 
>   Optimization Options
>          -NS<bytes>
>                 Specifies the size (in bytes) of the register spill
>                 space; the internal program storage areas used by
>                 the optimizer for register spills to storage.  The
>                 default is -NS512.
> 
>          -O[<level>]
>                 Specifies whether to optimize code during
>                 compilation and, if so, at which level. -O<level>
>                 is equivalent to -qoptimize=<level>. <level> can
>                 be:
> 
>                 (not specified)
>                      This is equivalent to -O2.
>                 0
>                      Almost all optimizations are disabled. This is
>                      equivalent to -qnooptimize.
>                 1
>                      Reserved for future use. Ignored by compiler.
>                 2
>                      Performs a set of optimizations that are
>                      intended to offer improved performance without
>                      an unreasonable increase in time or storage
>                      that is required for compilation.
>                 3
>                      Performs additional optimizations that are
>                      memory intensive, compile-time intensive, and
>                      may change the semantics of the program
>                      slightly, unless -qstrict is specified. We
>                      recommend these optimizations when the desire
>                      for run-time speed improvements outweighs the
>                      concern for limiting compile-time resources.
>                      This level of optimization also affects the
>                      setting of the -qfloat option, turning on the
>                      'fltint' and 'rsqrt' suboptions by default,
>                      and setting -qmaxmem=-1.  This option implies
>                      -qhot=level=0.
>                 4
>                      Aggressively optimizes the source program,
>                      trading off additional compile time for
>                      potential improvements in the generated code.
>                      You can specify the option at compile time or
>                      at link time. if you specify it at link time,
>                      it will have no effect unless you also specify
>                      it at compile time for at least the file that
>                      contains the main program. -O4 implies the
>                      following other options:
>                      -qhot
>                      -qipa
>                      -O3
>                      -qarch=auto
>                      -qtune=auto
>                      -qcache=auto
>                 5
>                      Performs all optimizations from -O4, and also
>                      sets -qipa=level=2 to perform full inter-
>                      procedural data flow and alias analysis.
> 
>                 -O4 and -O5 perform whole-program analysis and
>                 should be specified at both compilation and link
>                 time to have maximal effect.  The default is -O0.
> 
>          -p[g]  Sets up the object file for profiling. Specifying
>                 '-pg' will produce more extensive statistics. The
>                 default is no profiling.
> 
>          -Q[<suboption>]
>                 Specifies whether Fortran 90 or Fortran 95
>                 procedures are inlined and/or the names of
>                 particular procedures that should or should not be
>                 inlined. names is a list of procedure names that
>                 are separated by colons. This option can take the
>                 form:
> 
>                 -Q
>                      Attempts to inline all appropriate functions,
>                      subject to limits on the number of inlined
>                      calls and the amount of code size increase as
>                      a result.
>                 -Q!
>                      Turns off inlining.
>                 -Q+<names_list>
>                      Inlines the functions listed in <names_list>
>                      and any other appropriate functions, where
>                      <names_list> is a colon-separated list.
>                 -Q-<names_list>
>                      Does not inline functions listed in
>                      <names_list>, where <names_list> is a colon-
>                      separated list. All other appropriate
>                      functions are inlined.
> 
>          -s     Strips the symbol table, line number information,
>                 and relocation information from the output file.
> 
>          -qalias=<suboptions_list>
>                 Indicates whether a program contains certain
>                 categories of aliasing. The compiler limits the
>                 scope of some optimizations when there is a
>                 possibility that different names are aliases for
>                 the same storage locations. <suboptions_list> is a
>                 colon-separated list of one or more of the
>                 following suboptions:
> 
>                 aryovrlp | noaryovrlp
>                      Indicates whether the compilation units
>                      contain any array assignments between
>                      storage-associated arrays. If not, specify
>                      noaryovrlp to improve performance.
>                 intptr | nointptr
>                      Indicates whether the compilation units
>                      contain any integer POINTER statements. If so,
>                      specify intptr.
>                 pteovrlp | nopteovrlp
>                      Indicates whether any pointee variables may be
>                      used to refer to any data objects that are not
>                      pointee variables, or whether two pointee
>                      variables may be used to refer to the same
>                      storage location. If not, specify nopteovrlp.
>                 std | nostd
>                      Indicates whether the compilation units
>                      contain any non-standard aliasing (see
>                      Compiler Reference for more information). If
>                      so, specify nostd.  (-qalias=nostd replaces
>                      the obsolete -qxflag=xalias option.)
> 
>                 For the xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r,
>                 xlf95_r7, f90 and f95 commands, the default
>                 suboptions are: aryovrlp, nointptr, pteovrlp, and
>                 std. For the xlf, xlf_r, xlf_r7, f77, and fort77
>                 commands, the default suboptions are: aryovrlp,
>                 intptr, pteovrlp, and std.
> 
>          -qalign=<suboptions_list>
>                 Specifies the alignment of data objects in storage
>                 to avoid performance problems with misaligned data.
>                 <suboptions_list> is a colon-separated list of one
>                 or more of the following suboptions:
> 
>                 4k | no4k
>                      Specifies whether large arrays and structures
>                      (at least 4096 bytes in size) will be aligned
>                      on a 4K (4096-byte, or page) boundary.  Use of
>                      this option may help to improve the
>                      performance of programs using data striping.
>                 bindc=<suboption>
>                      Specifies that the alignment and padding for
>                      an XL Fortran derived type with the BIND(C)
>                      attribute are compatible with a C struct type
>                      that is compiled with the corresponding XL C
>                      alignment option. The compatible alignment
>                      options are:
>                      -qalign=bindc=bit_packed
>                      -qalign=bindc={full|power}
>                      -qalign=bindc=packed
>                      -qalign=bindc={twobyte|mac68k}
>                      -qalign=bindc=natural
>                      Each of these "-qalign=bindc=" sub-suboptions
>                      is equivalent to the XL C "-qalign=" suboption
>                      of the same name.  (ie: For
>                      -qalign=bindc=bit_packed, the corresponding XL
>                      C option is -qalign=bit_packed)
>                 struct=<option>
>                      Specifies how objects or arrays of a derived
>                      type (declared using a record structure) are
>                      stored, and whether or not padding is used
>                      between components. The options are:
>                      natural
>                           Objects of a derived type are stored with
>                           sufficient padding such that components
>                           will be stored on their natural alignment
>                           boundaries, unless storage association
>                           requires otherwise.
>                      packed
>                           Objects of a derived type are stored with
>                           no padding between components, other than
>                           any padding represented by %FILL
>                           components.
>                      port
>                           Storage padding is the same as described
>                           above for the struct=natural suboption,
>                           except that the alignment of components
>                           of type complex is the same as the
>                           alignment of components of type real of
>                           the same kind. The padding for an object
>                           that is immediately followed by a union
>                           is inserted at the beginning of the first
>                           map component for each map in that union.
> 
>                 The default activated suboptions are: no4k,
>                 struct=natural, and bindc=power.
> 
>          -qarch=<suboption>
>                 Specifies which instructions the compiler can
>                 generate.  The suboptions are:
> 
>                 auto
>                      Automatically detects the specific
>                      architecture of the compiling machine. It
>                      assumes that the execution environment will be
>                      the same as the compilation environment.
>                 com
>                      You can run the executable file that the
>                      compiler generated on any hardware platform
>                      supported by the compiler, because the file
>                      contains only instructions that are common to
>                      all machines.
>                 p2sc
>                      The executable file can be executed on any
>                      POWER2 Super Chip hardware platform.
>                 ppc
>                      Produces an object that contains instructions
>                      that run on any of the 32-bit PowerPC hardware
>                      platforms. Using -q64 with ppc upgrades the
>                      architecture to ppc64grsq.
>                 ppcgr
>                      In 32-bit mode, produces object code
>                      containing optional graphics instructions for
>                      PowerPC hardware platforms.  In 64-bit mode,
>                      produces object code containing optional
>                      graphics instructions that will run on 64-bit
>                      PowerPC platforms, but not on 32-bit-only
>                      platforms.  Using -q64 with ppcgr upgrades the
>                      architecture to ppc64grsq.
>                 ppc64
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform. When compiled
>                      in 32-bit mode, the resulting object code may
>                      include instructions that are not recognized
>                      or behave differently when run on 32-bit
>                      PowerPC platforms.
>                 ppc64gr
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform that supports
>                      the optional graphics instructions.
>                 ppc64grsq
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform that supports
>                      the optional graphics and square root
>                      instructions.
>                 pwr
>                      Produces an object that contains instructions
>                      that run on any of the POWER or POWER2
>                      hardware platforms.
>                 pwr2s
>                      The executable file can be executed on any
>                      desktop implementation of the POWER2 chip.
>                 pwr2
>                      Produces an object that contains instructions
>                      that run on the POWER2 hardware platforms.
>                 pwrx
>                      Equivalent to pwr2.
>                 pwr3
>                      Produces an object that contains instructions
>                      that run on the POWER3, POWER4, POWER5,
>                      POWER5+ or PowerPC 970 hardware platforms.
>                 pwr4
>                      Produces an object that contains instructions
>                      that run on the POWER4, POWER5, POWER5+ or
>                      PowerPC 970 hardware platforms.
>                 pwr5
>                      Produces an object that contains instructions
>                      that run on the POWER5 or POWER5+ hardware
>                      platforms.
>                 pwr5x
>                      Produces an object that contains instructions
>                      that run on any POWER5+ hardware platform.
>                 rs64a
>                      Produces an object that contains instructions
>                      that run on an RS64I hardware platform.
>                 rs64b
>                      Produces an object that contains instructions
>                      that run on an RS64II hardware platform.
>                 rs64c
>                      Produces an object that contains instructions
>                      that run on an RS64III hardware platform.
>                 601
>                      Produces an object that contains instructions
>                      that run on PowerPC 601 systems.
>                 603
>                      Produces an object that contains instructions
>                      that run on PowerPC 603 systems.
>                 604
>                      Produces an object that contains instructions
>                      that run on PowerPC 604 systems.
>                 ppc970
>                      Generates instructions specific to PowerPC 970
>                      processors.
>                 ppc64v
>                      Generates instructions for any 64-bit PowerPC
>                      processor (like PowerPC 970) with VMX.
> 
>                 The default is -qarch=com.
> 
>          -qassert=<suboptions_list>
>                 Provides information about the program to help
>                 fine-tune optimizations. <suboptions_list> is a
>                 colon-separated list of one or both of the
>                 following suboptions:
> 
>                 deps | nodeps
>                      Loops can contain loop-carried dependencies.
>                 itercnt=<n>
>                      The iteration count of a typical loop is <n>.
> 
>                 The default is -qassert=deps:itercnt=1024.
> 
>          -qcache=<suboptions_list>
>                 Specifies the cache configuration for a specific
>                 execution machine. <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 assoc=<n>
>                      Specifies the set-associativity of the cache:
>                      0   = Directly-mapped
>                      1   = Fully associative
>                      (n > 1) = <n>-way set-associative
>                 auto
>                      Automatically detects the specific cache
>                      configuration of the compiling machine. It
>                      assumes that the execution environment will be
>                      the same as the compilation environment.
>                 cost=<cycles>
>                      Specifies the performance penalty resulting
>                      from a cache miss.
>                 level=<level>
>                      Specifies which level of cache is affected:
>                      1 = Basic cache
>                      2 = Level-2 cache, or the table lookaside
>                      buffer (TLB) if the machine has no level-2
>                      cache
>                      3 = TLB, in a machine that does have a level-2
>                      cache
>                 line=<bytes>
>                      Specifies the line size of the cache.
>                 size=<Kbytes>
>                      Specifies the total size of the cache.
>                 type=<type>
>                      Specifies the type of cache that the settings
>                      apply to:
>                      C or c = Combined data and instruction cache
>                      D or d = Data cache
>                      I or i = Instruction cache
> 
>                 The default is determined by the -qtune and -qarch
>                 settings.
> 
>          -qcompact | -qnocompact
>                 Reduces optimizations that increase code size.  The
>                 default is -qnocompact.
> 
>          -qdirectstorage | -qnodirectstorage
>                 Specifies that a compilation unit might reference
>                 write-through-enabled or cache-inhibited storage.
>                 The default is -qnodirectstorage.
> 
>          -qenablevmx | -qnoenablevmx
>                 Enables generation of Vector Multimedia Extension
>                 (VMX) instructions.  The default is -qnoenablevmx.
> 
>          -qessl | -qnoessl
>                 Allows the use of the Engineering and Scientific
>                 Subroutine Library (ESSL) routines in place of
>                 Fortran 90 intrinsic procedures.  The default is
>                 -qnoessl.
> 
>          -qfdpr | -qnofdpr
>                 Provides object files with information that the AIX
>                 Feedback Directed Program Restructuring (fdpr)
>                 performance-tuning utility needs to optimize the
>                 resulting executable file.  The default is
>                 -qnofdpr.
> 
>          -qhot[=<suboptions>] | -qnohot
>                 Performs high-order loop analysis and
>                 transformations during optimization. This option is
>                 a powerful alternative to hand-tuning that provides
>                 opportunities to optimize loops and array language.
>                 The suboptions are:
> 
>                 arraypad[=<n>]
>                      When <n> is specified, the compiler will pad
>                      every array in the code. The pad amount must
>                      be a positive integer value. When <n> is not
>                      specified, the compiler will pad any arrays
>                      where it infers that there may be a benefit.
>                 level={0|1}
>                      Specifies the level of high-order
>                      transformation to perform during compilation.
>                      At level=1, full high-order transformation is
>                      performed, but at level=0 only a subset of the
>                      high-order transformations are performed,
>                      which reduces compile time. See the XL Fortran
>                      Compiler Reference for more information.
>                 simd | nosimd
>                      Converts certain operations in a loop that
>                      apply to successive elements of an array into
>                      a VMX (Vector Multimedia Extension)
>                      instruction.  If you specify -qhot=nosimd, the
>                      compiler performs optimizations on loops and
>                      arrays, but avoids replacing certain code with
>                      VMX instructions.
>                 vector | novector
>                      Specifies whether to allow the compiler to
>                      optimize by replacing code with calls to
>                      vector library routines.  Only takes effect
>                      when specified with -qnostrict or -O3 or
>                      higher optimization level.
> 
>                 The default is -qnohot. If -qhot is specified
>                 without parameters, the default is -qhot=vector.
> 
>          -qipa[=<suboptions_list>] | -qnoipa
>                 Enhances -O optimization by performing detailed
>                 analysis across procedures. Optimization level -O2
>                 or higher is required when using -qipa.
>                 <suboptions_list> is a colon-separated list of
>                 suboptions. Regular expressions are supported when
>                 specifying <procedure_names_list> in the following
>                 -qipa suboptions: exits, inline, noinline, lowfreq,
>                 pure, safe, and unknown. <procedure_names_list> is
>                 a comma-separated list. The suboptions are:
> 
>                 exits=<procedure_names_list>
>                      Specifies a selected set of procedures which
>                      always end the program.
>                 clonearch=<architecture_list> | noclonearch
>                      Allows you to specify multiple architectures
>                      in the event that you want to compile your
>                      application for multiple architectures with a
>                      single binary file. <architecture_list> is a
>                      comma-separated list of one or more of the
>                      following architectures: pwr4, pwr5, ppc970,
>                      and pwr5x. This must be specified during link
>                      time.  The default is noclonearch.
>                 cloneproc=<names_list> | nocloneproc=<names_list>
>                      Allows you to explicitly declare which
>                      procedures the compiler should attempt to
>                      clone. <names_list> is a comma-separated list
>                      of the mangled names of the functions that you
>                      wish to clone (or not clone). Please note that
>                      this suboption has no effect unless
>                      -qipa=clonearch=<arch> is specified. You can
>                      use regular expression syntax when specifying
>                      function names.  The default is nocloneproc.
>                 inline=<options_list>
>                      Specifies a colon-separated list of inline
>                      options, which are as follows:
>                      auto | noauto
>                           Specifies whether to automatically
>                           perform inline expansion.  The default is
>                           auto.
>                      limit=<n>
>                           Changes the size limits that the
>                           inline=auto option uses to determine how
>                           much inline expansion to do. <n> is the
>                           optimizers approximation of the number of
>                           bytes of code that will be generated.
>                      <procedure_names_list>
>                           Specifies the procedures to attempt to
>                           inline.
>                      threshold=<num>
>                           Specifies the upper size limit on
>                           procedures to inline. This argument is
>                           implemented only when inline=auto is on.
>                 noinline=<procedure_names_list>
>                      Specifies the procedures which are not to be
>                      inlined.
>                 isolated=<procedure_names_list>
>                      Specifies the procedures that are not compiled
>                      with -qipa and do not directly refer to any
>                      global variable.
>                 level=<level>
>                      Determines the amount of IPA analysis and
>                      optimization to perform:
>                      0
>                           Performs minimal inter-procedural
>                           analysis and optimization.
>                      1
>                           Turns on inlining, limited alias
>                           analysis, and limited call-site
>                           tailoring.
>                      2
>                           Full inter-procedural data flow and alias
>                           analysis.
>                      The default level is 1.
>                 list[={<filename>|short|long}]
>                      Specifies an output listing file name during
>                      the link phase, in the event that an object
>                      listing has been requested using the -qlist or
>                      -qipa=list option. The default name is
>                      "a.lst". Specifying 'long' or 'short'
>                      determines which listing sections will be
>                      included. The default is short.
>                 lowfreq=<procedure_names_list>
>                      Specifies the procedures that are likely to be
>                      called infrequently during the course of a
>                      typical program run.
>                 malloc16 | nomalloc16
>                      Instructs the compiler to assume that the
>                      dynamic memory allocation routines (such as
>                      malloc/calloc/realloc/new) will return 16-byte
>                      aligned memory addresses. The compiler will
>                      optimize based on this assumption. Note that
>                      if the assertion is false, incorrect results
>                      may be generated.  The default is 'malloc16'
>                      in 64-bit mode, and 'nomalloc16' otherwise.
>                 missing={unknown|safe|isolated|pure}
>                      Specifies the interprocedural behavior for
>                      procedures not compiled with -qipa.  The
>                      default is 'unknown'.
>                 object | noobject
>                      Includes standard object code in the object
>                      files. If the noobject option is specified, it
>                      can substantially reduce overall compilation
>                      time by not generating object code during the
>                      first IPA phase. The default is object. Note,
>                      this is a compile-time suboption.
>                 partition={small|medium|large}
>                      Specifies the size of the regions within the
>                      program to analyze. Larger partitions contain
>                      more procedures, which result in better
>                      interprocedural analysis but require more
>                      storage to optimize.  The default is medium.
>                 pdfname=<filename>
>                      Specifies the name of the profile data file
>                      that contains the PDF profiling information.
>                      The default filename is __pdf.
>                 pure=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure that you
>                      specified as "pure" must be "isolated" and
>                      "safe". It must not alter the internal state
>                      nor have side-effects, which are defined as
>                      potentially altering any data object visible
>                      to the caller.
>                 safe=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure that you
>                      specified as "safe" may modify global
>                      variables and dummy arguments.
>                 stdexits | nostdexits
>                      Specifies that certain predefined routines can
>                      be optimized as with the exits suboption. The
>                      procedures are abort, exit, _exit, and
>                      _assert.  The default is nostdexits.
>                 threads[=<n>] | nothreads
>                      Specifies the number of threads for the
>                      compiler to use. When <n> is not specified,
>                      the compiler decides the number of threads.
>                      Otherwise, up to <n> threads are used to
>                      invoke the compiler backend. Specifying
>                      'nothreads' is equivalent to running one
>                      serial process.
>                 unknown=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure specified
>                      as "unknown" may make calls to other parts of
>                      the program compiled with -qipa and modify
>                      global variables and dummy arguments.
> 
>                 Options intended for use by the link-time phase of
>                 -qipa are -qlibansi, -qlibessl, -qlibposix and
>                 -qthreaded.  The default is -qnoipa.
> 
>          -qkeepparm | -qnokeepparm
>                 Ensures that the incoming parameters are stored on
>                 the stack even when optimizing. This may negatively
>                 impact execution performance. This option then
>                 provides access to the values of incoming
>                 parameters to tools, such as debuggers, simply by
>                 preserving those values on the stack.  The default
>                 is -qnokeepparm.
> 
>          -qlargepage | -qnolargepage
>                 Indicates that a program, designed to execute in a
>                 large page memory environment, can take advantage
>                 of large 16 MB pages provided on POWER4 and higher
>                 based systems.  The default is -qnolargepage.
> 
>          -qlibansi | -qnolibansi
>                 Assumes that all functions with the name of an ANSI
>                 C defined library function are in fact the library
>                 functions.  The default is -qnolibansi.
> 
>          -qlibessl | -qnolibessl
>                 Assumes that all functions with the name of an ESSL
>                 defined library function are, in fact, the library
>                 functions.  The default is -qnolibessl.
> 
>          -qlibposix | -qnolibposix
>                 Assumes that all functions with the name of a POSIX
>                 1003.1 defined library function are, in fact, the
>                 system functions.  The default is -qnolibposix.
> 
>          -qmaxmem=<kbytes>
>                 Limits the amount of memory that the compiler
>                 allocates while performing specific, memory-
>                 intensive optimizations. If <kbytes> is -1, the
>                 compiler will take as much memory as it needs
>                 without checking for limits. The default is
>                 -qmaxmem=2048 when using optimization level -O2,
>                 and -qmaxmem=-1 when using -O3 or greater.
> 
>          -qoptimize[=<level>] | -qnooptimize
>                 The long form of the -O option. -qoptimize=<level>
>                 is equivalent to -O<level>. See the -O option.  The
>                 default is -qnooptimize.
> 
>          -qpdf1 Produces an object that is instrumented to collect
>                 run-time execution information. This is phase 1 of
>                 the profile-directed feedback optimization process.
> 
>          -qpdf2 Tunes application performance using the data
>                 generated by running a program compiled with
>                 -qpdf1. This is phase 2 of the profile-directed
>                 feedback optimization process.
> 
>          -qprefetch | -qnoprefetch
>                 Automatically inserts prefetch instructions where
>                 the optimizer perceives a benefit.  The default is
>                 -qprefetch.
> 
>          -qrecur | -qnorecur
>                 Not recommended. Allows external subprograms to be
>                 called recursively. For new programs, use the
>                 RECURSIVE keyword, which provides a standard-
>                 conforming way of using recursive procedures.  The
>                 default is -qnorecur.
> 
>          -qshowpdf | -qnoshowpdf
>                 Adds additional call and block count profiling
>                 information to an executable. This option is used
>                 together with the -qpdf1 option.  The default is
>                 -qnoshowpdf.
> 
>          -qsmallstack[=<suboption>] | -qnosmallstack
>                 Specifies that the compiler will minimize stack
>                 usage where possible. This option can take the
>                 form:
> 
>                 -qsmallstack
>                      Enables only general small stack
>                      transformations.
>                 -qsmallstack=dynlenonheap
>                      Asserts that automatic variables which are
>                      dynamically-sized are allocated from the heap
>                      and enables general small stack
>                      transformations.
>                 -qsmallstack=nodynlenonheap
>                      Disables dynamic-length variable allocation.
>                 -qnosmallstack
>                      Disables only the general small stack
>                      transformations.
> 
>                 The default is -qnosmallstack.
> 
>          -qsmp[=<suboptions_list>] | -qnosmp
>                 Specifies that code should be produced for an SMP
>                 system.  <suboptions_list> is a colon-separated
>                 list of one or more of the following suboptions:
> 
>                 auto | noauto
>                      Enables automatic parallelization.
>                 nested_par | nonested_par
>                      Specifies that prescriptive nested parallel
>                      constructs should be parallelized by the
>                      compiler.
>                 omp | noomp
>                      Enforces compliance with the OpenMP Fortran
>                      API.
>                 opt | noopt
>                      Controls optimization for parallelization.
>                      -qsmp=noopt specifies that the compiler should
>                      do the least amount of optimization that is
>                      required to parallelize the code and preserve
>                      maximum debugability.
>                 rec_locks | norec_locks
>                      Allows recursive locks to be used to avoid
>                      problems associated with CRITICAL constructs.
>                      If -qsmp=norec_locks is specified, recursive
>                      locks will not be used to implement critical
>                      sections.
>                 schedule=<suboptions>
>                      The schedule suboption can take any of the
>                      following sub-suboptions:
>                      affinity[=<n>]
>                      dynamic[=<n>]
>                      guided[=<n>]
>                      runtime
>                      static[=<n>]
>                      For their descriptions, refer to the XL
>                      Fortran Compiler Reference.
>                 threshold=<n>
>                      Controls the amount of automatic loop
>                      parallelization that occurs. The value of <n>
>                      represents the lower limit allowed for
>                      parallelization of a loop, based on the level
>                      of "work" present in a loop.
> 
>                 The default is -qnosmp.  If you specify -qsmp
>                 without suboptions, the default suboptions are:
>                 auto, opt, noomp, norec_locks, nonested_par,
>                 schedule=runtime, and threshold=100.
> 
>          -qspillsize=<bytes>
>                 The long form of -NS. See the -NS option.  The
>                 default is -qspillsize=512.
> 
>          -qstacktemp=<num>
>                 Determines where to allocate applicable compiler
>                 temporaries at run time. The allocation depends on
>                 the value of <num>. The values are:
> 
>                 0
>                      Indicates that the compiler will decide
>                      whether to allocate the applicable compiler
>                      temporaries on the heap or the stack.
>                 -1
>                      Indicates that applicable compiler temporaries
>                      are to be always allocated on the stack. This
>                      is the best-performing setting but uses the
>                      most amount of stack storage.
>                 (1 or greater)
>                      Indicates that applicable compiler temporaries
>                      less than this value (bytes) should be
>                      allocated on the stack and those greater than
>                      or equal to this value should be allocated on
>                      the heap.
> 
>                 The default is -qstacktemp=0.
> 
>          -qstrict | -qnostrict
>                 Ensures that optimizations done by the -O3 and
>                 greater (and optionally -O2) options do not alter
>                 the semantics of a program. This option is ignored
>                 for -qnoopt.  For -O3 and greater, the default is
>                 -qnostrict. Otherwise the default is -qstrict.
> 
>          -qstrict_induction | -qnostrict_induction
>                 Prevents the compiler from performing induction
>                 (loop counter) variable optimizations that could
>                 alter the semantics of a program.  The default is
>                 -qnostrict_induction.
> 
>          -qthreaded
>                 Asserts that the compiler will generate thread-safe
>                 code when generating its own code or allocating
>                 compiler-created temporary data. User-written code
>                 that is algorithmically not thread-safe is
>                 unaffected by this option and will remain non-
>                 thread-safe. The default is -qthreaded when using
>                 xlf_r, xlf_r7, xlf90_r, xlf90_r7, xlf95_r, or
>                 xlf95_r7 invocation commands.
> 
>          -qtune=<suboption>
>                 Tunes instruction selection, scheduling, and other
>                 implementation-dependent performance enhancements
>                 for a specific implementation of a hardware
>                 architecture.  -qtune will not alter the ability of
>                 a program to run on a processor but will produce
>                 optimal code sequences tuned to a particular
>                 processor.  The suboptions are:
> 
>                 auto
>                      Automatically detects the specific processor
>                      type of the compiling machine and produces an
>                      object optimized for that processor.
>                 601
>                      Produces an object optimized for all the
>                      PowerPC 601 processors.
>                 603
>                      Produces an object optimized for all the
>                      PowerPC 603 processors.
>                 604
>                      Produces an object optimized for all the
>                      PowerPC 604 processors.
>                 pwr
>                      Produces an object optimized for the POWER
>                      hardware platforms.
>                 p2sc
>                      The optimizations are tuned for the POWER2
>                      Super Chip.
>                 pwr2
>                      Produces an object optimized for the POWER2
>                      hardware platforms.
>                 pwrx
>                      This is equivalent to pwr2.
>                 pwr2s
>                      The optimizations are tuned for the desktop
>                      implementation of the POWER2 architecture,
>                      which has a narrower processor-to-memory bus
>                      than other POWER2 implementations.
>                 pwr3
>                      Produces an object optimized for the POWER3
>                      hardware platforms.
>                 pwr4
>                      Produces an object optimized for the POWER4
>                      hardware platforms.
>                 pwr5
>                      Produces an object optimized for the POWER5
>                      hardware platforms.
>                 rs64a
>                      Produces an object optimized for the RS64I
>                      processor.
>                 rs64b
>                      Produces an object optimized for the RS64II
>                      processor.
>                 rs64c
>                      Produces an object optimized for the RS64III
>                      processor.
>                 ppc970
>                      Produces an object optimized for PowerPC 970
>                      processors.
> 
>                 The compiler uses -qtune setting that is compatible
>                 with the target architecture, which is controlled
>                 by the -qarch, -q32, and -q64 options.  The default
>                 setting is determined by the setting of -qarch.
> 
>          -qunroll[={auto|yes}] | -qnounroll
>                 Specifies whether unrolling DO loops is allowed in
>                 a program. Unrolling is allowed on outer and inner
>                 DO loops.  The suboptions are:
> 
>                 auto
>                      The compiler performs basic loop unrolling.
>                 yes
>                      The compiler looks for more opportunities to
>                      perform loop unrolling than is done with the
>                      -qunroll=auto option. Specifying -qunroll with
>                      no suboptions is equivalent to -qunroll=yes.
> 
>                 The default is -qunroll=auto.
> 
>          -qunwind | -qnounwind
>                 Specifies that the compiler will preserve the
>                 default behavior for saves and restores to volatile
>                 registers during a procedure call.  If you specify
>                 -qnounwind, the compiler rearranges subprograms to
>                 minimize saves and restores to volatile registers.
>                 This rearrangement may make it impossible for the
>                 program or debuggers to walk through or "unwind"
>                 subprogram stack frame chains.  The default is
>                 -qunwind.
> 
>          -qvecnvol | -qnovecnvol
>                 Asserts that the compiled application will use both
>                 volatile and non-volatile vector registers. You
>                 should use this option only after understanding
>                 interoperability with old binaries. If you are
>                 compiling C/C++ code in Fortran which calls any of
>                 the following subroutines: setjmp(),longjmp(),
>                 sigsetjmp(), siglongjmp(), _setjmp(), _longjmp(),
>                 getcontext(), setcontext(), makecontext(), and
>                 swapcontext(), then you should set -qnovecnvol.
>                 bos.adt.include version 5.3.0.30 or greater should
>                 be installed to use -qvecnvol on the host system.
>                 The default is -qnovecnvol.
> 
>          -qzerosize | -qnozerosize
>                 Improves performance of Fortran 77 and some Fortran
>                 90 and Fortran 95 programs by preventing checking
>                 for zero-sized character strings and arrays.
>                 For the xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r,
>                 xlf95_r7, f90, and f95 commands, the default is
>                 -qzerosize.  For the xlf, xlf_r, xlf_r7, f77, and
>                 fort77 commands, the default is -qnozerosize.
> 
>   Error Checking and Debugging Options
>          -C     Checks each reference to an array element, array
>                 section, or character substring for correctness.
>                 This is the short form of -qcheck.
> 
>          -D     Specifies whether the compiler compiles fixed
>                 source form lines with a D in column 1 or treats
>                 them as comments. Please note that in order to pass
>                 C-style -D macro definitions to the C preprocessor
>                 (e.g. compiling a file that ends with .F) use the
>                 -W option. For example:
>                 -WF,-DDEFINE_THIS
>                 -D is the short form of -qdlines.
> 
>          -g     Generates debug information for use by a symbolic
>                 debugger.
> 
>          -qcheck | -qnocheck
>                 The long form of the -C option. See -C for details.
>                 The default is -qnocheck.
> 
>          -qdbg | -qnodbg
>                 The long form of the -g option. See -g for details.
>                 The default is -qnodbg.
> 
>          -qdpcl | -qnodpcl
>                 Generates symbols that tools based on the Dynamic
>                 Probe Class Library (DPCL) API can use to see the
>                 structure of an executable file. You must also
>                 specify the -g option when you specify -qdpcl.
>                 This option has no effect when optimization (-O) is
>                 enabled. The default is -qnodpcl.
> 
>          -qextchk | -qnoextchk
>                 Sets up type-checking information for common
>                 blocks, procedure definitions, procedure
>                 references, and module data. Later, the linker can
>                 detect mismatches across compilation units using
>                 this information.  The default is -qnoextchk.
> 
>          -qflttrap[=<suboptions_list>] | -qnoflttrap
>                 Determines what types of floating-point exception
>                 conditions to detect at run time. The program
>                 receives a SIGTRAP signal when the corresponding
>                 exception occurs.  <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 enable
>                      Turn on checking for the specified exceptions
>                      in the main program so that the exceptions
>                      generate SIGTRAP signals.
>                 imprecise
>                      Only check for the specified exceptions on
>                      subprogram entry and exit.
>                 inexact
>                      Detect and trap on floating-point inexact, if
>                      exception checking is enabled.
>                 invalid
>                      Detect and trap on floating-point invalid
>                      operations.
>                 nanq
>                      Detect and trap all quiet not-a-number (NaNQ)
>                      values and signaling not-a-number (NaNS)
>                      values.
>                 overflow
>                      Detect and trap on floating-point overflow.
>                 underflow
>                      Detect and trap on floating-point underflow.
>                 zerodivide
>                      Detect and trap on floating-point division by
>                      zero.
> 
>                 The default is -qnoflttrap. When -qflttrap is
>                 specified with no suboptions, the default activated
>                 suboptions are: overflow, underflow, zerodivide,
>                 invalid, and inexact.
> 
>          -qfullpath | -qnofullpath
>                 Records the full (or absolute) path names of source
>                 and include files in object files compiled with
>                 debugging information (-g option).  The default is
>                 -qnofullpath.
> 
>          -qhalt=<sev>
>                 Stops before producing any object, executable, or
>                 assembler source files if the maximum severity of
>                 compile-time messages equals or exceeds the
>                 specified severity <sev>, where the severity levels
>                 are:
> 
>                 i = informational messages
>                 l = language-level messages
>                 w = warning messages
>                 e = error messages
>                 s = severe error messages
>                 u = unrecoverable error messages
>                 q = no messages
> 
>                 The default is -qhalt=s.
> 
>          -qinitauto[=<hex_value>] | -qnoinitauto
>                 Initializes each byte or word (4 bytes) of storage
>                 for automatic variables to a specific value,
>                 depending on the length specified in <hex_value>.
>                 This helps you to locate variables that are
>                 referenced before they are defined. <hex_value> is
>                 a 1 to 8 digit hexadecimal number.  The default is
>                 -qnoinitauto. If you specify -qinitauto without a
>                 <hex_value>, the compiler initializes the value of
>                 each byte of automatic storage to zero. This option
>                 should be used for debugging purposes only.
> 
>          -qlanglvl=<suboption>
>                 Determines which language standard (or
>                 subset/superset of a standard) to check against for
>                 nonconformance. This option will only produce
>                 messages; all code valid in extended mode will
>                 compile regardless of which suboption is specified.
>                 The suboptions are:
> 
>                 77std
>                      Accepts the language specified by the ANSI
>                      Fortran 77 standard.
>                 90std
>                      Accepts the language specified by the ISO
>                      Fortran 90 standard.
>                 90pure
>                      Same as 90std, except that it reports errors
>                      for any obsolescent Fortran 90 features used.
>                 90ext
>                      Obsolete suboption that is equivalent to
>                      extended.
>                 95std
>                      Accepts the language specified by the ISO
>                      Fortran 95 standard.
>                 95pure
>                      Same as 95std, except that it also reports
>                      errors for any obsolescent Fortran 95 features
>                      used.
>                 2003std
>                      Accepts the language that the ISO Fortran 95
>                      standard specifies, as well as all Fortran
>                      2003 features supported by XL Fortran, and
>                      reports anything else as an error.
>                 2003pure
>                      The same as 2003std except that it also
>                      reports errors for any obsolescent Fortran
>                      2003 features used.
>                 extended
>                      Accepts the full Fortran 95 language standard,
>                      all Fortran 2003 features supported by XL
>                      Fortran, and all extensions, effectively
>                      turning off language-level checking.
> 
>                 The default is -qlanglvl=extended.
> 
>          -qlinedebug | -qnolinedebug
>                 Generates line number and source file name
>                 information for the debugger. This option produces
>                 minimal debugging information, so the resulting
>                 object size is smaller than what is produced if the
>                 -g debugging option is specified. The default is
>                 -qnolinedebug.
> 
>          -qobject | -qnoobject
>                 Specifies whether to produce an object file or to
>                 stop immediately after checking the syntax of the
>                 source files.  The default is -qobject.
> 
>          -qsaa | -qnosaa
>                 Checks for conformance to the SAA Fortran language
>                 definition. It identifies nonconforming source code
>                 and also options that allow such nonconformances.
>                 The default is -qnosaa.
> 
>          -qsaveopt | -qnosaveopt
>                 Saves the command-line options used for compiling a
>                 source file, and other information, in the
>                 corresponding object file. The compilation must
>                 produce an object file for this option to take
>                 effect.  The default is -qnosaveopt.
> 
>          -qsigtrap[=<trap_handler>]
>                 When you are compiling a file that contains a main
>                 program, this option sets up the specified trap
>                 handler to catch SIGTRAP exceptions. This option
>                 enables you to install a handler for SIGTRAP
>                 signals without calling the SIGNAL subprogram in
>                 the program. Specifying -qsigtrap with no
>                 <trap_handler> is equivalent to -qsigtrap=xl__trce.
> 
>          -qtbtable=<suboption>
>                 Limits the amount of debugging traceback
>                 information in object files, which reduces the size
>                 of the program. The suboptions are:
> 
>                 none
>                      Includes no traceback information.
>                 small
>                      Includes traceback information but not the
>                      names of procedures or information about
>                      procedure parameters.
>                 full
>                      Includes complete traceback information.
> 
>                 The default is full traceback information in the
>                 object file when compiling non-optimized (without
>                 -O) or for debugging (with -g).  Otherwise, the
>                 default is -qtbtable=small.
> 
>          -qwarn64 | -qnowarn64
>                 Assists in porting code from a 32-bit environment
>                 to a 64-bit environment by detecting the truncation
>                 of an 8-byte integer pointer to 4 bytes. The
>                 -qwarn64 option uses informational messages to
>                 identify statements that may cause problems with
>                 the 32-bit to 64-bit migration.  The default is
>                 -qnowarn64.
> 
>          -qxflag=<suboption>
>                 Specifies rarely-needed compiler behaviors.  The
>                 suboptions are:
> 
>                 oldtab
>                      For fixed source form programs, interprets a
>                      tab in columns 1 to 5 as a single character.
>                      The source statement still starts immediately
>                      after the tab, but the tab character is
>                      treated as a single character for counting
>                      columns. This setting allows up to 71
>                      characters of input, depending on where the
>                      tab character occurs.
>                 dvz
>                      Specifying -qxflag=dvz causes the compiler to
>                      generate code to detect floating-point
>                      divide-by-zero operations. With this option
>                      on, the extra code calls the external handler
>                      function __xl_dzx when the divisor is zero.
>                 xalias
>                      This is obsolete. Please use -qalias=nostd in
>                      your new applications.
> 
>          -qxlines | -qnoxlines
>                 Specifies whether fixed source form lines with a X
>                 in column 1 are compiled or treated as comments.
>                 The default is -qnoxlines.
> 
>   Listing and Message Options
>          -#     Generates information on the progress of the
>                 compilation without actually running the individual
>                 components.
> 
>          -S     Produces one or more .s files, showing equivalent
>                 assembler source for each Fortran source file.
> 
>          -V     Generates information on the progress of the
>                 compilation. As the compiler executes commands to
>                 perform different compilation steps, this option
>                 displays a simulation of the commands it calls and
>                 the system argument lists it passes. This is the
>                 same as -v except that you can cut and paste
>                 directly from the display to create a command.
> 
>          -v     Generates information on the progress of the
>                 compilation. As the compiler executes commands to
>                 perform different compilation steps, this option
>                 displays a simulation of the commands it calls and
>                 the system argument lists it passes.
> 
>          -w     Suppresses informational, language-level, and
>                 warning messages. This option sets -qflag=e:e.
> 
>          -qattr[=full] | -qnoattr
>                 Specifies whether to produce the attribute
>                 component of the attribute and cross-reference
>                 section of the listing.  The listing contains all
>                 identifiers (-qattr=full) or only the names that
>                 are referenced (-qattr).  The default is -qnoattr.
> 
>          -qflag=<listing_severity>:<terminal_severity>
>                 Specifies the minimum severity level of diagnostic
>                 messages to be written to the listing file and to
>                 the user terminal. <listing_severity> determines
>                 the minimum level for the listing file, and
>                 <terminal_severity> determines the minimum level
>                 for the terminal.  The severity levels are:
> 
>                 i = informational messages
>                 l = language-level messages
>                 w = warning messages
>                 e = error messages
>                 s = severe error messages
>                 u = unrecoverable error messages
>                 q = no messages
> 
>                 Note that both <listing_severity> and
>                 <terminal_severity> must be specified.  The default
>                 is -qflag=i:i.
> 
>          -qlist[={offset|nooffset}] | -qnolist
>                 Produces a compiler listing that includes an object
>                 listing. You can use the object listing to help
>                 understand the performance characteristics of the
>                 generated code and to diagnose execution problems.
>                 Specifying -qlist with no suboptions is equivalent
>                 to specifying -qlist=nooffset.  The default is
>                 -qnolist.
> 
>          -qlistopt | -qnolistopt
>                 Determines whether to show the setting of every
>                 compiler option in the listing file or only
>                 selected options. These selected options include
>                 those specified on the command line or directives
>                 plus some that are always put in the listing.  The
>                 default is -qnolistopt.
> 
>          -qnoprint
>                 Prevents the compiler from creating the listing
>                 file, regardless of the settings of other listing
>                 options.
> 
>          -qphsinfo | -qnophsinfo
>                 Determines whether timing information is displayed
>                 on the terminal for each compiler phase.  The
>                 output takes the form <number1>/<number2> for each
>                 phase where <number1> represents the CPU time used
>                 by the compiler and <number2> represents the total
>                 of the compiler time and the time that the CPU
>                 spends handling system calls.  The default is
>                 -qnophsinfo.
> 
>          -qreport[=<suboptions>] | -qnoreport
>                 Determines whether to produce transformation
>                 reports showing how the program is parallelized and
>                 how loops are optimized.  The suboptions are:
> 
>                 hotlist
>                      Produces a report showing how loops are
>                      transformed.
>                 smplist
>                      Produces a report showing how the program is
>                      parallelized.
> 
>                 The default is -qnoreport.
> 
>          -qsource | -qnosource
>                 Determines whether to produce the source section of
>                 the listing.  The default is -qnosource.
> 
>          -qsuppress[={<msg_nums_list>|cmpmsg}] | -qnosuppress
>                 Determines which messages to suppress from the
>                 output stream.  The suboptions are:
> 
>                 <msg_nums_list>
>                      A colon-separated list of 7-digit compiler
>                      message numbers.
>                 cmpmsg
>                      Suppresses the informational messages that
>                      report compilation progress and a successful
>                      completion.
> 
>                 The default is -qnosuppress.
> 
>          -qversion
>                 Displays the version and release of the invoking
>                 compiler. Specify this option on its own with the
>                 compiler command.
> 
>          -qxref[=full] | -qnoxref
>                 Determines whether to produce the cross-reference
>                 component of the attribute and cross-reference
>                 section of the listing.  If you specify only
>                 -qxref, only identifiers that are used are
>                 reported. If you specify -qxref=full, the listing
>                 contains information about all identifiers that
>                 appear in the program, whether they are used or
>                 not.  The default is -qnoxref.
> 
>   Compatibility Options
>          -1     Executes each DO loop in the compiled program at
>                 least once if its DO statement is executed, even if
>                 the iteration count is 0. This option provides
>                 compatibility with Fortran 66. The default is to
>                 follow the behavior of later Fortran standards,
>                 where DO loops are not performed if the iteration
>                 count is 0. This is the short form of the -qonetrip
>                 option.
> 
>          -u     Specifies that no implicit typing of variable names
>                 is permitted. It has the same effect as using the
>                 IMPLICIT NONE statement in each scope that allows
>                 implicit statements. By default, implicit typing is
>                 allowed.
> 
>          -qautodbl=<setting>
>                 Converts single-precision floating-point
>                 calculations to double-precision or converts
>                 double-precision calculations to extended-
>                 precision.  <setting> can be:
> 
>                 none
>                      Does not promote or pad any objects that share
>                      storage.
>                 dbl4
>                      Promotes floating-point objects that are
>                      single precision or are composed of such
>                      objects.
>                 dbl8
>                      Promotes floating-point objects that are
>                      double-precision or are composed of such
>                      objects.
>                 dbl
>                      Combines the promotions done by dbl4 and dbl8.
>                 dblpad4
>                      Performs the same promotions as dbl4, and pads
>                      objects of other types (except CHARACTER) that
>                      can share storage with promoted objects.
>                 dblpad8
>                      Performs the same promotions as dbl8, and also
>                      pads objects of other types (except CHARACTER)
>                      if they can share storage with promoted
>                      objects.
>                 dblpad
>                      Combines the promotions done by dbl4 and dbl8,
>                      and also pads objects of other types (except
>                      CHARACTER) if they can share storage with
>                      promoted objects.
> 
>                 The default is -qautodbl=none.
> 
>          -qcclines | -qnocclines
>                 Enables recognition of conditional compilation
>                 lines in fixed source form and F90 free source
>                 form. IBM free source form is not supported.  The
>                 default is -qcclines if -qsmp=omp is specified.
>                 Otherwise, the default is -qnocclines.
> 
>          -qctyplss[={arg|noarg}] | -qnoctyplss
>                 Specifies whether character constant expressions
>                 are allowed wherever typeless constants may be
>                 used. Specifying -qctyplss=arg allows character
>                 constant expressions, but if a Hollerith constant
>                 is used as an actual argument, it is passed to the
>                 procedure as if it was an integer actual argument.
>                 The default is -qnoctyplss. If -qctypless is
>                 specified with no suboption, the default is
>                 -qctyplss=noarg.
> 
>          -qddim | -qnoddim
>                 Specifies that the bounds of pointee arrays are
>                 re-evaluated each time the arrays are referenced
>                 and removes some restrictions on the bounds
>                 expressions for pointee arrays.  The default is
>                 -qnoddim.
> 
>          -qdpc[=<e>] | -qnodpc
>                 Increases the precision of real constants, for
>                 maximum accuracy, when assigning real constants to
>                 DOUBLE PRECISION variables. -qdpc=<e> also promotes
>                 constants with an <e> exponent.  The default is
>                 -qnodpc.
> 
>          -qescape | -qnoescape
>                 Specifies whether the backslash is treated as an
>                 escape character in character strings, Hollerith
>                 constants, H edit descriptors, and character string
>                 edit descriptors.  The default is -qescape.
> 
>          -qextern=<procedure_names_list>
>                 Allows user-written procedures to be called instead
>                 of XL Fortran intrinsics. <procedure_names_list> is
>                 a colon-separated list of procedure names.  The
>                 procedure names are treated as if they appear in an
>                 EXTERNAL statement in each compilation unit being
>                 compiled.
> 
>          -qextname[=<names_list>] | -qnoextname
>                 Adds an underscore to the names of all global
>                 entities, which helps in porting programs from
>                 systems where this is a convention for mixed-
>                 language programs. <names_list> is a colon-
>                 separated list of global entity names.  The default
>                 is -qnoextname.
> 
>          -qinit=f90ptr
>                 Makes the initial association status of pointers
>                 disassociated instead of undefined. The default
>                 association status of pointers is undefined.
> 
>          -qintlog | -qnointlog
>                 Allows mixture of integer and logical data entities
>                 in expressions and statements. The default is
>                 -qnointlog.
> 
>          -qintsize={2|4|8}
>                 Sets the size (in bytes) of default INTEGER and
>                 LOGICAL data entities (that is, those for which no
>                 length or kind is specified).  The default is
>                 -qintsize=4.
> 
>          -qlog4 | -qnolog4
>                 Specifies whether the result of a logical operation
>                 with logical operands is a LOGICAL(4) or is a
>                 LOGICAL with the maximum length of the operands.
>                 The default is -qnolog4.
> 
>          -qmodule=mangle81
>                 Specifies that the compiler should use the XL
>                 Fortran Version 8.1 naming convention for non-
>                 intrinsic module files. This option allows you to
>                 produce modules and their associated object files
>                 with the Version 10.1 compiler and link these
>                 object files with others compiled with the Version
>                 8.1 compiler, or earlier.
> 
>          -qnullterm | -qnonullterm
>                 Appends a null character to each character constant
>                 expression that is passed as a dummy argument, to
>                 make it more convenient to pass strings to C
>                 functions. The default is -qnonullterm.
> 
>          -qonetrip | -qnoonetrip
>                 The long form of the -1 option. See -1 for details.
>                 The default is -qnoonetrip.
> 
>          -qport=<suboption> | -qnoport
>                 Increases flexibility when porting programs to XL
>                 Fortran, providing a number of options to
>                 accommodate Fortran language extensions.  The
>                 suboptions are:
> 
>                 clogicals | noclogicals
>                      Allows non-zero integers to be treated as true
>                      when used as logicals. The change affects all
>                      logical operators. This suboption only takes
>                      effect if -qintlog is activated.  The default
>                      is noclogicals.
>                 hexint | nohexint
>                      Specifies that typeless constant hexadecimal
>                      strings are converted to integers when passed
>                      as actual arguments to the INT intrinsic
>                      function. Typeless constant hexadecimal
>                      strings which are not passed as actual
>                      arguments to INT remain unaffected.  The
>                      default is nohexint.
>                 mod | nomod
>                      Relaxes existing constraints on the MOD
>                      intrinsic function, allowing two arguments of
>                      the same data type parameter to be of
>                      different kind type parameters. The result
>                      will be of the same type as the argument, but
>                      with the larger kind type parameter value.
>                      The default is nomod.
>                 nullarg | nonullarg
>                      For an external or internal procedure
>                      reference, this causes the compiler to treat
>                      an empty argument (which is delimited by a
>                      left parenthesis and a comma, two commas, or a
>                      comma and a right parenthesis) as a null
>                      argument. This suboption has no effect if the
>                      argument list is empty.  The default is
>                      nonullarg.
>                 sce | nosce
>                      By default, the compiler performs short
>                      circuit evaluation in selected logical
>                      expressions using XL Fortran rules. Specifying
>                      'sce' allows the compiler to use non-XL
>                      Fortran rules. The compiler will perform short
>                      circuit evaluation if the current rules allow
>                      it.  The default is nosce.
>                 typestmt | notypestmt
>                      The TYPE statement, which behaves in a manner
>                      similar to the PRINT statement, is supported
>                      whenever this option is specified. The default
>                      is notypestmt.
>                 typlssarg | notyplssarg
>                      Converts all typeless constants to default
>                      integers if the constants are actual arguments
>                      to an intrinsic procedure whose associated
>                      dummy arguments are of integer type. Dummy
>                      arguments associated with typeless actual
>                      arguments of non-integer type remain
>                      unaffected by this option.  The default is
>                      notyplssarg.
> 
>                 The default is -qnoport.
> 
>          -qposition={appendold|appendunknown}
>                 Positions the file pointer at the end of the file
>                 when data is written after an OPEN statement with
>                 no "POSITION=" specifier, and the corresponding
>                 "STATUS=" value (OLD or UNKNOWN) is specified.  The
>                 default depends on the I/O specifiers in the OPEN
>                 statement and on the compiler invocation command.
>                 The default is -qposition=appendold for the xlf,
>                 xlf_r, xlf_r7, and f77/fort77 commands and the
>                 defined Fortran 90 and Fortran 95 behaviors for the
>                 xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r, xlf95_r7,
>                 f90 and f95 commands.
> 
>          -qqcount | -qnoqcount
>                 Accepts the character-count Q edit descriptor (Q)
>                 as well as the extended-precision Q edit descriptor
>                 (Qw.d). With -qnoqcount, all Q edit descriptors are
>                 interpreted as the extended-precision Q edit
>                 descriptor.  The default is -qnoqcount.
> 
>          -qrealsize=<bytes>
>                 Sets the default size of REAL, DOUBLE PRECISION,
>                 COMPLEX and DOUBLE COMPLEX values. The allowed
>                 values for <bytes> are 4 and 8.  The default is
>                 -qrealsize=4.
> 
>          -qsave[=<suboption>] | -qnosave
>                 Specifies the default storage class for local
>                 variables.  The suboptions are:
> 
>                 all
>                      The default storage class for all local
>                      variables is STATIC. This is the default when
>                      -qsave is specified without a suboption.
>                 defaultinit
>                      The default storage class is STATIC for local
>                      variables of derived type that have default
>                      initialization specified.
> 
>                 Specifying -qnosave sets the default storage class
>                 to AUTOMATIC.  The default is -qsave for xlf,
>                 xlf_r, xlf_r7, f77, or fort77 to duplicate the
>                 behavior of FORTRAN77 commands, and -qnosave
>                 otherwise.
> 
>          -qsclk[=<suboption>]
>                 Specifies the resolution that the SYSTEM_CLOCK
>                 intrinsic procedure uses in a program.  The
>                 suboptions are:
> 
>                 centi
>                      Uses centisecond resolution for the values
>                      returned.
>                 micro
>                      Uses microsecond resolution.
> 
>                 The default is -qsclk=centi.
> 
>          -qswapomp | -qnoswapomp
>                 Specifies that the compiler should recognize and
>                 substitute OpenMP routines in XL Fortran programs.
>                 The default is -qswapomp.
> 
>          -qundef | -qnoundef
>                 The long form of the -u option. See -u for details.
>                 The default is -qnoundef.
> 
>          -qxlf77=<settings_list>
>                 Provides compatibility with Fortran 77 aspects of
>                 language semantics and I/O data format that have
>                 changed. Most of these changes are required by the
>                 Fortran 90 standard. <settings_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 blankpad | noblankpad
>                      For internal, direct-access, and stream-access
>                      files, uses a default setting equivalent to
>                      pad='no'. This setting produces conversion
>                      errors when reading from such a file if the
>                      format requires more characters than the
>                      record has, thus duplicating the XL Fortran
>                      Version 2 behavior.
>                 gedit77 | nogedit77
>                      Uses Fortran 77 semantics for the output of
>                      REAL objects with the G edit descriptor.
>                 intarg | nointarg
>                      Converts all the integer arguments of an
>                      intrinsic procedure to the kind of the longest
>                      argument, if they are of different kinds.
>                 intxor | nointxor
>                      Treats .XOR. as a logical binary intrinsic
>                      operator rather than a defined operator.
>                 leadzero | noleadzero
>                      Produces a leading zero in real output under
>                      the D, E, L, F and Q edit descriptors.
>                 oldboz | nooldboz
>                      Turns blanks into zeros for data read by B, O,
>                      and Z edit descriptors, regardless of the
>                      "BLANK=" specifier or any BN or BZ control
>                      edit descriptors.
>                 persistent | nopersistent
>                      Saves the addresses of arguments to
>                      subprograms with ENTRY statements in static
>                      storage.
>                 softeof | nosofteof
>                      Allows READ and WRITE operations when a unit
>                      is positioned after its endfile record, unless
>                      that position is the result of executing an
>                      ENDFILE statement.
> 
>                 The default suboptions are: blankpad, nogedit77,
>                 nointarg, nointxor, leadzero, nooldboz,
>                 nopersistent, and nosofteof for the f90, xlf90,
>                 xlf90_r, xlf90_r7, f95, xlf95, xlf95_r, and
>                 xlf95_r7 commands, and are the exact opposite for
>                 the xlf, xlf_r, xlf_r7, f77, and fort77 commands.
> 
>          -qxlf90=<settings_list>
>                 Provides backward compatibility with XL Fortran for
>                 AIX Version 5 and the Fortran 90 standard for
>                 certain aspects of the Fortran language.
>                 <settings_list> is a colon-separated list of one or
>                 both of the following suboptions:
> 
>                 signedzero | nosignedzero
>                      Determines how the SIGN(A,B) function handles
>                      signed real 0.0. Prior to XL Fortran Version
>                      6.1, SIGN(A,B) returned |A| when B=-0.0. This
>                      behavior conformed with the Fortran 90
>                      standard. Now, if you specify the
>                      -qxlf90=signedzero compiler option, SIGN(A,B)
>                      returns -|A| when B=-0.0. This behavior
>                      conforms to the Fortran 95 standard and is
>                      consistent with the IEEE standard for binary
>                      floating-point arithmetic.
>                 autodealloc | noautodealloc
>                      Determines whether the compiler deallocates
>                      allocatable objects that are declared locally
>                      without either the SAVE or the STATIC
>                      attribute and have a status of currently
>                      allocated when the subprogram terminates.
> 
>                 The default suboptions are signedzero and
>                 autodealloc for the xlf95, xlf95_r, xlf95_r7 and
>                 f95 invocation commands. For all other invocation
>                 commands, the default suboptions are nosignedzero
>                 and noautodealloc.
> 
>   Linking Options
>          -b64   The AIX operating system provides 64-bit shared
>                 object files in both libc.a and libm.a. In 64-bit
>                 mode, you can use the -b64 linker option to
>                 instruct ld to bind with 64-bit objects.
> 
>          -bdynamic, -bshared, -bstatic
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 This is available on AIX 4.2 and above.
> 
>                 -bdynamic
>                      Specifies that shared objects are linked
>                      dynamically.
>                 -bshared
>                      Equivalent to -bdynamic.
>                 -bstatic
>                      Specifies that shared objects are statically
>                      linked into the output file.
> 
>                 The default is -bdynamic.
> 
>          -bhalt:<error_level>
>                 Specifies the maximum error level that is allowed
>                 before the linker (ld) command halts. If any linker
>                 command has an error return value greater than the
>                 value that is specified by the <error_level>
>                 variable, linking stops.  The default value is 4,
>                 as specified in the configuration file.
> 
>          -bloadmap:<filename>
>                 Requests that a log of linker actions and messages
>                 be saved in file <filename>. You can use the log to
>                 help diagnose linking problems.
> 
>          -bmaxdata=<bytes>
>                 Specifies the maximum amount of space to reserve
>                 for the program data segment for programs where the
>                 size of these regions is a constraint.  The default
>                 is -bmaxdata=0.
> 
>          -bmaxstack:<bytes>
>                 Specifies the maximum amount of space to reserve
>                 for the program stack segment for programs where
>                 the size of these regions is a constraint.
> 
>          -brtl | -bnortl
>                 Determines which algorithm will be used to find
>                 libraries that are specified with the -l option. If
>                 -brtl is specified, run-time linking is enabled.
> 
>          -bshared
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 See "-bdynamic, -bshared, -bstatic" for details.
>                 This is equivalent to -bdynamic.
> 
>          -bstatic
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 See "-bdynamic, -bshared, -bstatic" for details.
> 
>          -L<dir>
>                 Searches in directory <dir> for libraries specified
>                 by -l<key>.
> 
>          -l<key>
>                 Searches the specified library file at link time,
>                 where <key> selects the library lib<key>.a.
> 
>   Compiler Customization Options
>          -B<prefix>
>                 Determines a substitute path name for executable
>                 files used during compilation, such as the compiler
>                 of linker. <prefix> is the name of a directory
>                 where the alternative executable files reside. It
>                 is added to the beginning of the standard program
>                 names and must end in a slash (/). This option can
>                 be used in combination with the -t option, which
>                 determines which of these components are affected
>                 by -B.
> 
>          -F[<config_file>][:<stanza>]
>                 Specifies an alternative configuration file
>                 <config_file>, the command to be used (<stanza>)
>                 within the configuration file, or both. At least
>                 one of the arguments must be supplied.  The default
>                 stanza depends on the name of the command used to
>                 invoke the compiler.
> 
>          -P{v|k}[!]
>                 This option is obsolete and has no effect. Invokes
>                 the selected optimizing preprocessor.
> 
>          -P     Invokes the -Pv preprocessor before the compiler.
> 
>          -Pv    Invokes the -Pv preprocessor before the compiler.
> 
>          -Pk    Invokes the -Pk preprocessor before the compiler.
> 
>          -P!    Invokes the -Pv preprocessor only.
> 
>          -Pv!   Invokes the -Pv preprocessor only.
> 
>          -Pk!   Invokes the -Pk preprocessor only.
> 
>          -t<components_list>
>                 Applies the prefix from the -B option to the
>                 specified program, <components_list>, where
>                 <components_list> is a chain (with no separator
>                 character inbetween each <component>, ie: "-taFp")
>                 containing one or more of the following:
> 
>                 COMPONENT NAME           <component>       PROGRAM
>                 assembler                 a                as
>                 C preprocessor            F                cpp
>                 VAST-2 preprocessor       p                fpp
>                 KAP preprocessor          p                fppk
>                 compiler front end        c                xlfentry
>                 array language optimizer  h                xlfhot
>                 IPA/loop optimizer        I (upper-case i) ipa
>                 code generator            b                xlfcode
>                 binder                    z                bolt
>                 linker                    l (lower-case L) ld
>                 disassembler              d                dis
> 
>          -W<component>,<options_list>
>                 Passes the listed options to a component that is
>                 executed during compilation. <options_list> is a
>                 comma-separated list of one or more options, and
>                 <component> is one of the following:
> 
>                 COMPONENT NAME           <component>       PROGRAM
>                 assembler                 a                as
>                 C preprocessor            F                cpp
>                 VAST-2 preprocessor       p                fpp
>                 KAP preprocessor          p                fppk
>                 compiler front end        c                xlfentry
>                 array language optimizer  h                xlfhot
>                 IPA/loop optimizer        I (upper-case i) ipa
>                 code generator            b                xlfcode
>                 binder                    z                bolt
>                 linker                    l (lower-case L) ld
>                 disassembler              d                dis
> 
>   Integer and Floating-Point Options
>          -y<rounding_mode>
>                 Specifies compile-time rounding of constant
>                 floating-point expressions. It is equivalent to the
>                 -qieee option. <rounding_mode> is one of the
>                 following:
> 
>                 n = Round to nearest
>                 m = Round toward minus infinity
>                 p = Round toward plus infinity
>                 z = Round toward zero
> 
>                 The default is -yn.
> 
>          -qfloat=<suboptions_list>
>                 Determines different strategies for speeding up or
>                 improving the accuracy of floating-point
>                 calculations. <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 fltint | nofltint
>                      Speeds up floating-point-to-integer
>                      conversions by using an inline sequence of
>                      code instead of a call to a library function.
>                 fold | nofold
>                      Evaluates constant floating-point expressions
>                      at compile time.
>                 hsflt | nohsflt
>                      Speeds up calculations by removing range-
>                      checking on single-precision float results,
>                      and on conversions from floating-point to
>                      integer.
>                 hssngl | nohssngl
>                      Speeds up calculations in a safer way than
>                      hsflt, by rounding single-precision
>                      expressions only when the results are stored
>                      into REAL(4) memory locations
>                 maf | nomaf
>                      Generates multiply-add instructions where
>                      appropriate.
>                 nans | nonans
>                      Allows you to use the -qflttrap=invalid:enable
>                      option to detect and deal with exception
>                      conditions that involve signaling NaN (not-a-
>                      number) values.
>                 rndsngl | norndsngl
>                      Rounds the result of each single-precision
>                      (REAL(4)) operation to single-precision,
>                      rather than waiting until the full expression
>                      is evaluated. It sacrifices speed for
>                      consistency with results from similar
>                      calculations on other types of computers.
>                 rrm | norrm
>                      Turns off compiler optimizations that require
>                      the rounding mode to be the default, round-
>                      to-nearest, at run time.
>                 rsqrt | norsqrt
>                      Allows the optimizer to change a division by
>                      the result of a square root operation into a
>                      multiply by the reciprocal of the square root.
>                 strictnmaf | nostrictnmaf
>                      Turns off floating-point transformations that
>                      are used to introduce negative MAF
>                      instructions, as these transformations do not
>                      preserve the sign of a zero value.
>                 The default active suboptions are: nofltint, fold,
>                 nohsflt, nohssngl, maf, nonans, norelax, norndsngl,
>                 norrm, norsqrt, and nostrictnmaf.
> 
>          -qieee=<mode>
>                 Specifies the rounding mode for the compiler to use
>                 when evaluating constant floating-point expressions
>                 at compile time, where <mode> is one of:
> 
>                 near = Round to nearest representable number
>                 minus = Round toward minus infinity
>                 plus = Round toward plus infinity
>                 zero = Round toward zero
> 
>                 The default is -qieee=near.
> 
>          -qstrictieeemod | -qnostrictieeemod
>                 Specifies that the compiler will adhere to the
>                 Fortran 2003 IEEE arithmetic rules for the
>                 ieee_arithmetic and ieee_exceptions intrinsic
>                 modules.  The default is -qstrictieeemod.
> 
>   SEE ALSO
>          xlfndi(1), showpdf(1), cleanpdf(1), mergepdf(1),
>          resetpdf(1)
> 
>          For more information, refer to the following Web sites:
>          www.ibm.com/software/awdtools/fortran/xlfortran/library/
>          www.ibm.com/software/awdtools/fortran/xlfortran/support/
> 
>   COPYRIGHT
>          Licensed Materials - Property of IBM
> 
>          IBM(R) XL Fortran Enterprise Edition V10.1 for AIX(R)
> 
>          5724-M13
> 
>          (C) Copyright IBM Corp. 1991, 2005, and by others. All
>          Rights Reserved.
> 
>          IBM and AIX are trademarks or registered trademarks of IBM
>          Corp. in the U.S., other countries or both.
> 
>          US Government Users Restricted Rights - Use, duplication
>          or disclosure restricted by GSA ADP Schedule Contract with
>          IBM Corp.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> configure:1787: $? = 249
> configure:1794: f95 -V >&5
> export XL_CONFIG=/etc/xlf.cfg:f95 
> pg /usr/lpp/xlf/bin/default_msg/xlf.txt 
> 
> 
> 
>   xlf(1)                 IBM (October 2005)                  xlf(1)
> 
> 
> 
>   NAME
>          xlf, xlf90, xlf95, xlf_r, xlf90_r, xlf95_r, f90, f95,
>          xlf_r7, xlf90_r7, xlf95_r7, f77, fort77 - invoke the IBM
>          XL Fortran compiler
> 
>   SYNTAX
>          <invocation-command> [ <option> | <inputfile> ] ...
> 
>   DESCRIPTION
>          xlf and related invocation commands compile Fortran source
>          files.  They also process assembler source files and
>          object files. Unless you specify the -c option, these
>          commands call the link editor to produce a single object
>          file.
> 
>          The main difference between these commands is that they
>          use different default options (which are set in the
>          configuration file /etc/xlf.cfg).  For more information,
>          refer to the XL Fortran Enterprise Edition Compiler
>          Reference.
> 
>          The input file may have any of the following suffixes:
>           .f - Fortran source file
>           .f77 or .F77 - Fortran source file (fixed form) using
>                f77 stanza configuration
>           .f90 or .F90 - Fortran source file (free form) using
>                xlf90 configuration
>           .f95 or .F95 - Fortran source file (free form) using
>                xlf95 configuration
>           .o or .a - object file for ld command
>           .s - assembler source file
>           .F - Fortran source file with cpp preprocessor directives
> 
>   OPTIONS
>          Compiler options are categorized by their functions. In
>          each category, the flag options are listed first, followed
>          by the keyword options.
> 
>   Input Control Options
>          -I<dir>
>                 Adds a directory to the search path for include
>                 files and .mod files. If XL Fortran calls cpp, this
>                 option adds a directory to the search path for
>                 #include files. Before checking the default
>                 directories for include and .mod files, the
>                 compiler checks each directory in the search path.
>                 For include files, this path is only used if the
>                 file name in an INCLUDE line is not provided with
>                 an absolute path. By default, the following
>                 directories are searched in the following order:
> 
>                 1) The current directory (where the compiler is
>                 executed)
>                 2) The directory where the source file is located
> 
>          -k     Specifies that the program is in free source form.
>                 This is the short form of -qfree=f90.
> 
>          -U     Makes the compiler case-sensitive to identifier
>                 names. By default the compiler interprets all names
>                 as if they were lower-case.
> 
>          -qci=<nums_list>
>                 Activates the specified INCLUDE lines. <nums_list>
>                 is a colon-separated list of identification numbers
>                 (from 1 to 255) of conditional includes.
> 
>          -qcr | -qnocr
>                 Allows you to control how the compiler interprets
>                 the CR (carriage return) character.  This allows
>                 you to compile code written using a MAC OS X or
>                 DOS/Windows editor.  The default is -qcr.
> 
>          -qdirective[=<list>] | -qnodirective[=<list>]
>                 Specifies target strings to be recognized in a
>                 comment directive. <list> is a colon-separated list
>                 of directives. If -qdirective is specified without
>                 any directives, it turns on the default trigger
>                 constant IBM* if it has been turned off by a
>                 previous -qnodirective.  The default is
>                 -qnodirective.
> 
>          -qdlines | -qnodlines
>                 This is the long form of the -D option. See -D for
>                 more information.  The default is -qnodlines.
> 
>          -qfixed[=<right_margin>]
>                 Indicates that the input source program is in fixed
>                 source form and optionally specifies the maximum
>                 line length, <right_margin>. The maximum
>                 <right_margin> value is 132.  The default is
>                 -qfixed=72 for xlf, xlf_r, xlf_r7, f77, and fort77
>                 invocation commands, and -qfree=f90 for f90, f95,
>                 xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r, and
>                 xlf95_r7.
> 
>          -qfree[={f90|ibm}]
>                 Indicates that the source code is in free source
>                 form. The 'ibm' and 'f90' suboptions specify
>                 compatibility with the free source form defined for
>                 VS Fortran and Fortran 90, respectively. Note that
>                 the free source form defined for Fortran 90 also
>                 applies to Fortran 95.  The default is -qfree=f90
>                 for f90, f95, xlf90, xlf90_r, xlf90_r7, xlf95,
>                 xlf95_r, and xlf95_r7 invocation commands, and
>                 -qfixed=72 for xlf, xlf_r, xlf_r7, f77, and fort77.
> 
>          -qmbcs | -qnombcs
>                 Indicates to the compiler whether character literal
>                 constants, Hollerith constants, H edit descriptors,
>                 and character string edit descriptors can contain
>                 Multibyte Character Set (MBCS) or Unicode
>                 characters. The default is -qnombcs.
> 
>          -qmixed | -qnomixed
>                 The long form of the -U option. Makes the compiler
>                 case-sensitive to identifier names. The default is
>                 -qnomixed.
> 
>          -qsuffix=<option>=<suffix>
>                 Specifies the source file suffix, <suffix>, on the
>                 command line instead of in the .cfg file, where
>                 <option> can be:
> 
>                 f
>                      Specifies that <suffix> is the new source file
>                      suffix.
>                 o
>                      Specifies that <suffix> is the new object-file
>                      suffix.
>                 s
>                      Specifies that <suffix> is the new assembler
>                      source file suffix.
>                 cpp
>                      Specifies that <suffix> is the new
>                      preprocessor source file suffix.
> 
>   Output Control Options
>          -c     Produces an object file instead of an executable
>                 file.  Prevents the completed object file from
>                 being sent to the ld command for link-editing. With
>                 this option, the output is a .o file for each
>                 source file.
> 
>          -d     Causes preprocessed source files that are produced
>                 by cpp to be kept rather than to be deleted. By
>                 default temporary files produced by cpp are
>                 deleted.
> 
>          -o <name>
>                 Specifies a name for the output object, executable,
>                 or assembler source file.  The default name is
>                 a.out for executable files. The default name for an
>                 object source file is the same as the source file
>                 except that it has a '.o' extension.
> 
>          -q32   Selects 32-bit mode compilation mode. The -q32 and
>                 -qarch options determine the target machines that
>                 the 32-bit executable will run on. The default is
>                 -q32.
> 
>          -q64[=<suboption>]
>                 Selects 64-bit compilation mode. The -q64 option
>                 indicates that the object module will be created in
>                 64-bit object format and that the 64-bit
>                 instruction set will be generated. Note that you
>                 may compile in a 32-bit environment to create 64-
>                 bit objects, but you must link them in a 64-bit
>                 environment with the -q64 option. Use -q32 and -q64
>                 options, along with the -qarch and -qtune compiler
>                 options, to optimize the output of the compiler to
>                 the architecture on which that output will be used.
>                 The suboptions are:
> 
>                 largetype
>                      The object file will use the 64-bit Large Data
>                      Type (LDT) ABI. This object file may only be
>                      used on versions of AIX greater than or equal
>                      to 5.0.
> 
>          -qmoddir=<directory>
>                 Specifies the location for any .mod files that the
>                 compiler writes. By default .mod files are placed
>                 in the current directory.
> 
>          -qpic[=<suboption>] | -qnopic
>                 Generates Position Independent Code (PIC) that can
>                 be used in shared libraries.  The suboptions are:
> 
>                 large
>                      Allows the size of the Table of Contents to be
>                      larger than 64K. This suboption allows for
>                      more addresses to be stored in the Table of
>                      Contents and generates larger code.
>                 small
>                      Assumes that the size of the Table of Contents
>                      can be at most 64K.
> 
>                 The default is -qpic=small.
> 
>   Optimization Options
>          -NS<bytes>
>                 Specifies the size (in bytes) of the register spill
>                 space; the internal program storage areas used by
>                 the optimizer for register spills to storage.  The
>                 default is -NS512.
> 
>          -O[<level>]
>                 Specifies whether to optimize code during
>                 compilation and, if so, at which level. -O<level>
>                 is equivalent to -qoptimize=<level>. <level> can
>                 be:
> 
>                 (not specified)
>                      This is equivalent to -O2.
>                 0
>                      Almost all optimizations are disabled. This is
>                      equivalent to -qnooptimize.
>                 1
>                      Reserved for future use. Ignored by compiler.
>                 2
>                      Performs a set of optimizations that are
>                      intended to offer improved performance without
>                      an unreasonable increase in time or storage
>                      that is required for compilation.
>                 3
>                      Performs additional optimizations that are
>                      memory intensive, compile-time intensive, and
>                      may change the semantics of the program
>                      slightly, unless -qstrict is specified. We
>                      recommend these optimizations when the desire
>                      for run-time speed improvements outweighs the
>                      concern for limiting compile-time resources.
>                      This level of optimization also affects the
>                      setting of the -qfloat option, turning on the
>                      'fltint' and 'rsqrt' suboptions by default,
>                      and setting -qmaxmem=-1.  This option implies
>                      -qhot=level=0.
>                 4
>                      Aggressively optimizes the source program,
>                      trading off additional compile time for
>                      potential improvements in the generated code.
>                      You can specify the option at compile time or
>                      at link time. if you specify it at link time,
>                      it will have no effect unless you also specify
>                      it at compile time for at least the file that
>                      contains the main program. -O4 implies the
>                      following other options:
>                      -qhot
>                      -qipa
>                      -O3
>                      -qarch=auto
>                      -qtune=auto
>                      -qcache=auto
>                 5
>                      Performs all optimizations from -O4, and also
>                      sets -qipa=level=2 to perform full inter-
>                      procedural data flow and alias analysis.
> 
>                 -O4 and -O5 perform whole-program analysis and
>                 should be specified at both compilation and link
>                 time to have maximal effect.  The default is -O0.
> 
>          -p[g]  Sets up the object file for profiling. Specifying
>                 '-pg' will produce more extensive statistics. The
>                 default is no profiling.
> 
>          -Q[<suboption>]
>                 Specifies whether Fortran 90 or Fortran 95
>                 procedures are inlined and/or the names of
>                 particular procedures that should or should not be
>                 inlined. names is a list of procedure names that
>                 are separated by colons. This option can take the
>                 form:
> 
>                 -Q
>                      Attempts to inline all appropriate functions,
>                      subject to limits on the number of inlined
>                      calls and the amount of code size increase as
>                      a result.
>                 -Q!
>                      Turns off inlining.
>                 -Q+<names_list>
>                      Inlines the functions listed in <names_list>
>                      and any other appropriate functions, where
>                      <names_list> is a colon-separated list.
>                 -Q-<names_list>
>                      Does not inline functions listed in
>                      <names_list>, where <names_list> is a colon-
>                      separated list. All other appropriate
>                      functions are inlined.
> 
>          -s     Strips the symbol table, line number information,
>                 and relocation information from the output file.
> 
>          -qalias=<suboptions_list>
>                 Indicates whether a program contains certain
>                 categories of aliasing. The compiler limits the
>                 scope of some optimizations when there is a
>                 possibility that different names are aliases for
>                 the same storage locations. <suboptions_list> is a
>                 colon-separated list of one or more of the
>                 following suboptions:
> 
>                 aryovrlp | noaryovrlp
>                      Indicates whether the compilation units
>                      contain any array assignments between
>                      storage-associated arrays. If not, specify
>                      noaryovrlp to improve performance.
>                 intptr | nointptr
>                      Indicates whether the compilation units
>                      contain any integer POINTER statements. If so,
>                      specify intptr.
>                 pteovrlp | nopteovrlp
>                      Indicates whether any pointee variables may be
>                      used to refer to any data objects that are not
>                      pointee variables, or whether two pointee
>                      variables may be used to refer to the same
>                      storage location. If not, specify nopteovrlp.
>                 std | nostd
>                      Indicates whether the compilation units
>                      contain any non-standard aliasing (see
>                      Compiler Reference for more information). If
>                      so, specify nostd.  (-qalias=nostd replaces
>                      the obsolete -qxflag=xalias option.)
> 
>                 For the xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r,
>                 xlf95_r7, f90 and f95 commands, the default
>                 suboptions are: aryovrlp, nointptr, pteovrlp, and
>                 std. For the xlf, xlf_r, xlf_r7, f77, and fort77
>                 commands, the default suboptions are: aryovrlp,
>                 intptr, pteovrlp, and std.
> 
>          -qalign=<suboptions_list>
>                 Specifies the alignment of data objects in storage
>                 to avoid performance problems with misaligned data.
>                 <suboptions_list> is a colon-separated list of one
>                 or more of the following suboptions:
> 
>                 4k | no4k
>                      Specifies whether large arrays and structures
>                      (at least 4096 bytes in size) will be aligned
>                      on a 4K (4096-byte, or page) boundary.  Use of
>                      this option may help to improve the
>                      performance of programs using data striping.
>                 bindc=<suboption>
>                      Specifies that the alignment and padding for
>                      an XL Fortran derived type with the BIND(C)
>                      attribute are compatible with a C struct type
>                      that is compiled with the corresponding XL C
>                      alignment option. The compatible alignment
>                      options are:
>                      -qalign=bindc=bit_packed
>                      -qalign=bindc={full|power}
>                      -qalign=bindc=packed
>                      -qalign=bindc={twobyte|mac68k}
>                      -qalign=bindc=natural
>                      Each of these "-qalign=bindc=" sub-suboptions
>                      is equivalent to the XL C "-qalign=" suboption
>                      of the same name.  (ie: For
>                      -qalign=bindc=bit_packed, the corresponding XL
>                      C option is -qalign=bit_packed)
>                 struct=<option>
>                      Specifies how objects or arrays of a derived
>                      type (declared using a record structure) are
>                      stored, and whether or not padding is used
>                      between components. The options are:
>                      natural
>                           Objects of a derived type are stored with
>                           sufficient padding such that components
>                           will be stored on their natural alignment
>                           boundaries, unless storage association
>                           requires otherwise.
>                      packed
>                           Objects of a derived type are stored with
>                           no padding between components, other than
>                           any padding represented by %FILL
>                           components.
>                      port
>                           Storage padding is the same as described
>                           above for the struct=natural suboption,
>                           except that the alignment of components
>                           of type complex is the same as the
>                           alignment of components of type real of
>                           the same kind. The padding for an object
>                           that is immediately followed by a union
>                           is inserted at the beginning of the first
>                           map component for each map in that union.
> 
>                 The default activated suboptions are: no4k,
>                 struct=natural, and bindc=power.
> 
>          -qarch=<suboption>
>                 Specifies which instructions the compiler can
>                 generate.  The suboptions are:
> 
>                 auto
>                      Automatically detects the specific
>                      architecture of the compiling machine. It
>                      assumes that the execution environment will be
>                      the same as the compilation environment.
>                 com
>                      You can run the executable file that the
>                      compiler generated on any hardware platform
>                      supported by the compiler, because the file
>                      contains only instructions that are common to
>                      all machines.
>                 p2sc
>                      The executable file can be executed on any
>                      POWER2 Super Chip hardware platform.
>                 ppc
>                      Produces an object that contains instructions
>                      that run on any of the 32-bit PowerPC hardware
>                      platforms. Using -q64 with ppc upgrades the
>                      architecture to ppc64grsq.
>                 ppcgr
>                      In 32-bit mode, produces object code
>                      containing optional graphics instructions for
>                      PowerPC hardware platforms.  In 64-bit mode,
>                      produces object code containing optional
>                      graphics instructions that will run on 64-bit
>                      PowerPC platforms, but not on 32-bit-only
>                      platforms.  Using -q64 with ppcgr upgrades the
>                      architecture to ppc64grsq.
>                 ppc64
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform. When compiled
>                      in 32-bit mode, the resulting object code may
>                      include instructions that are not recognized
>                      or behave differently when run on 32-bit
>                      PowerPC platforms.
>                 ppc64gr
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform that supports
>                      the optional graphics instructions.
>                 ppc64grsq
>                      Produces object code that will run on any 64-
>                      bit PowerPC hardware platform that supports
>                      the optional graphics and square root
>                      instructions.
>                 pwr
>                      Produces an object that contains instructions
>                      that run on any of the POWER or POWER2
>                      hardware platforms.
>                 pwr2s
>                      The executable file can be executed on any
>                      desktop implementation of the POWER2 chip.
>                 pwr2
>                      Produces an object that contains instructions
>                      that run on the POWER2 hardware platforms.
>                 pwrx
>                      Equivalent to pwr2.
>                 pwr3
>                      Produces an object that contains instructions
>                      that run on the POWER3, POWER4, POWER5,
>                      POWER5+ or PowerPC 970 hardware platforms.
>                 pwr4
>                      Produces an object that contains instructions
>                      that run on the POWER4, POWER5, POWER5+ or
>                      PowerPC 970 hardware platforms.
>                 pwr5
>                      Produces an object that contains instructions
>                      that run on the POWER5 or POWER5+ hardware
>                      platforms.
>                 pwr5x
>                      Produces an object that contains instructions
>                      that run on any POWER5+ hardware platform.
>                 rs64a
>                      Produces an object that contains instructions
>                      that run on an RS64I hardware platform.
>                 rs64b
>                      Produces an object that contains instructions
>                      that run on an RS64II hardware platform.
>                 rs64c
>                      Produces an object that contains instructions
>                      that run on an RS64III hardware platform.
>                 601
>                      Produces an object that contains instructions
>                      that run on PowerPC 601 systems.
>                 603
>                      Produces an object that contains instructions
>                      that run on PowerPC 603 systems.
>                 604
>                      Produces an object that contains instructions
>                      that run on PowerPC 604 systems.
>                 ppc970
>                      Generates instructions specific to PowerPC 970
>                      processors.
>                 ppc64v
>                      Generates instructions for any 64-bit PowerPC
>                      processor (like PowerPC 970) with VMX.
> 
>                 The default is -qarch=com.
> 
>          -qassert=<suboptions_list>
>                 Provides information about the program to help
>                 fine-tune optimizations. <suboptions_list> is a
>                 colon-separated list of one or both of the
>                 following suboptions:
> 
>                 deps | nodeps
>                      Loops can contain loop-carried dependencies.
>                 itercnt=<n>
>                      The iteration count of a typical loop is <n>.
> 
>                 The default is -qassert=deps:itercnt=1024.
> 
>          -qcache=<suboptions_list>
>                 Specifies the cache configuration for a specific
>                 execution machine. <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 assoc=<n>
>                      Specifies the set-associativity of the cache:
>                      0   = Directly-mapped
>                      1   = Fully associative
>                      (n > 1) = <n>-way set-associative
>                 auto
>                      Automatically detects the specific cache
>                      configuration of the compiling machine. It
>                      assumes that the execution environment will be
>                      the same as the compilation environment.
>                 cost=<cycles>
>                      Specifies the performance penalty resulting
>                      from a cache miss.
>                 level=<level>
>                      Specifies which level of cache is affected:
>                      1 = Basic cache
>                      2 = Level-2 cache, or the table lookaside
>                      buffer (TLB) if the machine has no level-2
>                      cache
>                      3 = TLB, in a machine that does have a level-2
>                      cache
>                 line=<bytes>
>                      Specifies the line size of the cache.
>                 size=<Kbytes>
>                      Specifies the total size of the cache.
>                 type=<type>
>                      Specifies the type of cache that the settings
>                      apply to:
>                      C or c = Combined data and instruction cache
>                      D or d = Data cache
>                      I or i = Instruction cache
> 
>                 The default is determined by the -qtune and -qarch
>                 settings.
> 
>          -qcompact | -qnocompact
>                 Reduces optimizations that increase code size.  The
>                 default is -qnocompact.
> 
>          -qdirectstorage | -qnodirectstorage
>                 Specifies that a compilation unit might reference
>                 write-through-enabled or cache-inhibited storage.
>                 The default is -qnodirectstorage.
> 
>          -qenablevmx | -qnoenablevmx
>                 Enables generation of Vector Multimedia Extension
>                 (VMX) instructions.  The default is -qnoenablevmx.
> 
>          -qessl | -qnoessl
>                 Allows the use of the Engineering and Scientific
>                 Subroutine Library (ESSL) routines in place of
>                 Fortran 90 intrinsic procedures.  The default is
>                 -qnoessl.
> 
>          -qfdpr | -qnofdpr
>                 Provides object files with information that the AIX
>                 Feedback Directed Program Restructuring (fdpr)
>                 performance-tuning utility needs to optimize the
>                 resulting executable file.  The default is
>                 -qnofdpr.
> 
>          -qhot[=<suboptions>] | -qnohot
>                 Performs high-order loop analysis and
>                 transformations during optimization. This option is
>                 a powerful alternative to hand-tuning that provides
>                 opportunities to optimize loops and array language.
>                 The suboptions are:
> 
>                 arraypad[=<n>]
>                      When <n> is specified, the compiler will pad
>                      every array in the code. The pad amount must
>                      be a positive integer value. When <n> is not
>                      specified, the compiler will pad any arrays
>                      where it infers that there may be a benefit.
>                 level={0|1}
>                      Specifies the level of high-order
>                      transformation to perform during compilation.
>                      At level=1, full high-order transformation is
>                      performed, but at level=0 only a subset of the
>                      high-order transformations are performed,
>                      which reduces compile time. See the XL Fortran
>                      Compiler Reference for more information.
>                 simd | nosimd
>                      Converts certain operations in a loop that
>                      apply to successive elements of an array into
>                      a VMX (Vector Multimedia Extension)
>                      instruction.  If you specify -qhot=nosimd, the
>                      compiler performs optimizations on loops and
>                      arrays, but avoids replacing certain code with
>                      VMX instructions.
>                 vector | novector
>                      Specifies whether to allow the compiler to
>                      optimize by replacing code with calls to
>                      vector library routines.  Only takes effect
>                      when specified with -qnostrict or -O3 or
>                      higher optimization level.
> 
>                 The default is -qnohot. If -qhot is specified
>                 without parameters, the default is -qhot=vector.
> 
>          -qipa[=<suboptions_list>] | -qnoipa
>                 Enhances -O optimization by performing detailed
>                 analysis across procedures. Optimization level -O2
>                 or higher is required when using -qipa.
>                 <suboptions_list> is a colon-separated list of
>                 suboptions. Regular expressions are supported when
>                 specifying <procedure_names_list> in the following
>                 -qipa suboptions: exits, inline, noinline, lowfreq,
>                 pure, safe, and unknown. <procedure_names_list> is
>                 a comma-separated list. The suboptions are:
> 
>                 exits=<procedure_names_list>
>                      Specifies a selected set of procedures which
>                      always end the program.
>                 clonearch=<architecture_list> | noclonearch
>                      Allows you to specify multiple architectures
>                      in the event that you want to compile your
>                      application for multiple architectures with a
>                      single binary file. <architecture_list> is a
>                      comma-separated list of one or more of the
>                      following architectures: pwr4, pwr5, ppc970,
>                      and pwr5x. This must be specified during link
>                      time.  The default is noclonearch.
>                 cloneproc=<names_list> | nocloneproc=<names_list>
>                      Allows you to explicitly declare which
>                      procedures the compiler should attempt to
>                      clone. <names_list> is a comma-separated list
>                      of the mangled names of the functions that you
>                      wish to clone (or not clone). Please note that
>                      this suboption has no effect unless
>                      -qipa=clonearch=<arch> is specified. You can
>                      use regular expression syntax when specifying
>                      function names.  The default is nocloneproc.
>                 inline=<options_list>
>                      Specifies a colon-separated list of inline
>                      options, which are as follows:
>                      auto | noauto
>                           Specifies whether to automatically
>                           perform inline expansion.  The default is
>                           auto.
>                      limit=<n>
>                           Changes the size limits that the
>                           inline=auto option uses to determine how
>                           much inline expansion to do. <n> is the
>                           optimizers approximation of the number of
>                           bytes of code that will be generated.
>                      <procedure_names_list>
>                           Specifies the procedures to attempt to
>                           inline.
>                      threshold=<num>
>                           Specifies the upper size limit on
>                           procedures to inline. This argument is
>                           implemented only when inline=auto is on.
>                 noinline=<procedure_names_list>
>                      Specifies the procedures which are not to be
>                      inlined.
>                 isolated=<procedure_names_list>
>                      Specifies the procedures that are not compiled
>                      with -qipa and do not directly refer to any
>                      global variable.
>                 level=<level>
>                      Determines the amount of IPA analysis and
>                      optimization to perform:
>                      0
>                           Performs minimal inter-procedural
>                           analysis and optimization.
>                      1
>                           Turns on inlining, limited alias
>                           analysis, and limited call-site
>                           tailoring.
>                      2
>                           Full inter-procedural data flow and alias
>                           analysis.
>                      The default level is 1.
>                 list[={<filename>|short|long}]
>                      Specifies an output listing file name during
>                      the link phase, in the event that an object
>                      listing has been requested using the -qlist or
>                      -qipa=list option. The default name is
>                      "a.lst". Specifying 'long' or 'short'
>                      determines which listing sections will be
>                      included. The default is short.
>                 lowfreq=<procedure_names_list>
>                      Specifies the procedures that are likely to be
>                      called infrequently during the course of a
>                      typical program run.
>                 malloc16 | nomalloc16
>                      Instructs the compiler to assume that the
>                      dynamic memory allocation routines (such as
>                      malloc/calloc/realloc/new) will return 16-byte
>                      aligned memory addresses. The compiler will
>                      optimize based on this assumption. Note that
>                      if the assertion is false, incorrect results
>                      may be generated.  The default is 'malloc16'
>                      in 64-bit mode, and 'nomalloc16' otherwise.
>                 missing={unknown|safe|isolated|pure}
>                      Specifies the interprocedural behavior for
>                      procedures not compiled with -qipa.  The
>                      default is 'unknown'.
>                 object | noobject
>                      Includes standard object code in the object
>                      files. If the noobject option is specified, it
>                      can substantially reduce overall compilation
>                      time by not generating object code during the
>                      first IPA phase. The default is object. Note,
>                      this is a compile-time suboption.
>                 partition={small|medium|large}
>                      Specifies the size of the regions within the
>                      program to analyze. Larger partitions contain
>                      more procedures, which result in better
>                      interprocedural analysis but require more
>                      storage to optimize.  The default is medium.
>                 pdfname=<filename>
>                      Specifies the name of the profile data file
>                      that contains the PDF profiling information.
>                      The default filename is __pdf.
>                 pure=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure that you
>                      specified as "pure" must be "isolated" and
>                      "safe". It must not alter the internal state
>                      nor have side-effects, which are defined as
>                      potentially altering any data object visible
>                      to the caller.
>                 safe=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure that you
>                      specified as "safe" may modify global
>                      variables and dummy arguments.
>                 stdexits | nostdexits
>                      Specifies that certain predefined routines can
>                      be optimized as with the exits suboption. The
>                      procedures are abort, exit, _exit, and
>                      _assert.  The default is nostdexits.
>                 threads[=<n>] | nothreads
>                      Specifies the number of threads for the
>                      compiler to use. When <n> is not specified,
>                      the compiler decides the number of threads.
>                      Otherwise, up to <n> threads are used to
>                      invoke the compiler backend. Specifying
>                      'nothreads' is equivalent to running one
>                      serial process.
>                 unknown=<procedure_names_list>
>                      Specifies a list of procedures that are not
>                      compiled with -qipa. Any procedure specified
>                      as "unknown" may make calls to other parts of
>                      the program compiled with -qipa and modify
>                      global variables and dummy arguments.
> 
>                 Options intended for use by the link-time phase of
>                 -qipa are -qlibansi, -qlibessl, -qlibposix and
>                 -qthreaded.  The default is -qnoipa.
> 
>          -qkeepparm | -qnokeepparm
>                 Ensures that the incoming parameters are stored on
>                 the stack even when optimizing. This may negatively
>                 impact execution performance. This option then
>                 provides access to the values of incoming
>                 parameters to tools, such as debuggers, simply by
>                 preserving those values on the stack.  The default
>                 is -qnokeepparm.
> 
>          -qlargepage | -qnolargepage
>                 Indicates that a program, designed to execute in a
>                 large page memory environment, can take advantage
>                 of large 16 MB pages provided on POWER4 and higher
>                 based systems.  The default is -qnolargepage.
> 
>          -qlibansi | -qnolibansi
>                 Assumes that all functions with the name of an ANSI
>                 C defined library function are in fact the library
>                 functions.  The default is -qnolibansi.
> 
>          -qlibessl | -qnolibessl
>                 Assumes that all functions with the name of an ESSL
>                 defined library function are, in fact, the library
>                 functions.  The default is -qnolibessl.
> 
>          -qlibposix | -qnolibposix
>                 Assumes that all functions with the name of a POSIX
>                 1003.1 defined library function are, in fact, the
>                 system functions.  The default is -qnolibposix.
> 
>          -qmaxmem=<kbytes>
>                 Limits the amount of memory that the compiler
>                 allocates while performing specific, memory-
>                 intensive optimizations. If <kbytes> is -1, the
>                 compiler will take as much memory as it needs
>                 without checking for limits. The default is
>                 -qmaxmem=2048 when using optimization level -O2,
>                 and -qmaxmem=-1 when using -O3 or greater.
> 
>          -qoptimize[=<level>] | -qnooptimize
>                 The long form of the -O option. -qoptimize=<level>
>                 is equivalent to -O<level>. See the -O option.  The
>                 default is -qnooptimize.
> 
>          -qpdf1 Produces an object that is instrumented to collect
>                 run-time execution information. This is phase 1 of
>                 the profile-directed feedback optimization process.
> 
>          -qpdf2 Tunes application performance using the data
>                 generated by running a program compiled with
>                 -qpdf1. This is phase 2 of the profile-directed
>                 feedback optimization process.
> 
>          -qprefetch | -qnoprefetch
>                 Automatically inserts prefetch instructions where
>                 the optimizer perceives a benefit.  The default is
>                 -qprefetch.
> 
>          -qrecur | -qnorecur
>                 Not recommended. Allows external subprograms to be
>                 called recursively. For new programs, use the
>                 RECURSIVE keyword, which provides a standard-
>                 conforming way of using recursive procedures.  The
>                 default is -qnorecur.
> 
>          -qshowpdf | -qnoshowpdf
>                 Adds additional call and block count profiling
>                 information to an executable. This option is used
>                 together with the -qpdf1 option.  The default is
>                 -qnoshowpdf.
> 
>          -qsmallstack[=<suboption>] | -qnosmallstack
>                 Specifies that the compiler will minimize stack
>                 usage where possible. This option can take the
>                 form:
> 
>                 -qsmallstack
>                      Enables only general small stack
>                      transformations.
>                 -qsmallstack=dynlenonheap
>                      Asserts that automatic variables which are
>                      dynamically-sized are allocated from the heap
>                      and enables general small stack
>                      transformations.
>                 -qsmallstack=nodynlenonheap
>                      Disables dynamic-length variable allocation.
>                 -qnosmallstack
>                      Disables only the general small stack
>                      transformations.
> 
>                 The default is -qnosmallstack.
> 
>          -qsmp[=<suboptions_list>] | -qnosmp
>                 Specifies that code should be produced for an SMP
>                 system.  <suboptions_list> is a colon-separated
>                 list of one or more of the following suboptions:
> 
>                 auto | noauto
>                      Enables automatic parallelization.
>                 nested_par | nonested_par
>                      Specifies that prescriptive nested parallel
>                      constructs should be parallelized by the
>                      compiler.
>                 omp | noomp
>                      Enforces compliance with the OpenMP Fortran
>                      API.
>                 opt | noopt
>                      Controls optimization for parallelization.
>                      -qsmp=noopt specifies that the compiler should
>                      do the least amount of optimization that is
>                      required to parallelize the code and preserve
>                      maximum debugability.
>                 rec_locks | norec_locks
>                      Allows recursive locks to be used to avoid
>                      problems associated with CRITICAL constructs.
>                      If -qsmp=norec_locks is specified, recursive
>                      locks will not be used to implement critical
>                      sections.
>                 schedule=<suboptions>
>                      The schedule suboption can take any of the
>                      following sub-suboptions:
>                      affinity[=<n>]
>                      dynamic[=<n>]
>                      guided[=<n>]
>                      runtime
>                      static[=<n>]
>                      For their descriptions, refer to the XL
>                      Fortran Compiler Reference.
>                 threshold=<n>
>                      Controls the amount of automatic loop
>                      parallelization that occurs. The value of <n>
>                      represents the lower limit allowed for
>                      parallelization of a loop, based on the level
>                      of "work" present in a loop.
> 
>                 The default is -qnosmp.  If you specify -qsmp
>                 without suboptions, the default suboptions are:
>                 auto, opt, noomp, norec_locks, nonested_par,
>                 schedule=runtime, and threshold=100.
> 
>          -qspillsize=<bytes>
>                 The long form of -NS. See the -NS option.  The
>                 default is -qspillsize=512.
> 
>          -qstacktemp=<num>
>                 Determines where to allocate applicable compiler
>                 temporaries at run time. The allocation depends on
>                 the value of <num>. The values are:
> 
>                 0
>                      Indicates that the compiler will decide
>                      whether to allocate the applicable compiler
>                      temporaries on the heap or the stack.
>                 -1
>                      Indicates that applicable compiler temporaries
>                      are to be always allocated on the stack. This
>                      is the best-performing setting but uses the
>                      most amount of stack storage.
>                 (1 or greater)
>                      Indicates that applicable compiler temporaries
>                      less than this value (bytes) should be
>                      allocated on the stack and those greater than
>                      or equal to this value should be allocated on
>                      the heap.
> 
>                 The default is -qstacktemp=0.
> 
>          -qstrict | -qnostrict
>                 Ensures that optimizations done by the -O3 and
>                 greater (and optionally -O2) options do not alter
>                 the semantics of a program. This option is ignored
>                 for -qnoopt.  For -O3 and greater, the default is
>                 -qnostrict. Otherwise the default is -qstrict.
> 
>          -qstrict_induction | -qnostrict_induction
>                 Prevents the compiler from performing induction
>                 (loop counter) variable optimizations that could
>                 alter the semantics of a program.  The default is
>                 -qnostrict_induction.
> 
>          -qthreaded
>                 Asserts that the compiler will generate thread-safe
>                 code when generating its own code or allocating
>                 compiler-created temporary data. User-written code
>                 that is algorithmically not thread-safe is
>                 unaffected by this option and will remain non-
>                 thread-safe. The default is -qthreaded when using
>                 xlf_r, xlf_r7, xlf90_r, xlf90_r7, xlf95_r, or
>                 xlf95_r7 invocation commands.
> 
>          -qtune=<suboption>
>                 Tunes instruction selection, scheduling, and other
>                 implementation-dependent performance enhancements
>                 for a specific implementation of a hardware
>                 architecture.  -qtune will not alter the ability of
>                 a program to run on a processor but will produce
>                 optimal code sequences tuned to a particular
>                 processor.  The suboptions are:
> 
>                 auto
>                      Automatically detects the specific processor
>                      type of the compiling machine and produces an
>                      object optimized for that processor.
>                 601
>                      Produces an object optimized for all the
>                      PowerPC 601 processors.
>                 603
>                      Produces an object optimized for all the
>                      PowerPC 603 processors.
>                 604
>                      Produces an object optimized for all the
>                      PowerPC 604 processors.
>                 pwr
>                      Produces an object optimized for the POWER
>                      hardware platforms.
>                 p2sc
>                      The optimizations are tuned for the POWER2
>                      Super Chip.
>                 pwr2
>                      Produces an object optimized for the POWER2
>                      hardware platforms.
>                 pwrx
>                      This is equivalent to pwr2.
>                 pwr2s
>                      The optimizations are tuned for the desktop
>                      implementation of the POWER2 architecture,
>                      which has a narrower processor-to-memory bus
>                      than other POWER2 implementations.
>                 pwr3
>                      Produces an object optimized for the POWER3
>                      hardware platforms.
>                 pwr4
>                      Produces an object optimized for the POWER4
>                      hardware platforms.
>                 pwr5
>                      Produces an object optimized for the POWER5
>                      hardware platforms.
>                 rs64a
>                      Produces an object optimized for the RS64I
>                      processor.
>                 rs64b
>                      Produces an object optimized for the RS64II
>                      processor.
>                 rs64c
>                      Produces an object optimized for the RS64III
>                      processor.
>                 ppc970
>                      Produces an object optimized for PowerPC 970
>                      processors.
> 
>                 The compiler uses -qtune setting that is compatible
>                 with the target architecture, which is controlled
>                 by the -qarch, -q32, and -q64 options.  The default
>                 setting is determined by the setting of -qarch.
> 
>          -qunroll[={auto|yes}] | -qnounroll
>                 Specifies whether unrolling DO loops is allowed in
>                 a program. Unrolling is allowed on outer and inner
>                 DO loops.  The suboptions are:
> 
>                 auto
>                      The compiler performs basic loop unrolling.
>                 yes
>                      The compiler looks for more opportunities to
>                      perform loop unrolling than is done with the
>                      -qunroll=auto option. Specifying -qunroll with
>                      no suboptions is equivalent to -qunroll=yes.
> 
>                 The default is -qunroll=auto.
> 
>          -qunwind | -qnounwind
>                 Specifies that the compiler will preserve the
>                 default behavior for saves and restores to volatile
>                 registers during a procedure call.  If you specify
>                 -qnounwind, the compiler rearranges subprograms to
>                 minimize saves and restores to volatile registers.
>                 This rearrangement may make it impossible for the
>                 program or debuggers to walk through or "unwind"
>                 subprogram stack frame chains.  The default is
>                 -qunwind.
> 
>          -qvecnvol | -qnovecnvol
>                 Asserts that the compiled application will use both
>                 volatile and non-volatile vector registers. You
>                 should use this option only after understanding
>                 interoperability with old binaries. If you are
>                 compiling C/C++ code in Fortran which calls any of
>                 the following subroutines: setjmp(),longjmp(),
>                 sigsetjmp(), siglongjmp(), _setjmp(), _longjmp(),
>                 getcontext(), setcontext(), makecontext(), and
>                 swapcontext(), then you should set -qnovecnvol.
>                 bos.adt.include version 5.3.0.30 or greater should
>                 be installed to use -qvecnvol on the host system.
>                 The default is -qnovecnvol.
> 
>          -qzerosize | -qnozerosize
>                 Improves performance of Fortran 77 and some Fortran
>                 90 and Fortran 95 programs by preventing checking
>                 for zero-sized character strings and arrays.
>                 For the xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r,
>                 xlf95_r7, f90, and f95 commands, the default is
>                 -qzerosize.  For the xlf, xlf_r, xlf_r7, f77, and
>                 fort77 commands, the default is -qnozerosize.
> 
>   Error Checking and Debugging Options
>          -C     Checks each reference to an array element, array
>                 section, or character substring for correctness.
>                 This is the short form of -qcheck.
> 
>          -D     Specifies whether the compiler compiles fixed
>                 source form lines with a D in column 1 or treats
>                 them as comments. Please note that in order to pass
>                 C-style -D macro definitions to the C preprocessor
>                 (e.g. compiling a file that ends with .F) use the
>                 -W option. For example:
>                 -WF,-DDEFINE_THIS
>                 -D is the short form of -qdlines.
> 
>          -g     Generates debug information for use by a symbolic
>                 debugger.
> 
>          -qcheck | -qnocheck
>                 The long form of the -C option. See -C for details.
>                 The default is -qnocheck.
> 
>          -qdbg | -qnodbg
>                 The long form of the -g option. See -g for details.
>                 The default is -qnodbg.
> 
>          -qdpcl | -qnodpcl
>                 Generates symbols that tools based on the Dynamic
>                 Probe Class Library (DPCL) API can use to see the
>                 structure of an executable file. You must also
>                 specify the -g option when you specify -qdpcl.
>                 This option has no effect when optimization (-O) is
>                 enabled. The default is -qnodpcl.
> 
>          -qextchk | -qnoextchk
>                 Sets up type-checking information for common
>                 blocks, procedure definitions, procedure
>                 references, and module data. Later, the linker can
>                 detect mismatches across compilation units using
>                 this information.  The default is -qnoextchk.
> 
>          -qflttrap[=<suboptions_list>] | -qnoflttrap
>                 Determines what types of floating-point exception
>                 conditions to detect at run time. The program
>                 receives a SIGTRAP signal when the corresponding
>                 exception occurs.  <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 enable
>                      Turn on checking for the specified exceptions
>                      in the main program so that the exceptions
>                      generate SIGTRAP signals.
>                 imprecise
>                      Only check for the specified exceptions on
>                      subprogram entry and exit.
>                 inexact
>                      Detect and trap on floating-point inexact, if
>                      exception checking is enabled.
>                 invalid
>                      Detect and trap on floating-point invalid
>                      operations.
>                 nanq
>                      Detect and trap all quiet not-a-number (NaNQ)
>                      values and signaling not-a-number (NaNS)
>                      values.
>                 overflow
>                      Detect and trap on floating-point overflow.
>                 underflow
>                      Detect and trap on floating-point underflow.
>                 zerodivide
>                      Detect and trap on floating-point division by
>                      zero.
> 
>                 The default is -qnoflttrap. When -qflttrap is
>                 specified with no suboptions, the default activated
>                 suboptions are: overflow, underflow, zerodivide,
>                 invalid, and inexact.
> 
>          -qfullpath | -qnofullpath
>                 Records the full (or absolute) path names of source
>                 and include files in object files compiled with
>                 debugging information (-g option).  The default is
>                 -qnofullpath.
> 
>          -qhalt=<sev>
>                 Stops before producing any object, executable, or
>                 assembler source files if the maximum severity of
>                 compile-time messages equals or exceeds the
>                 specified severity <sev>, where the severity levels
>                 are:
> 
>                 i = informational messages
>                 l = language-level messages
>                 w = warning messages
>                 e = error messages
>                 s = severe error messages
>                 u = unrecoverable error messages
>                 q = no messages
> 
>                 The default is -qhalt=s.
> 
>          -qinitauto[=<hex_value>] | -qnoinitauto
>                 Initializes each byte or word (4 bytes) of storage
>                 for automatic variables to a specific value,
>                 depending on the length specified in <hex_value>.
>                 This helps you to locate variables that are
>                 referenced before they are defined. <hex_value> is
>                 a 1 to 8 digit hexadecimal number.  The default is
>                 -qnoinitauto. If you specify -qinitauto without a
>                 <hex_value>, the compiler initializes the value of
>                 each byte of automatic storage to zero. This option
>                 should be used for debugging purposes only.
> 
>          -qlanglvl=<suboption>
>                 Determines which language standard (or
>                 subset/superset of a standard) to check against for
>                 nonconformance. This option will only produce
>                 messages; all code valid in extended mode will
>                 compile regardless of which suboption is specified.
>                 The suboptions are:
> 
>                 77std
>                      Accepts the language specified by the ANSI
>                      Fortran 77 standard.
>                 90std
>                      Accepts the language specified by the ISO
>                      Fortran 90 standard.
>                 90pure
>                      Same as 90std, except that it reports errors
>                      for any obsolescent Fortran 90 features used.
>                 90ext
>                      Obsolete suboption that is equivalent to
>                      extended.
>                 95std
>                      Accepts the language specified by the ISO
>                      Fortran 95 standard.
>                 95pure
>                      Same as 95std, except that it also reports
>                      errors for any obsolescent Fortran 95 features
>                      used.
>                 2003std
>                      Accepts the language that the ISO Fortran 95
>                      standard specifies, as well as all Fortran
>                      2003 features supported by XL Fortran, and
>                      reports anything else as an error.
>                 2003pure
>                      The same as 2003std except that it also
>                      reports errors for any obsolescent Fortran
>                      2003 features used.
>                 extended
>                      Accepts the full Fortran 95 language standard,
>                      all Fortran 2003 features supported by XL
>                      Fortran, and all extensions, effectively
>                      turning off language-level checking.
> 
>                 The default is -qlanglvl=extended.
> 
>          -qlinedebug | -qnolinedebug
>                 Generates line number and source file name
>                 information for the debugger. This option produces
>                 minimal debugging information, so the resulting
>                 object size is smaller than what is produced if the
>                 -g debugging option is specified. The default is
>                 -qnolinedebug.
> 
>          -qobject | -qnoobject
>                 Specifies whether to produce an object file or to
>                 stop immediately after checking the syntax of the
>                 source files.  The default is -qobject.
> 
>          -qsaa | -qnosaa
>                 Checks for conformance to the SAA Fortran language
>                 definition. It identifies nonconforming source code
>                 and also options that allow such nonconformances.
>                 The default is -qnosaa.
> 
>          -qsaveopt | -qnosaveopt
>                 Saves the command-line options used for compiling a
>                 source file, and other information, in the
>                 corresponding object file. The compilation must
>                 produce an object file for this option to take
>                 effect.  The default is -qnosaveopt.
> 
>          -qsigtrap[=<trap_handler>]
>                 When you are compiling a file that contains a main
>                 program, this option sets up the specified trap
>                 handler to catch SIGTRAP exceptions. This option
>                 enables you to install a handler for SIGTRAP
>                 signals without calling the SIGNAL subprogram in
>                 the program. Specifying -qsigtrap with no
>                 <trap_handler> is equivalent to -qsigtrap=xl__trce.
> 
>          -qtbtable=<suboption>
>                 Limits the amount of debugging traceback
>                 information in object files, which reduces the size
>                 of the program. The suboptions are:
> 
>                 none
>                      Includes no traceback information.
>                 small
>                      Includes traceback information but not the
>                      names of procedures or information about
>                      procedure parameters.
>                 full
>                      Includes complete traceback information.
> 
>                 The default is full traceback information in the
>                 object file when compiling non-optimized (without
>                 -O) or for debugging (with -g).  Otherwise, the
>                 default is -qtbtable=small.
> 
>          -qwarn64 | -qnowarn64
>                 Assists in porting code from a 32-bit environment
>                 to a 64-bit environment by detecting the truncation
>                 of an 8-byte integer pointer to 4 bytes. The
>                 -qwarn64 option uses informational messages to
>                 identify statements that may cause problems with
>                 the 32-bit to 64-bit migration.  The default is
>                 -qnowarn64.
> 
>          -qxflag=<suboption>
>                 Specifies rarely-needed compiler behaviors.  The
>                 suboptions are:
> 
>                 oldtab
>                      For fixed source form programs, interprets a
>                      tab in columns 1 to 5 as a single character.
>                      The source statement still starts immediately
>                      after the tab, but the tab character is
>                      treated as a single character for counting
>                      columns. This setting allows up to 71
>                      characters of input, depending on where the
>                      tab character occurs.
>                 dvz
>                      Specifying -qxflag=dvz causes the compiler to
>                      generate code to detect floating-point
>                      divide-by-zero operations. With this option
>                      on, the extra code calls the external handler
>                      function __xl_dzx when the divisor is zero.
>                 xalias
>                      This is obsolete. Please use -qalias=nostd in
>                      your new applications.
> 
>          -qxlines | -qnoxlines
>                 Specifies whether fixed source form lines with a X
>                 in column 1 are compiled or treated as comments.
>                 The default is -qnoxlines.
> 
>   Listing and Message Options
>          -#     Generates information on the progress of the
>                 compilation without actually running the individual
>                 components.
> 
>          -S     Produces one or more .s files, showing equivalent
>                 assembler source for each Fortran source file.
> 
>          -V     Generates information on the progress of the
>                 compilation. As the compiler executes commands to
>                 perform different compilation steps, this option
>                 displays a simulation of the commands it calls and
>                 the system argument lists it passes. This is the
>                 same as -v except that you can cut and paste
>                 directly from the display to create a command.
> 
>          -v     Generates information on the progress of the
>                 compilation. As the compiler executes commands to
>                 perform different compilation steps, this option
>                 displays a simulation of the commands it calls and
>                 the system argument lists it passes.
> 
>          -w     Suppresses informational, language-level, and
>                 warning messages. This option sets -qflag=e:e.
> 
>          -qattr[=full] | -qnoattr
>                 Specifies whether to produce the attribute
>                 component of the attribute and cross-reference
>                 section of the listing.  The listing contains all
>                 identifiers (-qattr=full) or only the names that
>                 are referenced (-qattr).  The default is -qnoattr.
> 
>          -qflag=<listing_severity>:<terminal_severity>
>                 Specifies the minimum severity level of diagnostic
>                 messages to be written to the listing file and to
>                 the user terminal. <listing_severity> determines
>                 the minimum level for the listing file, and
>                 <terminal_severity> determines the minimum level
>                 for the terminal.  The severity levels are:
> 
>                 i = informational messages
>                 l = language-level messages
>                 w = warning messages
>                 e = error messages
>                 s = severe error messages
>                 u = unrecoverable error messages
>                 q = no messages
> 
>                 Note that both <listing_severity> and
>                 <terminal_severity> must be specified.  The default
>                 is -qflag=i:i.
> 
>          -qlist[={offset|nooffset}] | -qnolist
>                 Produces a compiler listing that includes an object
>                 listing. You can use the object listing to help
>                 understand the performance characteristics of the
>                 generated code and to diagnose execution problems.
>                 Specifying -qlist with no suboptions is equivalent
>                 to specifying -qlist=nooffset.  The default is
>                 -qnolist.
> 
>          -qlistopt | -qnolistopt
>                 Determines whether to show the setting of every
>                 compiler option in the listing file or only
>                 selected options. These selected options include
>                 those specified on the command line or directives
>                 plus some that are always put in the listing.  The
>                 default is -qnolistopt.
> 
>          -qnoprint
>                 Prevents the compiler from creating the listing
>                 file, regardless of the settings of other listing
>                 options.
> 
>          -qphsinfo | -qnophsinfo
>                 Determines whether timing information is displayed
>                 on the terminal for each compiler phase.  The
>                 output takes the form <number1>/<number2> for each
>                 phase where <number1> represents the CPU time used
>                 by the compiler and <number2> represents the total
>                 of the compiler time and the time that the CPU
>                 spends handling system calls.  The default is
>                 -qnophsinfo.
> 
>          -qreport[=<suboptions>] | -qnoreport
>                 Determines whether to produce transformation
>                 reports showing how the program is parallelized and
>                 how loops are optimized.  The suboptions are:
> 
>                 hotlist
>                      Produces a report showing how loops are
>                      transformed.
>                 smplist
>                      Produces a report showing how the program is
>                      parallelized.
> 
>                 The default is -qnoreport.
> 
>          -qsource | -qnosource
>                 Determines whether to produce the source section of
>                 the listing.  The default is -qnosource.
> 
>          -qsuppress[={<msg_nums_list>|cmpmsg}] | -qnosuppress
>                 Determines which messages to suppress from the
>                 output stream.  The suboptions are:
> 
>                 <msg_nums_list>
>                      A colon-separated list of 7-digit compiler
>                      message numbers.
>                 cmpmsg
>                      Suppresses the informational messages that
>                      report compilation progress and a successful
>                      completion.
> 
>                 The default is -qnosuppress.
> 
>          -qversion
>                 Displays the version and release of the invoking
>                 compiler. Specify this option on its own with the
>                 compiler command.
> 
>          -qxref[=full] | -qnoxref
>                 Determines whether to produce the cross-reference
>                 component of the attribute and cross-reference
>                 section of the listing.  If you specify only
>                 -qxref, only identifiers that are used are
>                 reported. If you specify -qxref=full, the listing
>                 contains information about all identifiers that
>                 appear in the program, whether they are used or
>                 not.  The default is -qnoxref.
> 
>   Compatibility Options
>          -1     Executes each DO loop in the compiled program at
>                 least once if its DO statement is executed, even if
>                 the iteration count is 0. This option provides
>                 compatibility with Fortran 66. The default is to
>                 follow the behavior of later Fortran standards,
>                 where DO loops are not performed if the iteration
>                 count is 0. This is the short form of the -qonetrip
>                 option.
> 
>          -u     Specifies that no implicit typing of variable names
>                 is permitted. It has the same effect as using the
>                 IMPLICIT NONE statement in each scope that allows
>                 implicit statements. By default, implicit typing is
>                 allowed.
> 
>          -qautodbl=<setting>
>                 Converts single-precision floating-point
>                 calculations to double-precision or converts
>                 double-precision calculations to extended-
>                 precision.  <setting> can be:
> 
>                 none
>                      Does not promote or pad any objects that share
>                      storage.
>                 dbl4
>                      Promotes floating-point objects that are
>                      single precision or are composed of such
>                      objects.
>                 dbl8
>                      Promotes floating-point objects that are
>                      double-precision or are composed of such
>                      objects.
>                 dbl
>                      Combines the promotions done by dbl4 and dbl8.
>                 dblpad4
>                      Performs the same promotions as dbl4, and pads
>                      objects of other types (except CHARACTER) that
>                      can share storage with promoted objects.
>                 dblpad8
>                      Performs the same promotions as dbl8, and also
>                      pads objects of other types (except CHARACTER)
>                      if they can share storage with promoted
>                      objects.
>                 dblpad
>                      Combines the promotions done by dbl4 and dbl8,
>                      and also pads objects of other types (except
>                      CHARACTER) if they can share storage with
>                      promoted objects.
> 
>                 The default is -qautodbl=none.
> 
>          -qcclines | -qnocclines
>                 Enables recognition of conditional compilation
>                 lines in fixed source form and F90 free source
>                 form. IBM free source form is not supported.  The
>                 default is -qcclines if -qsmp=omp is specified.
>                 Otherwise, the default is -qnocclines.
> 
>          -qctyplss[={arg|noarg}] | -qnoctyplss
>                 Specifies whether character constant expressions
>                 are allowed wherever typeless constants may be
>                 used. Specifying -qctyplss=arg allows character
>                 constant expressions, but if a Hollerith constant
>                 is used as an actual argument, it is passed to the
>                 procedure as if it was an integer actual argument.
>                 The default is -qnoctyplss. If -qctypless is
>                 specified with no suboption, the default is
>                 -qctyplss=noarg.
> 
>          -qddim | -qnoddim
>                 Specifies that the bounds of pointee arrays are
>                 re-evaluated each time the arrays are referenced
>                 and removes some restrictions on the bounds
>                 expressions for pointee arrays.  The default is
>                 -qnoddim.
> 
>          -qdpc[=<e>] | -qnodpc
>                 Increases the precision of real constants, for
>                 maximum accuracy, when assigning real constants to
>                 DOUBLE PRECISION variables. -qdpc=<e> also promotes
>                 constants with an <e> exponent.  The default is
>                 -qnodpc.
> 
>          -qescape | -qnoescape
>                 Specifies whether the backslash is treated as an
>                 escape character in character strings, Hollerith
>                 constants, H edit descriptors, and character string
>                 edit descriptors.  The default is -qescape.
> 
>          -qextern=<procedure_names_list>
>                 Allows user-written procedures to be called instead
>                 of XL Fortran intrinsics. <procedure_names_list> is
>                 a colon-separated list of procedure names.  The
>                 procedure names are treated as if they appear in an
>                 EXTERNAL statement in each compilation unit being
>                 compiled.
> 
>          -qextname[=<names_list>] | -qnoextname
>                 Adds an underscore to the names of all global
>                 entities, which helps in porting programs from
>                 systems where this is a convention for mixed-
>                 language programs. <names_list> is a colon-
>                 separated list of global entity names.  The default
>                 is -qnoextname.
> 
>          -qinit=f90ptr
>                 Makes the initial association status of pointers
>                 disassociated instead of undefined. The default
>                 association status of pointers is undefined.
> 
>          -qintlog | -qnointlog
>                 Allows mixture of integer and logical data entities
>                 in expressions and statements. The default is
>                 -qnointlog.
> 
>          -qintsize={2|4|8}
>                 Sets the size (in bytes) of default INTEGER and
>                 LOGICAL data entities (that is, those for which no
>                 length or kind is specified).  The default is
>                 -qintsize=4.
> 
>          -qlog4 | -qnolog4
>                 Specifies whether the result of a logical operation
>                 with logical operands is a LOGICAL(4) or is a
>                 LOGICAL with the maximum length of the operands.
>                 The default is -qnolog4.
> 
>          -qmodule=mangle81
>                 Specifies that the compiler should use the XL
>                 Fortran Version 8.1 naming convention for non-
>                 intrinsic module files. This option allows you to
>                 produce modules and their associated object files
>                 with the Version 10.1 compiler and link these
>                 object files with others compiled with the Version
>                 8.1 compiler, or earlier.
> 
>          -qnullterm | -qnonullterm
>                 Appends a null character to each character constant
>                 expression that is passed as a dummy argument, to
>                 make it more convenient to pass strings to C
>                 functions. The default is -qnonullterm.
> 
>          -qonetrip | -qnoonetrip
>                 The long form of the -1 option. See -1 for details.
>                 The default is -qnoonetrip.
> 
>          -qport=<suboption> | -qnoport
>                 Increases flexibility when porting programs to XL
>                 Fortran, providing a number of options to
>                 accommodate Fortran language extensions.  The
>                 suboptions are:
> 
>                 clogicals | noclogicals
>                      Allows non-zero integers to be treated as true
>                      when used as logicals. The change affects all
>                      logical operators. This suboption only takes
>                      effect if -qintlog is activated.  The default
>                      is noclogicals.
>                 hexint | nohexint
>                      Specifies that typeless constant hexadecimal
>                      strings are converted to integers when passed
>                      as actual arguments to the INT intrinsic
>                      function. Typeless constant hexadecimal
>                      strings which are not passed as actual
>                      arguments to INT remain unaffected.  The
>                      default is nohexint.
>                 mod | nomod
>                      Relaxes existing constraints on the MOD
>                      intrinsic function, allowing two arguments of
>                      the same data type parameter to be of
>                      different kind type parameters. The result
>                      will be of the same type as the argument, but
>                      with the larger kind type parameter value.
>                      The default is nomod.
>                 nullarg | nonullarg
>                      For an external or internal procedure
>                      reference, this causes the compiler to treat
>                      an empty argument (which is delimited by a
>                      left parenthesis and a comma, two commas, or a
>                      comma and a right parenthesis) as a null
>                      argument. This suboption has no effect if the
>                      argument list is empty.  The default is
>                      nonullarg.
>                 sce | nosce
>                      By default, the compiler performs short
>                      circuit evaluation in selected logical
>                      expressions using XL Fortran rules. Specifying
>                      'sce' allows the compiler to use non-XL
>                      Fortran rules. The compiler will perform short
>                      circuit evaluation if the current rules allow
>                      it.  The default is nosce.
>                 typestmt | notypestmt
>                      The TYPE statement, which behaves in a manner
>                      similar to the PRINT statement, is supported
>                      whenever this option is specified. The default
>                      is notypestmt.
>                 typlssarg | notyplssarg
>                      Converts all typeless constants to default
>                      integers if the constants are actual arguments
>                      to an intrinsic procedure whose associated
>                      dummy arguments are of integer type. Dummy
>                      arguments associated with typeless actual
>                      arguments of non-integer type remain
>                      unaffected by this option.  The default is
>                      notyplssarg.
> 
>                 The default is -qnoport.
> 
>          -qposition={appendold|appendunknown}
>                 Positions the file pointer at the end of the file
>                 when data is written after an OPEN statement with
>                 no "POSITION=" specifier, and the corresponding
>                 "STATUS=" value (OLD or UNKNOWN) is specified.  The
>                 default depends on the I/O specifiers in the OPEN
>                 statement and on the compiler invocation command.
>                 The default is -qposition=appendold for the xlf,
>                 xlf_r, xlf_r7, and f77/fort77 commands and the
>                 defined Fortran 90 and Fortran 95 behaviors for the
>                 xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r, xlf95_r7,
>                 f90 and f95 commands.
> 
>          -qqcount | -qnoqcount
>                 Accepts the character-count Q edit descriptor (Q)
>                 as well as the extended-precision Q edit descriptor
>                 (Qw.d). With -qnoqcount, all Q edit descriptors are
>                 interpreted as the extended-precision Q edit
>                 descriptor.  The default is -qnoqcount.
> 
>          -qrealsize=<bytes>
>                 Sets the default size of REAL, DOUBLE PRECISION,
>                 COMPLEX and DOUBLE COMPLEX values. The allowed
>                 values for <bytes> are 4 and 8.  The default is
>                 -qrealsize=4.
> 
>          -qsave[=<suboption>] | -qnosave
>                 Specifies the default storage class for local
>                 variables.  The suboptions are:
> 
>                 all
>                      The default storage class for all local
>                      variables is STATIC. This is the default when
>                      -qsave is specified without a suboption.
>                 defaultinit
>                      The default storage class is STATIC for local
>                      variables of derived type that have default
>                      initialization specified.
> 
>                 Specifying -qnosave sets the default storage class
>                 to AUTOMATIC.  The default is -qsave for xlf,
>                 xlf_r, xlf_r7, f77, or fort77 to duplicate the
>                 behavior of FORTRAN77 commands, and -qnosave
>                 otherwise.
> 
>          -qsclk[=<suboption>]
>                 Specifies the resolution that the SYSTEM_CLOCK
>                 intrinsic procedure uses in a program.  The
>                 suboptions are:
> 
>                 centi
>                      Uses centisecond resolution for the values
>                      returned.
>                 micro
>                      Uses microsecond resolution.
> 
>                 The default is -qsclk=centi.
> 
>          -qswapomp | -qnoswapomp
>                 Specifies that the compiler should recognize and
>                 substitute OpenMP routines in XL Fortran programs.
>                 The default is -qswapomp.
> 
>          -qundef | -qnoundef
>                 The long form of the -u option. See -u for details.
>                 The default is -qnoundef.
> 
>          -qxlf77=<settings_list>
>                 Provides compatibility with Fortran 77 aspects of
>                 language semantics and I/O data format that have
>                 changed. Most of these changes are required by the
>                 Fortran 90 standard. <settings_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 blankpad | noblankpad
>                      For internal, direct-access, and stream-access
>                      files, uses a default setting equivalent to
>                      pad='no'. This setting produces conversion
>                      errors when reading from such a file if the
>                      format requires more characters than the
>                      record has, thus duplicating the XL Fortran
>                      Version 2 behavior.
>                 gedit77 | nogedit77
>                      Uses Fortran 77 semantics for the output of
>                      REAL objects with the G edit descriptor.
>                 intarg | nointarg
>                      Converts all the integer arguments of an
>                      intrinsic procedure to the kind of the longest
>                      argument, if they are of different kinds.
>                 intxor | nointxor
>                      Treats .XOR. as a logical binary intrinsic
>                      operator rather than a defined operator.
>                 leadzero | noleadzero
>                      Produces a leading zero in real output under
>                      the D, E, L, F and Q edit descriptors.
>                 oldboz | nooldboz
>                      Turns blanks into zeros for data read by B, O,
>                      and Z edit descriptors, regardless of the
>                      "BLANK=" specifier or any BN or BZ control
>                      edit descriptors.
>                 persistent | nopersistent
>                      Saves the addresses of arguments to
>                      subprograms with ENTRY statements in static
>                      storage.
>                 softeof | nosofteof
>                      Allows READ and WRITE operations when a unit
>                      is positioned after its endfile record, unless
>                      that position is the result of executing an
>                      ENDFILE statement.
> 
>                 The default suboptions are: blankpad, nogedit77,
>                 nointarg, nointxor, leadzero, nooldboz,
>                 nopersistent, and nosofteof for the f90, xlf90,
>                 xlf90_r, xlf90_r7, f95, xlf95, xlf95_r, and
>                 xlf95_r7 commands, and are the exact opposite for
>                 the xlf, xlf_r, xlf_r7, f77, and fort77 commands.
> 
>          -qxlf90=<settings_list>
>                 Provides backward compatibility with XL Fortran for
>                 AIX Version 5 and the Fortran 90 standard for
>                 certain aspects of the Fortran language.
>                 <settings_list> is a colon-separated list of one or
>                 both of the following suboptions:
> 
>                 signedzero | nosignedzero
>                      Determines how the SIGN(A,B) function handles
>                      signed real 0.0. Prior to XL Fortran Version
>                      6.1, SIGN(A,B) returned |A| when B=-0.0. This
>                      behavior conformed with the Fortran 90
>                      standard. Now, if you specify the
>                      -qxlf90=signedzero compiler option, SIGN(A,B)
>                      returns -|A| when B=-0.0. This behavior
>                      conforms to the Fortran 95 standard and is
>                      consistent with the IEEE standard for binary
>                      floating-point arithmetic.
>                 autodealloc | noautodealloc
>                      Determines whether the compiler deallocates
>                      allocatable objects that are declared locally
>                      without either the SAVE or the STATIC
>                      attribute and have a status of currently
>                      allocated when the subprogram terminates.
> 
>                 The default suboptions are signedzero and
>                 autodealloc for the xlf95, xlf95_r, xlf95_r7 and
>                 f95 invocation commands. For all other invocation
>                 commands, the default suboptions are nosignedzero
>                 and noautodealloc.
> 
>   Linking Options
>          -b64   The AIX operating system provides 64-bit shared
>                 object files in both libc.a and libm.a. In 64-bit
>                 mode, you can use the -b64 linker option to
>                 instruct ld to bind with 64-bit objects.
> 
>          -bdynamic, -bshared, -bstatic
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 This is available on AIX 4.2 and above.
> 
>                 -bdynamic
>                      Specifies that shared objects are linked
>                      dynamically.
>                 -bshared
>                      Equivalent to -bdynamic.
>                 -bstatic
>                      Specifies that shared objects are statically
>                      linked into the output file.
> 
>                 The default is -bdynamic.
> 
>          -bhalt:<error_level>
>                 Specifies the maximum error level that is allowed
>                 before the linker (ld) command halts. If any linker
>                 command has an error return value greater than the
>                 value that is specified by the <error_level>
>                 variable, linking stops.  The default value is 4,
>                 as specified in the configuration file.
> 
>          -bloadmap:<filename>
>                 Requests that a log of linker actions and messages
>                 be saved in file <filename>. You can use the log to
>                 help diagnose linking problems.
> 
>          -bmaxdata=<bytes>
>                 Specifies the maximum amount of space to reserve
>                 for the program data segment for programs where the
>                 size of these regions is a constraint.  The default
>                 is -bmaxdata=0.
> 
>          -bmaxstack:<bytes>
>                 Specifies the maximum amount of space to reserve
>                 for the program stack segment for programs where
>                 the size of these regions is a constraint.
> 
>          -brtl | -bnortl
>                 Determines which algorithm will be used to find
>                 libraries that are specified with the -l option. If
>                 -brtl is specified, run-time linking is enabled.
> 
>          -bshared
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 See "-bdynamic, -bshared, -bstatic" for details.
>                 This is equivalent to -bdynamic.
> 
>          -bstatic
>                 Controls the processing of -l options and the way
>                 shared objects are processed by the linkage editor.
>                 See "-bdynamic, -bshared, -bstatic" for details.
> 
>          -L<dir>
>                 Searches in directory <dir> for libraries specified
>                 by -l<key>.
> 
>          -l<key>
>                 Searches the specified library file at link time,
>                 where <key> selects the library lib<key>.a.
> 
>   Compiler Customization Options
>          -B<prefix>
>                 Determines a substitute path name for executable
>                 files used during compilation, such as the compiler
>                 of linker. <prefix> is the name of a directory
>                 where the alternative executable files reside. It
>                 is added to the beginning of the standard program
>                 names and must end in a slash (/). This option can
>                 be used in combination with the -t option, which
>                 determines which of these components are affected
>                 by -B.
> 
>          -F[<config_file>][:<stanza>]
>                 Specifies an alternative configuration file
>                 <config_file>, the command to be used (<stanza>)
>                 within the configuration file, or both. At least
>                 one of the arguments must be supplied.  The default
>                 stanza depends on the name of the command used to
>                 invoke the compiler.
> 
>          -P{v|k}[!]
>                 This option is obsolete and has no effect. Invokes
>                 the selected optimizing preprocessor.
> 
>          -P     Invokes the -Pv preprocessor before the compiler.
> 
>          -Pv    Invokes the -Pv preprocessor before the compiler.
> 
>          -Pk    Invokes the -Pk preprocessor before the compiler.
> 
>          -P!    Invokes the -Pv preprocessor only.
> 
>          -Pv!   Invokes the -Pv preprocessor only.
> 
>          -Pk!   Invokes the -Pk preprocessor only.
> 
>          -t<components_list>
>                 Applies the prefix from the -B option to the
>                 specified program, <components_list>, where
>                 <components_list> is a chain (with no separator
>                 character inbetween each <component>, ie: "-taFp")
>                 containing one or more of the following:
> 
>                 COMPONENT NAME           <component>       PROGRAM
>                 assembler                 a                as
>                 C preprocessor            F                cpp
>                 VAST-2 preprocessor       p                fpp
>                 KAP preprocessor          p                fppk
>                 compiler front end        c                xlfentry
>                 array language optimizer  h                xlfhot
>                 IPA/loop optimizer        I (upper-case i) ipa
>                 code generator            b                xlfcode
>                 binder                    z                bolt
>                 linker                    l (lower-case L) ld
>                 disassembler              d                dis
> 
>          -W<component>,<options_list>
>                 Passes the listed options to a component that is
>                 executed during compilation. <options_list> is a
>                 comma-separated list of one or more options, and
>                 <component> is one of the following:
> 
>                 COMPONENT NAME           <component>       PROGRAM
>                 assembler                 a                as
>                 C preprocessor            F                cpp
>                 VAST-2 preprocessor       p                fpp
>                 KAP preprocessor          p                fppk
>                 compiler front end        c                xlfentry
>                 array language optimizer  h                xlfhot
>                 IPA/loop optimizer        I (upper-case i) ipa
>                 code generator            b                xlfcode
>                 binder                    z                bolt
>                 linker                    l (lower-case L) ld
>                 disassembler              d                dis
> 
>   Integer and Floating-Point Options
>          -y<rounding_mode>
>                 Specifies compile-time rounding of constant
>                 floating-point expressions. It is equivalent to the
>                 -qieee option. <rounding_mode> is one of the
>                 following:
> 
>                 n = Round to nearest
>                 m = Round toward minus infinity
>                 p = Round toward plus infinity
>                 z = Round toward zero
> 
>                 The default is -yn.
> 
>          -qfloat=<suboptions_list>
>                 Determines different strategies for speeding up or
>                 improving the accuracy of floating-point
>                 calculations. <suboptions_list> is a colon-
>                 separated list of one or more of the following
>                 suboptions:
> 
>                 fltint | nofltint
>                      Speeds up floating-point-to-integer
>                      conversions by using an inline sequence of
>                      code instead of a call to a library function.
>                 fold | nofold
>                      Evaluates constant floating-point expressions
>                      at compile time.
>                 hsflt | nohsflt
>                      Speeds up calculations by removing range-
>                      checking on single-precision float results,
>                      and on conversions from floating-point to
>                      integer.
>                 hssngl | nohssngl
>                      Speeds up calculations in a safer way than
>                      hsflt, by rounding single-precision
>                      expressions only when the results are stored
>                      into REAL(4) memory locations
>                 maf | nomaf
>                      Generates multiply-add instructions where
>                      appropriate.
>                 nans | nonans
>                      Allows you to use the -qflttrap=invalid:enable
>                      option to detect and deal with exception
>                      conditions that involve signaling NaN (not-a-
>                      number) values.
>                 rndsngl | norndsngl
>                      Rounds the result of each single-precision
>                      (REAL(4)) operation to single-precision,
>                      rather than waiting until the full expression
>                      is evaluated. It sacrifices speed for
>                      consistency with results from similar
>                      calculations on other types of computers.
>                 rrm | norrm
>                      Turns off compiler optimizations that require
>                      the rounding mode to be the default, round-
>                      to-nearest, at run time.
>                 rsqrt | norsqrt
>                      Allows the optimizer to change a division by
>                      the result of a square root operation into a
>                      multiply by the reciprocal of the square root.
>                 strictnmaf | nostrictnmaf
>                      Turns off floating-point transformations that
>                      are used to introduce negative MAF
>                      instructions, as these transformations do not
>                      preserve the sign of a zero value.
>                 The default active suboptions are: nofltint, fold,
>                 nohsflt, nohssngl, maf, nonans, norelax, norndsngl,
>                 norrm, norsqrt, and nostrictnmaf.
> 
>          -qieee=<mode>
>                 Specifies the rounding mode for the compiler to use
>                 when evaluating constant floating-point expressions
>                 at compile time, where <mode> is one of:
> 
>                 near = Round to nearest representable number
>                 minus = Round toward minus infinity
>                 plus = Round toward plus infinity
>                 zero = Round toward zero
> 
>                 The default is -qieee=near.
> 
>          -qstrictieeemod | -qnostrictieeemod
>                 Specifies that the compiler will adhere to the
>                 Fortran 2003 IEEE arithmetic rules for the
>                 ieee_arithmetic and ieee_exceptions intrinsic
>                 modules.  The default is -qstrictieeemod.
> 
>   SEE ALSO
>          xlfndi(1), showpdf(1), cleanpdf(1), mergepdf(1),
>          resetpdf(1)
> 
>          For more information, refer to the following Web sites:
>          www.ibm.com/software/awdtools/fortran/xlfortran/library/
>          www.ibm.com/software/awdtools/fortran/xlfortran/support/
> 
>   COPYRIGHT
>          Licensed Materials - Property of IBM
> 
>          IBM(R) XL Fortran Enterprise Edition V10.1 for AIX(R)
> 
>          5724-M13
> 
>          (C) Copyright IBM Corp. 1991, 2005, and by others. All
>          Rights Reserved.
> 
>          IBM and AIX are trademarks or registered trademarks of IBM
>          Corp. in the U.S., other countries or both.
> 
>          US Government Users Restricted Rights - Use, duplication
>          or disclosure restricted by GSA ADP Schedule Contract with
>          IBM Corp.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> configure:1797: $? = 249
> configure:1811: checking for Fortran compiler default output file name
> configure:1838: f95    conftest.f  >&5
> ** main   === End of Compilation 1 ===
> 1501-510  Compilation successful for file conftest.f.
> configure:1841: $? = 0
> configure:1887: result: a.out
> configure:1892: checking whether the Fortran compiler works
> configure:1902: ./a.out
> configure:1905: $? = 0
> configure:1922: result: yes
> configure:1929: checking whether we are cross compiling
> configure:1931: result: no
> configure:1934: checking for suffix of executables
> configure:1941: f95 -o conftest    conftest.f  >&5
> ** main   === End of Compilation 1 ===
> 1501-510  Compilation successful for file conftest.f.
> configure:1944: $? = 0
> configure:1968: result: 
> configure:1974: checking for suffix of object files
> configure:1990: f95 -c   conftest.f >&5
> ** main   === End of Compilation 1 ===
> 1501-510  Compilation successful for file conftest.f.
> configure:1993: $? = 0
> configure:2016: result: o
> configure:2024: checking whether we are using the GNU Fortran compiler
> configure:2043: f95 -c   conftest.F >&5
> "conftest.F", line 3.14: 1515-019 (S) Syntax is incorrect.
> ** main   === End of Compilation 1 ===
> 1501-511  Compilation failed for file conftest.F.
> configure:2049: $? = 1
> configure: failed program was:
> |       program main
> | #ifndef __GNUC__
> |        choke me
> | #endif
> | 
> |       end
> configure:2083: result: no
> configure:2089: checking whether f95 accepts -g
> configure:2106: f95 -c -g  conftest.f >&5
> ** main   === End of Compilation 1 ===
> 1501-510  Compilation successful for file conftest.f.
> configure:2112: $? = 0
> configure:2119: test -z "$ac_fc_werror_flag" || test ! -s conftest.err
> configure:2122: $? = 0
> configure:2129: test -s conftest.o
> configure:2132: $? = 0
> configure:2145: result: yes
> configure:2174: checking how to get verbose linking output from f95
> configure:2190: f95 -c -g  conftest.f >&5
> ** main   === End of Compilation 1 ===
> 1501-510  Compilation successful for file conftest.f.
> configure:2196: $? = 0
> configure:2203: test -z "$ac_fc_werror_flag" || test ! -s conftest.err
> configure:2206: $? = 0
> configure:2213: test -s conftest.o
> configure:2216: $? = 0
> configure:2235: f95 -o conftest -g -v conftest.f
> exec: export(export,XL_CONFIG=/etc/xlf.cfg:f95,NULL) 
> exec: 
> /usr/lpp/xlf/bin/xlfentry(/usr/lpp/xlf/bin/xlfentry,conftest.f,/tmp/F81854426gRgib,/tmp/F81854426gRgibF.lst,xlfsmsg.cat,xlfmsg.cat,conftest.f,OSVAR(aix.5.3),64(largetype),FREE(f90),DBG,WSTREAMS(/tmp/F81854426gRgiah1,/tmp/F81854426gRgiab1,/tmp/F81854426gRgias1),DEFMSG(/usr/lpp/xlf/bin/default_msg),-I/usr/lpp/xlf/include,NULL)
>  
> ** main   === End of Compilation 1 ===
> exec: export(export,XL_FRONTEND=/usr/lpp/xlf/bin/xlfentry,NULL) 
> exec: export(export,XL_ASTI=/usr/lpp/xlf/bin/xlfhot,NULL) 
> exec: export(export,XL_BACKEND=/usr/lpp/xlf/bin/xlfcode,NULL) 
> exec: export(export,XL_LINKER=/bin/ld,NULL) 
> exec: export(export,XL_DIS=/usr/lpp/xlf/bin/dis,NULL) 
> exec: export(export,XL_BOLT=/usr/lpp/xlf/bin/bolt,NULL) 
> exec: 
> /usr/lpp/xlf/bin/xlfhot(/usr/lpp/xlf/bin/xlfhot,/tmp/F81854426gRgiah1,/tmp/F81854426gRgiah2,/tmp/F81854426gRgiab1,/tmp/F81854426gRgiab2,/tmp/F81854426gRgias1,/tmp/F81854426gRgias2,/tmp/F81854426gRgib,/tmp/F81854426gRgibA.lst,NULL)
>  
> exec: export(export,XL_FRONTEND=/usr/lpp/xlf/bin/xlfentry,NULL) 
> exec: export(export,XL_ASTI=/usr/lpp/xlf/bin/xlfhot,NULL) 
> exec: export(export,XL_BACKEND=/usr/lpp/xlf/bin/xlfcode,NULL) 
> exec: export(export,XL_LINKER=/bin/ld,NULL) 
> exec: export(export,XL_DIS=/usr/lpp/xlf/bin/dis,NULL) 
> exec: export(export,XL_BOLT=/usr/lpp/xlf/bin/bolt,NULL) 
> exec: 
> /usr/lpp/xlf/bin/xlfcode(/usr/lpp/xlf/bin/xlfcode,/tmp/F81854426gRgiah2,/tmp/F81854426gRgiab2,conftest.o,/tmp/F81854426gRgibB.lst,/tmp/F81854426gRgias2,NULL)
>  
> 1501-510  Compilation successful for file conftest.f.
> exec: 
> /bin/ld(/bin/ld,-b64,/lib/crt0_64.o,-bpT:0x100000000,-bpD:0x110000000,-bh:4,-o,conftest,conftest.o,-lxlf90,-L/usr/lpp/xlf/lib,-lxlopt,-lxlf,-lxlomp_ser,-lm,-lc,NULL)
>  
> unlink: conftest.o
> configure:2301: result: -v
> configure:2303: checking for Fortran libraries of f95
> configure:2326: f95 -o conftest -g -v conftest.f
> exec: export(export,XL_CONFIG=/etc/xlf.cfg:f95,NULL) 
> exec: 
> /usr/lpp/xlf/bin/xlfentry(/usr/lpp/xlf/bin/xlfentry,conftest.f,/tmp/F818544669Rgyb,/tmp/F818544669RgybF.lst,xlfsmsg.cat,xlfmsg.cat,conftest.f,OSVAR(aix.5.3),64(largetype),FREE(f90),DBG,WSTREAMS(/tmp/F818544669Rgyah1,/tmp/F818544669Rgyab1,/tmp/F818544669Rgyas1),DEFMSG(/usr/lpp/xlf/bin/default_msg),-I/usr/lpp/xlf/include,NULL)
>  
> ** main   === End of Compilation 1 ===
> exec: export(export,XL_FRONTEND=/usr/lpp/xlf/bin/xlfentry,NULL) 
> exec: export(export,XL_ASTI=/usr/lpp/xlf/bin/xlfhot,NULL) 
> exec: export(export,XL_BACKEND=/usr/lpp/xlf/bin/xlfcode,NULL) 
> exec: export(export,XL_LINKER=/bin/ld,NULL) 
> exec: export(export,XL_DIS=/usr/lpp/xlf/bin/dis,NULL) 
> exec: export(export,XL_BOLT=/usr/lpp/xlf/bin/bolt,NULL) 
> exec: 
> /usr/lpp/xlf/bin/xlfhot(/usr/lpp/xlf/bin/xlfhot,/tmp/F818544669Rgyah1,/tmp/F818544669Rgyah2,/tmp/F818544669Rgyab1,/tmp/F818544669Rgyab2,/tmp/F818544669Rgyas1,/tmp/F818544669Rgyas2,/tmp/F818544669Rgyb,/tmp/F818544669RgybA.lst,NULL)
>  
> exec: export(export,XL_FRONTEND=/usr/lpp/xlf/bin/xlfentry,NULL) 
> exec: export(export,XL_ASTI=/usr/lpp/xlf/bin/xlfhot,NULL) 
> exec: export(export,XL_BACKEND=/usr/lpp/xlf/bin/xlfcode,NULL) 
> exec: export(export,XL_LINKER=/bin/ld,NULL) 
> exec: export(export,XL_DIS=/usr/lpp/xlf/bin/dis,NULL) 
> exec: export(export,XL_BOLT=/usr/lpp/xlf/bin/bolt,NULL) 
> exec: 
> /usr/lpp/xlf/bin/xlfcode(/usr/lpp/xlf/bin/xlfcode,/tmp/F818544669Rgyah2,/tmp/F818544669Rgyab2,conftest.o,/tmp/F818544669RgybB.lst,/tmp/F818544669Rgyas2,NULL)
>  
> 1501-510  Compilation successful for file conftest.f.
> exec: 
> /bin/ld(/bin/ld,-b64,/lib/crt0_64.o,-bpT:0x100000000,-bpD:0x110000000,-bh:4,-o,conftest,conftest.o,-lxlf90,-L/usr/lpp/xlf/lib,-lxlopt,-lxlf,-lxlomp_ser,-lm,-lc,NULL)
>  
> unlink: conftest.o
> configure:2500: result:  -lxlf90 -L/usr/lpp/xlf/lib -lxlopt -lxlf -lxlomp_ser 
> -lm
> configure:2559: checking for gcc
> configure:2575: found /usr/bin/gcc
> configure:2586: result: gcc
> configure:2824: checking for C compiler version
> configure:2831: gcc --version >&5
> gcc (GCC) 3.3.2
> Copyright (C) 2003 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> 
> configure:2834: $? = 0
> configure:2841: gcc -v >&5
> Reading specs from 
> /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.3.2/specs
> Configured with: ../configure --with-as=/usr/bin/as --with-ld=/usr/bin/ld 
> --disable-nls --enable-languages=c,c++ --prefix=/opt/freeware 
> --enable-threads --enable-version-specific-runtime-libs 
> --host=powerpc-ibm-aix5.1.0.0
> Thread model: aix
> gcc version 3.3.2
> configure:2844: $? = 0
> configure:2851: gcc -V >&5
> gcc: `-V' option must have argument
> configure:2854: $? = 1
> configure:2857: checking whether we are using the GNU C compiler
> configure:2894: gcc -c   conftest.c >&5
> Assembler:
> /tmp//ccXBOYXd.s: line 9: Only .llong should be used for relocatable 
> expressions.
> configure:2900: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | 
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | #ifndef __GNUC__
> |        choke me
> | #endif
> | 
> |   ;
> |   return 0;
> | }
> configure:2934: result: no
> configure:2939: checking whether gcc accepts -g
> configure:2977: gcc -c -g  conftest.c >&5
> Assembler:
> /tmp//cc5r1Ywb.s: line 18: Only .llong should be used for relocatable 
> expressions.
> configure:2983: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | 
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3040: gcc -c   conftest.c >&5
> Assembler:
> /tmp//ccHFyFId.s: line 9: Only .llong should be used for relocatable 
> expressions.
> configure:3046: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | 
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3104: gcc -c -g  conftest.c >&5
> Assembler:
> /tmp//ccwpBjPa.s: line 18: Only .llong should be used for relocatable 
> expressions.
> configure:3110: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | 
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3149: result: no
> configure:3166: checking for gcc option to accept ISO C89
> configure:3248: gcc  -c   conftest.c >&5
> Assembler:
> /tmp//ccbzJ0Ke.s: line 8: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccbzJ0Ke.s: line 52: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccbzJ0Ke.s: line 82: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccbzJ0Ke.s: line 143: Only .llong should be used for relocatable 
> expressions.
> configure:3254: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #include <stdarg.h>
> | #include <stdio.h>
> | #include <sys/types.h>
> | #include <sys/stat.h>
> | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
> | struct buf { int x; };
> | FILE * (*rcsopen) (struct buf *, struct stat *, int);
> | static char *e (p, i)
> |      char **p;
> |      int i;
> | {
> |   return p[i];
> | }
> | static char *f (char * (*g) (char **, int), char **p, ...)
> | {
> |   char *s;
> |   va_list v;
> |   va_start (v,p);
> |   s = g (p, va_arg (v,int));
> |   va_end (v);
> |   return s;
> | }
> | 
> | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
> |    function prototypes and stuff, but not '\xHH' hex character constants.
> |    These don't provoke an error unfortunately, instead are silently treated
> |    as 'x'.  The following induces an error, until -std is added to get
> |    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
> |    array size at least.  It's necessary to write '\x00'==0 to get something
> |    that's true only with -std.  */
> | int osf4_cc_array ['\x00' == 0 ? 1 : -1];
> | 
> | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro 
> parameters
> |    inside strings and character constants.  */
> | #define FOO(x) 'x'
> | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
> | 
> | int test (int i, double x);
> | struct s1 {int (*f) (int a);};
> | struct s2 {int (*f) (double a);};
> | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), 
> int, int);
> | int argc;
> | char **argv;
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
> |   ;
> |   return 0;
> | }
> configure:3248: gcc -qlanglvl=extc89 -c   conftest.c >&5
> gcc: unrecognized option `-qlanglvl=extc89'
> Assembler:
> /tmp//ccFDRUXc.s: line 8: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccFDRUXc.s: line 52: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccFDRUXc.s: line 82: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccFDRUXc.s: line 143: Only .llong should be used for relocatable 
> expressions.
> configure:3254: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #include <stdarg.h>
> | #include <stdio.h>
> | #include <sys/types.h>
> | #include <sys/stat.h>
> | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
> | struct buf { int x; };
> | FILE * (*rcsopen) (struct buf *, struct stat *, int);
> | static char *e (p, i)
> |      char **p;
> |      int i;
> | {
> |   return p[i];
> | }
> | static char *f (char * (*g) (char **, int), char **p, ...)
> | {
> |   char *s;
> |   va_list v;
> |   va_start (v,p);
> |   s = g (p, va_arg (v,int));
> |   va_end (v);
> |   return s;
> | }
> | 
> | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
> |    function prototypes and stuff, but not '\xHH' hex character constants.
> |    These don't provoke an error unfortunately, instead are silently treated
> |    as 'x'.  The following induces an error, until -std is added to get
> |    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
> |    array size at least.  It's necessary to write '\x00'==0 to get something
> |    that's true only with -std.  */
> | int osf4_cc_array ['\x00' == 0 ? 1 : -1];
> | 
> | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro 
> parameters
> |    inside strings and character constants.  */
> | #define FOO(x) 'x'
> | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
> | 
> | int test (int i, double x);
> | struct s1 {int (*f) (int a);};
> | struct s2 {int (*f) (double a);};
> | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), 
> int, int);
> | int argc;
> | char **argv;
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
> |   ;
> |   return 0;
> | }
> configure:3248: gcc -qlanglvl=ansi -c   conftest.c >&5
> gcc: unrecognized option `-qlanglvl=ansi'
> Assembler:
> /tmp//ccvUaPbd.s: line 8: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccvUaPbd.s: line 52: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccvUaPbd.s: line 82: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccvUaPbd.s: line 143: Only .llong should be used for relocatable 
> expressions.
> configure:3254: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #include <stdarg.h>
> | #include <stdio.h>
> | #include <sys/types.h>
> | #include <sys/stat.h>
> | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
> | struct buf { int x; };
> | FILE * (*rcsopen) (struct buf *, struct stat *, int);
> | static char *e (p, i)
> |      char **p;
> |      int i;
> | {
> |   return p[i];
> | }
> | static char *f (char * (*g) (char **, int), char **p, ...)
> | {
> |   char *s;
> |   va_list v;
> |   va_start (v,p);
> |   s = g (p, va_arg (v,int));
> |   va_end (v);
> |   return s;
> | }
> | 
> | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
> |    function prototypes and stuff, but not '\xHH' hex character constants.
> |    These don't provoke an error unfortunately, instead are silently treated
> |    as 'x'.  The following induces an error, until -std is added to get
> |    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
> |    array size at least.  It's necessary to write '\x00'==0 to get something
> |    that's true only with -std.  */
> | int osf4_cc_array ['\x00' == 0 ? 1 : -1];
> | 
> | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro 
> parameters
> |    inside strings and character constants.  */
> | #define FOO(x) 'x'
> | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
> | 
> | int test (int i, double x);
> | struct s1 {int (*f) (int a);};
> | struct s2 {int (*f) (double a);};
> | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), 
> int, int);
> | int argc;
> | char **argv;
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
> |   ;
> |   return 0;
> | }
> configure:3248: gcc -std -c   conftest.c >&5
> cc1: error: unrecognized option `-std'
> configure:3254: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #include <stdarg.h>
> | #include <stdio.h>
> | #include <sys/types.h>
> | #include <sys/stat.h>
> | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
> | struct buf { int x; };
> | FILE * (*rcsopen) (struct buf *, struct stat *, int);
> | static char *e (p, i)
> |      char **p;
> |      int i;
> | {
> |   return p[i];
> | }
> | static char *f (char * (*g) (char **, int), char **p, ...)
> | {
> |   char *s;
> |   va_list v;
> |   va_start (v,p);
> |   s = g (p, va_arg (v,int));
> |   va_end (v);
> |   return s;
> | }
> | 
> | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
> |    function prototypes and stuff, but not '\xHH' hex character constants.
> |    These don't provoke an error unfortunately, instead are silently treated
> |    as 'x'.  The following induces an error, until -std is added to get
> |    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
> |    array size at least.  It's necessary to write '\x00'==0 to get something
> |    that's true only with -std.  */
> | int osf4_cc_array ['\x00' == 0 ? 1 : -1];
> | 
> | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro 
> parameters
> |    inside strings and character constants.  */
> | #define FOO(x) 'x'
> | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
> | 
> | int test (int i, double x);
> | struct s1 {int (*f) (int a);};
> | struct s2 {int (*f) (double a);};
> | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), 
> int, int);
> | int argc;
> | char **argv;
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
> |   ;
> |   return 0;
> | }
> configure:3248: gcc -Ae -c   conftest.c >&5
> <command line>:4:2: missing '(' after predicate
> configure:3254: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #include <stdarg.h>
> | #include <stdio.h>
> | #include <sys/types.h>
> | #include <sys/stat.h>
> | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
> | struct buf { int x; };
> | FILE * (*rcsopen) (struct buf *, struct stat *, int);
> | static char *e (p, i)
> |      char **p;
> |      int i;
> | {
> |   return p[i];
> | }
> | static char *f (char * (*g) (char **, int), char **p, ...)
> | {
> |   char *s;
> |   va_list v;
> |   va_start (v,p);
> |   s = g (p, va_arg (v,int));
> |   va_end (v);
> |   return s;
> | }
> | 
> | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
> |    function prototypes and stuff, but not '\xHH' hex character constants.
> |    These don't provoke an error unfortunately, instead are silently treated
> |    as 'x'.  The following induces an error, until -std is added to get
> |    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
> |    array size at least.  It's necessary to write '\x00'==0 to get something
> |    that's true only with -std.  */
> | int osf4_cc_array ['\x00' == 0 ? 1 : -1];
> | 
> | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro 
> parameters
> |    inside strings and character constants.  */
> | #define FOO(x) 'x'
> | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
> | 
> | int test (int i, double x);
> | struct s1 {int (*f) (int a);};
> | struct s2 {int (*f) (double a);};
> | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), 
> int, int);
> | int argc;
> | char **argv;
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
> |   ;
> |   return 0;
> | }
> configure:3248: gcc -Aa -D_HPUX_SOURCE -c   conftest.c >&5
> <command line>:4:2: missing '(' after predicate
> configure:3254: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #include <stdarg.h>
> | #include <stdio.h>
> | #include <sys/types.h>
> | #include <sys/stat.h>
> | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
> | struct buf { int x; };
> | FILE * (*rcsopen) (struct buf *, struct stat *, int);
> | static char *e (p, i)
> |      char **p;
> |      int i;
> | {
> |   return p[i];
> | }
> | static char *f (char * (*g) (char **, int), char **p, ...)
> | {
> |   char *s;
> |   va_list v;
> |   va_start (v,p);
> |   s = g (p, va_arg (v,int));
> |   va_end (v);
> |   return s;
> | }
> | 
> | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
> |    function prototypes and stuff, but not '\xHH' hex character constants.
> |    These don't provoke an error unfortunately, instead are silently treated
> |    as 'x'.  The following induces an error, until -std is added to get
> |    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
> |    array size at least.  It's necessary to write '\x00'==0 to get something
> |    that's true only with -std.  */
> | int osf4_cc_array ['\x00' == 0 ? 1 : -1];
> | 
> | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro 
> parameters
> |    inside strings and character constants.  */
> | #define FOO(x) 'x'
> | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
> | 
> | int test (int i, double x);
> | struct s1 {int (*f) (int a);};
> | struct s2 {int (*f) (double a);};
> | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), 
> int, int);
> | int argc;
> | char **argv;
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
> |   ;
> |   return 0;
> | }
> configure:3248: gcc -Xc -D__EXTENSIONS__ -c   conftest.c >&5
> gcc: unrecognized option `-Xc'
> Assembler:
> /tmp//ccozCSBb.s: line 8: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccozCSBb.s: line 52: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccozCSBb.s: line 82: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccozCSBb.s: line 143: Only .llong should be used for relocatable 
> expressions.
> configure:3254: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #include <stdarg.h>
> | #include <stdio.h>
> | #include <sys/types.h>
> | #include <sys/stat.h>
> | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
> | struct buf { int x; };
> | FILE * (*rcsopen) (struct buf *, struct stat *, int);
> | static char *e (p, i)
> |      char **p;
> |      int i;
> | {
> |   return p[i];
> | }
> | static char *f (char * (*g) (char **, int), char **p, ...)
> | {
> |   char *s;
> |   va_list v;
> |   va_start (v,p);
> |   s = g (p, va_arg (v,int));
> |   va_end (v);
> |   return s;
> | }
> | 
> | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
> |    function prototypes and stuff, but not '\xHH' hex character constants.
> |    These don't provoke an error unfortunately, instead are silently treated
> |    as 'x'.  The following induces an error, until -std is added to get
> |    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
> |    array size at least.  It's necessary to write '\x00'==0 to get something
> |    that's true only with -std.  */
> | int osf4_cc_array ['\x00' == 0 ? 1 : -1];
> | 
> | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro 
> parameters
> |    inside strings and character constants.  */
> | #define FOO(x) 'x'
> | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
> | 
> | int test (int i, double x);
> | struct s1 {int (*f) (int a);};
> | struct s2 {int (*f) (double a);};
> | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), 
> int, int);
> | int argc;
> | char **argv;
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
> |   ;
> |   return 0;
> | }
> configure:3297: result: unsupported
> configure:3318: checking for dummy main to link with Fortran libraries
> configure:3362: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//cccglt7a.s: line 9: Only .llong should be used for relocatable 
> expressions.
> configure:3368: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | 
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3432: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//cc7O1DJb.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//cc7O1DJb.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3438: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define FC_DUMMY_MAIN MAIN__
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3432: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//cc4QmGad.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//cc4QmGad.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3438: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define FC_DUMMY_MAIN MAIN_
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3432: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//ccwsdLDa.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccwsdLDa.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3438: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define FC_DUMMY_MAIN __main
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3432: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//ccdW8xdd.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccdW8xdd.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3438: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define FC_DUMMY_MAIN MAIN
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3432: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//ccM1POeb.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccM1POeb.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3438: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define FC_DUMMY_MAIN _MAIN
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3432: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//cce09TDa.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//cce09TDa.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3438: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define FC_DUMMY_MAIN __MAIN
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3432: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//ccNdFY7c.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccNdFY7c.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3438: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define FC_DUMMY_MAIN main_
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3432: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//cc564VLd.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//cc564VLd.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3438: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define FC_DUMMY_MAIN main__
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3432: gcc -o conftest    conftest.c   -lxlf90 -L/usr/lpp/xlf/lib 
> -lxlopt -lxlf -lxlomp_ser -lm >&5
> Assembler:
> /tmp//ccw39Wfb.s: line 9: Only .llong should be used for relocatable 
> expressions.
> /tmp//ccw39Wfb.s: line 39: Only .llong should be used for relocatable 
> expressions.
> configure:3438: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | /* end confdefs.h.  */
> | #define FC_DUMMY_MAIN _main
> | #ifdef FC_DUMMY_MAIN
> | #ifndef FC_DUMMY_MAIN_EQ_F77
> | #  ifdef __cplusplus
> |      extern "C"
> | #  endif
> |    int FC_DUMMY_MAIN() { return 1; }
> | #endif
> | #endif
> | int
> | main ()
> | {
> | 
> |   ;
> |   return 0;
> | }
> configure:3481: result: unknown
> configure:3500: error: linking to Fortran libraries from C fails
> See `config.log' for more details.
> 
> ## ---------------- ##
> ## Cache variables. ##
> ## ---------------- ##
> 
> ac_cv_c_compiler_gnu=no
> ac_cv_env_CC_set=''
> ac_cv_env_CC_value=''
> ac_cv_env_CFLAGS_set=''
> ac_cv_env_CFLAGS_value=''
> ac_cv_env_CPPFLAGS_set=''
> ac_cv_env_CPPFLAGS_value=''
> ac_cv_env_FCFLAGS_set=''
> ac_cv_env_FCFLAGS_value=''
> ac_cv_env_FC_set=''
> ac_cv_env_FC_value=''
> ac_cv_env_LDFLAGS_set=''
> ac_cv_env_LDFLAGS_value=''
> ac_cv_env_build_alias_set=''
> ac_cv_env_build_alias_value=''
> ac_cv_env_host_alias_set=''
> ac_cv_env_host_alias_value=''
> ac_cv_env_target_alias_set=''
> ac_cv_env_target_alias_value=''
> ac_cv_fc_compiler_gnu=no
> ac_cv_fc_dummy_main=unknown
> ac_cv_fc_libs=' -lxlf90 -L/usr/lpp/xlf/lib -lxlopt -lxlf -lxlomp_ser -lm'
> ac_cv_fortran_dummy_main=unknown
> ac_cv_objext=o
> ac_cv_prog_ac_ct_CC=gcc
> ac_cv_prog_ac_ct_FC=f95
> ac_cv_prog_cc_c89=no
> ac_cv_prog_cc_g=no
> ac_cv_prog_fc_g=yes
> ac_cv_prog_fc_v=-v
> 
> ## ----------------- ##
> ## Output variables. ##
> ## ----------------- ##
> 
> CC='gcc'
> CFLAGS=''
> CPPFLAGS=''
> DEFS=''
> ECHO_C='ECHO_N=''
> ECHO_T=''
> EXEEXT=''
> FC='f95'
> FCFLAGS='-g'
> FCLIBS=' -lxlf90 -L/usr/lpp/xlf/lib -lxlopt -lxlf -lxlomp_ser -lm'
> LDFLAGS=''
> LIBOBJS=''
> LIBS=''
> LTLIBOBJS=''
> OBJEXT='o'
> PACKAGE_BUGREPORT=''
> PACKAGE_NAME=''
> PACKAGE_STRING=''
> PACKAGE_TARNAME=''
> PACKAGE_VERSION=''
> PATH_SEPARATOR=':'
> SHELL='/bin/sh'
> ac_ct_CC='gcc'
> ac_ct_FC='f95'
> bindir='${exec_prefix}/bin'
> build_alias=''
> datadir='${datarootdir}'
> datarootdir='${prefix}/share'
> docdir='${datarootdir}/doc/${PACKAGE}'
> dvidir='${docdir}'
> exec_prefix='NONE'
> host_alias=''
> htmldir='${docdir}'
> includedir='${prefix}/include'
> infodir='${datarootdir}/info'
> libdir='${exec_prefix}/lib'
> libexecdir='${exec_prefix}/libexec'
> localedir='${datarootdir}/locale'
> localstatedir='${prefix}/var'
> mandir='${datarootdir}/man'
> oldincludedir='/usr/include'
> pdfdir='${docdir}'
> prefix='NONE'
> program_transform_name='s,x,x,'
> psdir='${docdir}'
> sbindir='${exec_prefix}/sbin'
> sharedstatedir='${prefix}/com'
> sysconfdir='${prefix}/etc'
> target_alias=''
> 
> ## ----------- ##
> ## confdefs.h. ##
> ## ----------- ##
> 
> #define PACKAGE_NAME ""
> #define PACKAGE_TARNAME ""
> #define PACKAGE_VERSION ""
> #define PACKAGE_STRING ""
> #define PACKAGE_BUGREPORT ""
> 
> configure: exit 1
135. acfortran.at:15: 135. AC_FC_WRAPPERS (acfortran.at:15): FAILED 
(acfortran.at:15)


## ------------- ##
## ../config.log ##
## ------------- ##
| This file contains any messages produced by compilers while
| running configure, to aid debugging if configure makes a mistake.
| 
| It was created by GNU Autoconf configure 2.60, which was
| generated by GNU Autoconf 2.60.  Invocation command line was
| 
|   $ ./configure 
| 
| ## --------- ##
| ## Platform. ##
| ## --------- ##
| 
| hostname = bv1203en.ucar.edu
| uname -m = 00CBC85F4C00
| uname -r = 3
| uname -s = AIX
| uname -v = 5
| 
| /usr/bin/uname -p = powerpc
| /bin/uname -X     = unknown
| 
| /bin/arch              = unknown
| /usr/bin/arch -k       = unknown
| /usr/convex/getsysinfo = unknown
| /usr/bin/hostinfo      = unknown
| /bin/machine           = unknown
| /usr/bin/oslevel       = 5.3.0.0
| /bin/universe          = unknown
| 
| PATH: /usr/local/bin
| PATH: /usr/opt/perl5/lib/site_perl/aix
| PATH: /usr/bin
| PATH: /usr/ucb
| PATH: /usr/local/bin
| PATH: /usr/sbin
| PATH: /usr/bin/X11
| PATH: /usr/lpp/ssp/bin/
| PATH: /usr/lpp/xlf/lib
| PATH: /usr/lpp/xlf/bin
| PATH: /opt/csm/bin
| PATH: /home/bluevista/jeph/bin
| PATH: /usr/local/lsf/6.2/aix5-64/bin
| PATH: /usr/lpp/mmfs/bin
| PATH: -endPATH
| 
| 
| ## ----------- ##
| ## Core tests. ##
| ## ----------- ##
| 
| configure:1708: checking for a BSD-compatible install
| configure:1764: result: /usr/local/bin/install -c
| configure:1775: checking whether build environment is sane
| configure:1818: result: yes
| configure:1883: checking for gawk
| configure:1899: found /usr/local/bin/gawk
| configure:1910: result: gawk
| configure:1921: checking whether make sets $(MAKE)
| configure:1942: result: yes
| configure:2150: checking whether /bin/sh -n is known to work
| configure:2169: result: no
| configure:2181: checking for expr
| configure:2199: found /usr/local/bin/expr
| configure:2211: result: /usr/local/bin/expr
| configure:2233: checking for gm4
| configure:2266: result: no
| configure:2233: checking for gnum4
| configure:2266: result: no
| configure:2233: checking for m4
| configure:2251: found /usr/local/bin/m4
| configure:2263: result: /usr/local/bin/m4
| configure:2275: checking whether m4 supports frozen files
| configure:2287: result: yes
| configure:2313: checking for perl
| configure:2331: found /usr/local/bin/perl
| configure:2344: result: /usr/local/bin/perl
| configure:2376: checking for emacs
| configure:2392: found /usr/local/bin/emacs
| configure:2403: result: emacs
| configure:2421: checking whether emacs is sufficiently recent
| configure:2431: $TEST_EMACS -batch -q -f batch-byte-compile conftest.el 1>&2
| While compiling broken-mode in file 
/home/bluevista/jeph/autoconf-2.60/conftest.el:
|   ** assignment to free variable broken-defaults
| Wrote /home/bluevista/jeph/autoconf-2.60/conftest.elc
| Done
| configure:2434: $? = 0
| configure:2443: result: yes
| configure:2462: checking for emacs
| configure:2489: result: emacs
| configure:2513: checking where .elc files should go
| configure:2526: $EMACS -batch -q -eval '(while load-path (princ (concat (car 
load-path) "
| ")) (setq load-path (cdr load-path)))' </dev/null >conftest.out
| configure:2529: $? = 0
| configure:2542: result: ${datadir}/emacs/site-lisp
| configure:2555: checking for grep that handles long lines and -e
| configure:2629: result: /usr/local/bin/grep
| configure:2634: checking for egrep
| configure:2712: result: /usr/local/bin/grep -E
| configure:2717: checking for a sed that does not truncate output
| configure:2796: result: /usr/bin/sed
| configure:2940: creating ./config.status
| 
| ## ---------------------- ##
| ## Running config.status. ##
| ## ---------------------- ##
| 
| This file was extended by GNU Autoconf config.status 2.60, which was
| generated by GNU Autoconf 2.60.  Invocation command line was
| 
|   CONFIG_FILES    = 
|   CONFIG_HEADERS  = 
|   CONFIG_LINKS    = 
|   CONFIG_COMMANDS = 
|   $ ./config.status 
| 
| on bv1203en.ucar.edu
| 
| config.status:604: creating config/Makefile
| config.status:604: creating tests/Makefile
| config.status:604: creating tests/atlocal
| config.status:604: creating man/Makefile
| config.status:604: creating lib/emacs/Makefile
| config.status:604: creating Makefile
| config.status:604: creating doc/Makefile
| config.status:604: creating lib/Makefile
| config.status:604: creating lib/Autom4te/Makefile
| config.status:604: creating lib/autoscan/Makefile
| config.status:604: creating lib/m4sugar/Makefile
| config.status:604: creating lib/autoconf/Makefile
| config.status:604: creating lib/autotest/Makefile
| config.status:604: creating bin/Makefile
| config.status:789: executing tests/atconfig commands
| 
| ## ---------------- ##
| ## Cache variables. ##
| ## ---------------- ##
| 
| ac_cv_env_EMACSLOADPATH_set=''
| ac_cv_env_EMACSLOADPATH_value=''
| ac_cv_env_EMACS_set=''
| ac_cv_env_EMACS_value=''
| ac_cv_env_build_alias_set=''
| ac_cv_env_build_alias_value=''
| ac_cv_env_host_alias_set=''
| ac_cv_env_host_alias_value=''
| ac_cv_env_target_alias_set=''
| ac_cv_env_target_alias_value=''
| ac_cv_path_EGREP='/usr/local/bin/grep -E'
| ac_cv_path_EXPR=/usr/local/bin/expr
| ac_cv_path_GREP=/usr/local/bin/grep
| ac_cv_path_M4=/usr/local/bin/m4
| ac_cv_path_PERL=/usr/local/bin/perl
| ac_cv_path_SED=/usr/bin/sed
| ac_cv_path_install='/usr/local/bin/install -c'
| ac_cv_prog_AWK=gawk
| ac_cv_prog_EMACS=emacs
| ac_cv_prog_TEST_EMACS=emacs
| ac_cv_prog_emacs_ok=yes
| ac_cv_prog_gnu_m4=yes
| ac_cv_prog_make_make_set=yes
| ac_cv_sh_n_works=no
| am_cv_lispdir='${datadir}/emacs/site-lisp'
| 
| ## ----------------- ##
| ## Output variables. ##
| ## ----------------- ##
| 
| ACLOCAL='${SHELL} /home/bluevista/jeph/autoconf-2.60/config/missing --run 
aclocal-1.9'
| AMTAR='${SHELL} /home/bluevista/jeph/autoconf-2.60/config/missing --run tar'
| AUTOCONF='${SHELL} /home/bluevista/jeph/autoconf-2.60/config/missing --run 
autoconf'
| AUTOHEADER='${SHELL} /home/bluevista/jeph/autoconf-2.60/config/missing --run 
autoheader'
| AUTOMAKE='${SHELL} /home/bluevista/jeph/autoconf-2.60/config/missing --run 
automake-1.9'
| AWK='gawk'
| CYGPATH_W='echo'
| DEFS='-DPACKAGE_NAME=\"GNU\ Autoconf\" -DPACKAGE_TARNAME=\"autoconf\" 
-DPACKAGE_VERSION=\"2.60\" -DPACKAGE_STRING=\"GNU\ Autoconf\ 2.60\" 
-DPACKAGE_BUGREPORT=\"address@hidden" -DPACKAGE=\"autoconf\" -DVERSION=\"2.60\"'
| ECHO_C='ECHO_N=''
| ECHO_T=''
| EGREP='/usr/local/bin/grep -E'
| EMACS='emacs'
| EMACSLOADPATH=''
| EXPR='/usr/local/bin/expr'
| GREP='/usr/local/bin/grep'
| HELP2MAN='${SHELL} /home/bluevista/jeph/autoconf-2.60/config/missing --run 
help2man'
| INSTALL_DATA='${INSTALL} -m 644'
| INSTALL_PROGRAM='${INSTALL}'
| INSTALL_SCRIPT='${INSTALL}'
| INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s'
| LIBOBJS=''
| LIBS=''
| LTLIBOBJS=''
| M4='/usr/local/bin/m4'
| MAKEINFO='${SHELL} /home/bluevista/jeph/autoconf-2.60/config/missing --run 
makeinfo'
| PACKAGE='autoconf'
| PACKAGE_BUGREPORT='address@hidden'
| PACKAGE_NAME='GNU Autoconf'
| PACKAGE_STRING='GNU Autoconf 2.60'
| PACKAGE_TARNAME='autoconf'
| PACKAGE_VERSION='2.60'
| PATH_SEPARATOR=':'
| PERL='/usr/local/bin/perl'
| SED='/usr/bin/sed'
| SET_MAKE=''
| SHELL='/bin/sh'
| STRIP=''
| TEST_EMACS='emacs'
| VERSION='2.60'
| ac_cv_sh_n_works='no'
| am__leading_dot='.'
| am__tar='${AMTAR} chof - "$$tardir"'
| am__untar='${AMTAR} xf -'
| bindir='${exec_prefix}/bin'
| build_alias=''
| datadir='${datarootdir}'
| datarootdir='${prefix}/share'
| docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
| dvidir='${docdir}'
| exec_prefix='${prefix}'
| host_alias=''
| htmldir='${docdir}'
| includedir='${prefix}/include'
| infodir='${datarootdir}/info'
| install_sh='/home/bluevista/jeph/autoconf-2.60/config/install-sh'
| libdir='${exec_prefix}/lib'
| libexecdir='${exec_prefix}/libexec'
| lispdir='${datadir}/emacs/site-lisp'
| localedir='${datarootdir}/locale'
| localstatedir='${prefix}/var'
| mandir='${datarootdir}/man'
| mkdir_p='mkdir -p --'
| oldincludedir='/usr/include'
| pdfdir='${docdir}'
| prefix='/usr/local'
| program_transform_name='s,x,x,'
| psdir='${docdir}'
| sbindir='${exec_prefix}/sbin'
| sharedstatedir='${prefix}/com'
| sysconfdir='${prefix}/etc'
| target_alias=''
| 
| ## ----------- ##
| ## confdefs.h. ##
| ## ----------- ##
| 
| #define PACKAGE_NAME "GNU Autoconf"
| #define PACKAGE_TARNAME "autoconf"
| #define PACKAGE_VERSION "2.60"
| #define PACKAGE_STRING "GNU Autoconf 2.60"
| #define PACKAGE_BUGREPORT "address@hidden"
| #define PACKAGE "autoconf"
| #define VERSION "2.60"
| 
| configure: exit 0


reply via email to

[Prev in Thread] Current Thread [Next in Thread]