https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92159
--- Comment #4 from Jonny Grant <jg at jguk dot org> --- My apologies, I tested with the correct test case and it already does not compile in C++ as desired, so no -Wenum-conversion required. #include <stdio.h> typedef enum {brandon, jon, mitch} name_t; typedef enum {fred, dog, cat} name2_t; name2_t name = brandon; name_t hik = 3; int hal_entry(void) { if (hik < name) return(0); return 1; } int main () { printf ("%d\n", hal_entry()); return 0; }