------- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-16 19:16 ------- Reduced testcase: typedef enum _SECStatus { SECWouldBlock = -2, SECFailure = -1, SECSuccess = 0 } SECStatus; typedef enum { SEC_ERROR_BAD_SIGNATURE = (-0x2000) + 10 } SECErrorCodes; void g(void); void f(SECStatus status) { switch( status ) { case SEC_ERROR_BAD_SIGNATURE : g(); break ; } } : Search converges between 2004-10-25-161001-trunk (#610) and 2004-10-26-161001-trunk (#611).
This is undefined code (as SEC_ERROR_BAD_SIGNATURE is out of the range of SECStatus). Enums are defined differently in C++ than C. -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Component|middle-end |c++ Ever Confirmed| |1 Last reconfirmed|0000-00-00 00:00:00 |2005-02-16 19:16:58 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20008