mirror of
https://github.com/irungentoo/toxcore.git
synced 2024-03-22 13:30:51 +08:00
5a3a0b6453
These help static analysis and ubsan. We should eventually have all functions annotated like this with a cimple check to make sure every pointer has an explicit nullability annotation. The `nullable` annotation does nothing in GCC, but will be used by cimple to validate that every parameter has defined nullability.
73 lines
1.6 KiB
Bash
Executable File
73 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
. other/analysis/gen-file.sh
|
|
|
|
set -e
|
|
|
|
run() {
|
|
echo "Running GCC in variant '$*'"
|
|
# TODO(iphydf): Get rid of all VLAs, then enable -fstack-protector -Wstack-protector
|
|
g++ -O3 -o /dev/null amalgamation.cc \
|
|
"${CPPFLAGS[@]}" \
|
|
"${LDFLAGS[@]}" \
|
|
"$@" \
|
|
-std=c++11 \
|
|
-fdiagnostics-color=always \
|
|
-Wall \
|
|
-Wextra \
|
|
-Werror \
|
|
-Wno-error=null-dereference \
|
|
-Wno-error=type-limits \
|
|
-Wno-aggressive-loop-optimizations \
|
|
-Wno-float-conversion \
|
|
-Wno-format-signedness \
|
|
-Wno-missing-field-initializers \
|
|
-Wno-nonnull-compare \
|
|
-Wno-padded \
|
|
-Wno-sign-compare \
|
|
-Wno-sign-conversion \
|
|
-Wno-switch-default \
|
|
-Wno-unused-parameter \
|
|
-Wstrict-aliasing=0 \
|
|
-Wstrict-overflow=1 \
|
|
\
|
|
-Wmissing-declarations \
|
|
-Wbool-compare \
|
|
-Wcast-align \
|
|
-Wcast-qual \
|
|
-Wchar-subscripts \
|
|
-Wdouble-promotion \
|
|
-Wduplicated-cond \
|
|
-Wempty-body \
|
|
-Wenum-compare \
|
|
-Wfloat-equal \
|
|
-Wformat=2 \
|
|
-Wframe-address \
|
|
-Wframe-larger-than=133168 \
|
|
-Wignored-qualifiers \
|
|
-Wignored-attributes \
|
|
-Winit-self \
|
|
-Winline \
|
|
-Wlarger-than=133120 \
|
|
-Wmaybe-uninitialized \
|
|
-Wmemset-transposed-args \
|
|
-Wmisleading-indentation \
|
|
-Wnonnull \
|
|
-Wnull-dereference \
|
|
-Wodr \
|
|
-Wredundant-decls \
|
|
-Wreturn-type \
|
|
-Wshadow \
|
|
-Wsuggest-attribute=format \
|
|
-Wundef \
|
|
-Wunsafe-loop-optimizations \
|
|
-Wunused-label \
|
|
-Wunused-local-typedefs \
|
|
-Wunused-value \
|
|
-Wunused-but-set-parameter \
|
|
-Wunused-but-set-variable \
|
|
-fopenmp
|
|
}
|
|
|
|
. other/analysis/variants.sh
|