On Wed, 21 Apr 2021 10:10:15 -0700, Nathan Chancellor said: > Unfortunately, gcc's -Wenum-conversion is behind -Wextra rather than > -Wall like clang. If you explicitly enable it with > KCFLAGS=-Wenum-conversion to your make invocation, it will warn in the > exact same way as clang: > > arch/x86/kvm/cpuid.c: In function 'kvm_set_cpu_caps': > arch/x86/kvm/cpuid.c:499:29: warning: implicit conversion from 'enum kvm_only_cpuid_leafs' to 'enum cpuid_leafs' [-Wenum-conversion] > 499 | kvm_cpu_cap_init_scattered(CPUID_12_EAX, > | ^~~~~~~~~~~~ > arch/x86/kvm/cpuid.c: In function '__do_cpuid_func': > arch/x86/kvm/cpuid.c:837:31: warning: implicit conversion from 'enum kvm_only_cpuid_leafs' to 'enum cpuid_leafs' [-Wenum-conversion] > 837 | cpuid_entry_override(entry, CPUID_12_EAX); > | ^~~~~~~~~~~~ > > clang's warning for comparison/posterity: > > arch/x86/kvm/cpuid.c:499:29: warning: implicit conversion from enumeration type 'enum kvm_only_cpuid_leafs' to different enumeration type 'enum cpuid_leafs' [-Wenum-conversion] > kvm_cpu_cap_init_scattered(CPUID_12_EAX, > ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~ > arch/x86/kvm/cpuid.c:837:31: warning: implicit conversion from enumeration type 'enum kvm_only_cpuid_leafs' to different enumeration type 'enum cpuid_leafs' [-Wenum-conversion] > cpuid_entry_override(entry, CPUID_12_EAX); > ~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~ > 2 warnings generated. Note that this will kill the build if you have CONFIG_KVM_WERROR=y in effect (which was a reasonable thing to do when KVM built just fine with it in effect).