https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67030
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> --- (In reply to ktkachov from comment #3) > Unfortunately still getting the error. Sorry about that. > One thing I missed out from the original error message is this note: > > error: self-comparison always evaluates to false > [-Werror=tautological-compare] > #define SUPPORTS_STACK_ALIGNMENT (MAX_STACK_ALIGNMENT > STACK_BOUNDARY) > > $SRC/gcc/cfgexpand.c:1268:7: note: in expansion of macro > 'SUPPORTS_STACK_ALIGNMENT' > if (SUPPORTS_STACK_ALIGNMENT > ^ > > Don't know if that helps. Actually, that helps. I bet the following works. Mind giving this one a spin? --- a/gcc/c-family/c-common.c +++ b/gcc/c-family/c-common.c @@ -1890,6 +1890,11 @@ warn_tautological_cmp (location_t loc, enum tree_code code, tree lhs, tree rhs) if (TREE_CODE_CLASS (code) != tcc_comparison) return; + if (from_macro_expansion_at (loc) + || from_macro_expansion_at (EXPR_LOCATION (lhs)) + || from_macro_expansion_at (EXPR_LOCATION (rhs))) + return; + /* We do not warn for constants because they are typical of macro expansions that test for features, sizeof, and similar. */ if (CONSTANT_CLASS_P (lhs) || CONSTANT_CLASS_P (rhs))