g++: strange compiler warning
g++ compiler (4.4.3-4) gives me a strange warning on the following code:
T & GetElem(int64 i)
{
if((i<0ll)||(i>=m_iSize))
return m_cDummy;
return m_pData[i];
}
Where T - template argument (it's a simple template dynamic array). m_iSize is int64 (long long). m_cDummy is T, m_pData is T*
The warning is: warning: assuming signed overflow does not occur when assuming that (X - c) > X is always false
Does any one know why I get this?
|