This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: unitialised error
- From: Falk Hueffner <hueffner at informatik dot uni-tuebingen dot de>
- To: Ken Foskey <foskey at optushome dot com dot au>
- Cc: gcc help <gcc-help at gcc dot gnu dot org>
- Date: Thu, 01 Jul 2004 22:48:48 +0200
- Subject: Re: unitialised error
- References: <1088683544.25475.15.camel@froddo.foskey.org.au>
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