https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90514
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |WONTFIX --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to JunMa from comment #2) > I had got confused by the comments in vrp pass. the condition > if ((kind != ENUM1) && (kind != ENUM2)) > is not always false, and cannot be folded to if (0). > Also the code deals with pr23046 is out of data, and should be removed. That was C++ code rather than C code and C++ which has different rules than C (at least with -fstrict-enums). The code is not out of date for gimple types. Since the types in Gimple can have more well defined behaviors which are not exposed via C or C++ front-ends. NOTE there could be an Ada code which hits the same failure (I don't know Ada that well but I do know the Ada front-end supports more features of the GCC middle-end than either of the C or C++ front-ends).