------- 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

Reply via email to