https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78568
--- Comment #5 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- c_fully_fold should not be asked to fold the same expression more than once. When a subexpression is folded during parsing, for whatever reason, the result should be wrapped in a tree code that c_fully_fold does not recurse into, using c_wrap_maybe_const if no other such tree code is involved. Thus, warning from c_fully_fold should be OK without generating duplicate warnings (if duplicates occur, that suggests something is failing to prevent multiple calls to c_fully_fold for the same expression).