Eu queria usar alguns dos sinalizadores de aviso listados em https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html . No entanto, parece que não posso usar todos eles. Por exemplo -Wpessimizing-move
não é reconhecido pelo gcc para mim (sempre gera um erro porque esta opção não existe). Esse problema existe para alguns dos sinalizadores. Eu uso o gcc do repositório fedora Essa é a saída da minha versão:
Es werden eingebaute Spezifikationen verwendet.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Ziel: x86_64-redhat-linux
Konfiguriert mit: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --enable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread-Modell: posix
gcc-Version 8.3.1 20190223 (Red Hat 8.3.1-2) (GCC)
O mesmo erro ocorre com gcc e g++. Qual poderia ser o motivo desse comportamento? e como consertar isso?
A documentação diz claramente que isso é apenas para C++:
Então
g++
vai aceitar, mas nãogcc
.Para documentação, pode-se verificar a entrada correspondente para llvm -Wpessimizin-move .
Aqui está uma cópia, no entanto: