Я тестирую на GCC Compile Farm и GCC119. GCC119 — это машина AIX с компилятором xlC 13.1. Я очень мало знаю о платформе и компиляторе.
Когда я строю под 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 сообщал мне исходный файл и номер строки, на которые он жалуется?
-O3
подразумевает вариантNOSTRICT
. Подробнее читайте вxlC
документации. Я предполагаю, что вы беспокоитесь не о проблеме. - person Lorinczy Zsigmond   schedule 01.09.2017