diff --git a/src/hb.hh b/src/hb.hh index 9c17bd769..660f79775 100644 --- a/src/hb.hh +++ b/src/hb.hh @@ -36,17 +36,23 @@ * - Warnings whose scope can be expanded in future compiler versions shall * be declared as "warning". Otherwise, either ignored or error. */ + /* Setup */ #pragma GCC diagnostic warning "-Wall" #pragma GCC diagnostic warning "-Wextra" #pragma GCC diagnostic ignored "-Wpragmas" +#pragma GCC diagnostic ignored "-Wunknown-pragmas" #pragma clang diagnostic ignored "-Wunknown-warning-option" //#pragma GCC diagnostic warning "-Weverything" + /* Error. Should never happen. */ +#pragma clang diagnostic error "-Wc++11-narrowing" +#pragma clang diagnostic error "-Wstring-conversion" +#pragma clang diagnostic error "-Wtautological-overlap-compare" #pragma GCC diagnostic error "-Wcast-align" #pragma GCC diagnostic error "-Wformat-security" -#pragma GCC diagnostic error "-Winit-self" #pragma GCC diagnostic error "-Wimplicit-function-declaration" +#pragma GCC diagnostic error "-Winit-self" #pragma GCC diagnostic error "-Wmissing-braces" #pragma GCC diagnostic error "-Wmissing-declarations" #pragma GCC diagnostic error "-Wmissing-prototypes" @@ -56,9 +62,16 @@ #pragma GCC diagnostic error "-Wredundant-decls" #pragma GCC diagnostic error "-Wstrict-prototypes" #pragma GCC diagnostic error "-Wswitch-enum" +#pragma GCC diagnostic error "-Wunneeded-internal-declaration" #pragma GCC diagnostic error "-Wunused" +#pragma GCC diagnostic error "-Wunused-local-typedefs" +#pragma GCC diagnostic error "-Wunused-value" +#pragma GCC diagnostic error "-Wunused-variable" #pragma GCC diagnostic error "-Wwrite-strings" + /* Warning. To be investigated if happens. */ +#pragma clang diagnostic warning "-Wignored-pragma-optimize" +#pragma GCC diagnostic warning "-Wbuiltin-macro-redefined" #pragma GCC diagnostic warning "-Wdisabled-optimization" #pragma GCC diagnostic warning "-Wformat=2" #pragma GCC diagnostic warning "-Wlogical-op" @@ -66,12 +79,14 @@ #pragma GCC diagnostic warning "-Wsign-compare" #pragma GCC diagnostic warning "-Wundef" #pragma GCC diagnostic warning "-Wvla" + /* Ignored currently, but should be fixed at some point. */ #pragma GCC diagnostic ignored "-Wconversion" // TODO fix #pragma GCC diagnostic ignored "-Wformat-signedness" // TODO fix #pragma GCC diagnostic ignored "-Wshadow" // TODO fix #pragma GCC diagnostic ignored "-Wunsafe-loop-optimizations" // TODO fix #pragma GCC diagnostic ignored "-Wunused-parameter" // TODO fix + /* Ignored intentionally. */ #pragma clang diagnostic ignored "-Wclass-memaccess" #pragma GCC diagnostic ignored "-Wformat-nonliteral"