Ken Foskey <foskey@xxxxxxxxxxxxxxxx> writes: > The following code gives me an uninitialised warning on nCol. There is > no possible default clause for this one. > > switch( nXIndex & 3 ) > { > case 0 : > nCol = *pTmp >> 6; > break; > case 1 : > nCol = ( *pTmp >> 4 ) & 0x03 ; > break; > > case 2 : > nCol = ( *pTmp >> 2 ) & 0x03; > break; > case 3 : > nCol = ( *pTmp++ ) & 0x03; > break; > } There will always be cases where gcc guesses wrong on this; it is not only very hard, but provably impossible to get it always right. In this case however, it indicates an optimizer deficiency. You could try to file a bug report about it. By the way, please always post complete test cases and include version and command line options. -- Falk