In gcc 8.3.0, compiling
enum test { FIRST = 1, SECOND = 1, THIRD = 2 }; int main (void) { return 0; } generates no warning even with -Wextra. That hit me today, because I had a large enum with many explicitly assigned constants and I accidentally used the same value twice, which is an obvious source of problems. Andrea Monaco