GCC Compile Farm と GCC119 でテストしています。GCC119 は、xlC 13.1 コンパイラを搭載した AIX マシンです。私はプラットフォームとコンパイラについてほとんど知りません。
xlC でビルドする場合:
$ CXX=xlC gmake CXXFLAGS="-DNDEBUG -g2 -O3 -qrtti" -j 8
xlC -DNDEBUG -g2 -O3 -qrtti -c cryptlib.cpp
xlC -DNDEBUG -g2 -O3 -qrtti -c cpu.cpp
...
xlC -DNDEBUG -g2 -O3 -qrtti -c hmac.cpp
1500-036: (I) The NOSTRICT option (default at OPT(3)) has the potential to alter the
semantics of a program. Please refer to documentation on the STRICT/NOSTRICT option
for more information.
...
コンパイラの IBM マニュアルはCompiler Reference v13.1にあります。STRICT
またはについては触れていませんNOSTRICT
。キーワード検索に最も近いのは、 が__C99_RESTRICT
いつ-qkeyword=restrict
有効になるかについての議論です。さらに、man ページはありません。
$ man NOSTRICT
Manual entry for NOSTRICT not found or not installed.
$ man 3 NOSTRICT
There is not an entry for NOSTRICT in section 3.
$ man STRICT
Manual entry for STRICT not found or not installed.
$ man 3 STRICT
There is not an entry for STRICT in section 3.
$ man OPT
Manual entry for OPT not found or not installed.
$ man 3 OPT
There is not an entry for OPT in section 3.
-qflag=w
警告が消えてコンパイルすると、作業する情報がさらに少なくなります。(ライブラリとプログラムは できれいにコンパイルされます-qflag=w
)。
2 つの質問があります。まず、xlC が不平を言っているのは正確には何ですか? 第二に、xlC に問題のあるソース ファイルと行番号を教えてもらうオプションはありますか?