This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: unitialised error


Ken Foskey <foskey@optushome.com.au> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]