------- Comment #16 from jason at gcc dot gnu dot org 2010-04-20 23:10 ------- I agree that it's similar to signed integer overflow. One significant difference is that this issue doesn't affect C.
One strange thing here is that the VRP optimization only happens when the enum variable is converted to a different type; it doesn't happen if we just say "if (value <= D)." That seems like a bug. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43680