Since flag-types.h is used in target code, it needs to be -Wall-safe for targets with 16-bit "int". OK?
Index: gcc/flag-types.h =================================================================== --- gcc/flag-types.h (revision 216287) +++ gcc/flag-types.h (working copy) @@ -229,17 +229,17 @@ enum sanitize_code { SANITIZE_RETURN = 1 << 10, SANITIZE_SI_OVERFLOW = 1 << 11, SANITIZE_BOOL = 1 << 12, SANITIZE_ENUM = 1 << 13, SANITIZE_FLOAT_DIVIDE = 1 << 14, SANITIZE_FLOAT_CAST = 1 << 15, - SANITIZE_BOUNDS = 1 << 16, - SANITIZE_ALIGNMENT = 1 << 17, - SANITIZE_NONNULL_ATTRIBUTE = 1 << 18, - SANITIZE_RETURNS_NONNULL_ATTRIBUTE = 1 << 19, - SANITIZE_OBJECT_SIZE = 1 << 20, + SANITIZE_BOUNDS = 1UL << 16, + SANITIZE_ALIGNMENT = 1UL << 17, + SANITIZE_NONNULL_ATTRIBUTE = 1UL << 18, + SANITIZE_RETURNS_NONNULL_ATTRIBUTE = 1UL << 19, + SANITIZE_OBJECT_SIZE = 1UL << 20, SANITIZE_UNDEFINED = SANITIZE_SHIFT | SANITIZE_DIVIDE | SANITIZE_UNREACHABLE | SANITIZE_VLA | SANITIZE_NULL | SANITIZE_RETURN | SANITIZE_SI_OVERFLOW | SANITIZE_BOOL | SANITIZE_ENUM | SANITIZE_BOUNDS | SANITIZE_ALIGNMENT | SANITIZE_NONNULL_ATTRIBUTE | SANITIZE_RETURNS_NONNULL_ATTRIBUTE