我正在 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 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
)。
我有两个问题。首先,xlC 到底在抱怨什么?其次,是否可以选择让 xlC 告诉我它抱怨的源文件和行号?