Instead, emit them under -Wformat-pedantic. This is particularly important for us because we have a lot of code that uses %hhd to print BOOL values, since on macOS BOOL is a typedef for signed char, and we emit fix-its recommending %hhd to print it. Now that this code is compiled on a target where BOOL is a typedef for _Bool, we're getting these -Wformat warnings. These aren't all that useful.
rdar://problem/54579473 Clang should not warn when using %hhd or %hd format specifiers on BOOL values
How about: using '%0' format specifier, but argument has boolean value and then pass in the character specifier used?