https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100879
--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jason Merrill <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:087253b9951766cbd93286b804ebb1ab59197aa8 commit r12-1314-g087253b9951766cbd93286b804ebb1ab59197aa8 Author: Jason Merrill <ja...@redhat.com> Date: Tue Jun 8 17:48:49 2021 -0400 c++: remove redundant warning [PR100879] Before my r277864, build_new_op promoted enums to int before passing them on to cp_build_binary_op; after that commit, it doesn't, so warn_for_sign_compare sees the enum operands and gives a redundant warning. This warning dates back to 1995, and seems to have been dead code for a long time--likely since build_new_op was added in 1997--so let's just remove it. PR c++/100879 gcc/c-family/ChangeLog: * c-warn.c (warn_for_sign_compare): Remove C++ enum mismatch warning. gcc/testsuite/ChangeLog: * g++.dg/diagnostic/enum3.C: New test.