https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68346
Bug ID: 68346 Summary: [6 Regression] Bootstrap failure on i686-linux Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org Target Milestone: --- Most likely since the c++ delayed folding merge, but I admit I've bootstrapped trunk on i686-linux 8 days ago, so the window is larger, trunk no longer bootstraps on i686-linux: ../../gcc/gimple-fold.c: In function ‘bool gimple_fold_builtin_printf(gimple_stmt_iterator*, tree, tree, built_in_function)’: ../../gcc/gimple-fold.c:2621:30: error: self-comparison always evaluates to true [-Werror=tautological-compare] && (size_t) (int) len == len ^~ This code is not new in there, but supposedly before that we either have not been folding the arguments for -Wtautological-compare, or not so aggressively. I'd say it is quite common idiom to cast a variable to some other type and compare to itself, with the intent that if the type is the same, it is a no-op check, but if the type is narrower or has different signedness, it filters out some undesirable values.