g ++ 4.5.1 предупреждает об аргументах NULL, но не принимает -Wno-nonnull? - PullRequest
0 голосов
/ 01 февраля 2020

Я компилирую код с g++ -Wno-nonnull и получаю

cc1plus: warning: command line option "-Wno-nonnull" is valid for C/ObjC but not for C++

, но потом все равно

foo.cxx:455:3: error: null argument where non-null required (argument 2)

Компилятор:

> g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-suse-linux/4.5/lto-wrapper
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.5 --enable-ssp --disable-libssp --disable-plugin --with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --disable-libgcj --disable-libmudflap --with-slibdir=/lib64 --with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-version-specific-runtime-libs --program-suffix=-4.5 --enable-linux-futex --without-system-libunwind --enable-gold --with-plugin-ld=/usr/bin/gold --with-arch-32=i586 --with-tune=generic --build=x86_64-suse-linux
Thread model: posix
gcc version 4.5.1 20101208 [gcc-4_5-branch
revision 167585] (SUSE Linux)

К лучшему или к худшему Я должен поддерживать этот старый компилятор. Код прекрасно компилируется на g ++ 9.2 с -Wno-nonnull.

В man, -Wnonnull указан среди всех (предположительно для всех языков) «Warning», а не как «C и Objective». - C -only Warning ".

Позже на странице руководства я вижу -Wnonnull (C and Objective-C only) как запись для этой опции.

Есть предложения?

...