https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87667
--- Comment #2 from Roman Lebedev <lebedev.ri at gmail dot com> --- (In reply to Jonathan Wakely from comment #1) > It's a warning, why do you think either compiler is wrong? Either it is incorrect to pass `enum class Enum : unsigned short` when the format specifier is %hx (i.e. `unsigned short`), and then the warning is justified; or the other way around, it is correct to pass `Enum`, and the warning is not justified, or needs different wording.