Ver Fonte

Range check without clang "always true" warning

Dmitry-Me há 11 anos atrás
pai
commit
2ad4320339
1 ficheiros alterados com 3 adições e 0 exclusões
  1. 3 0
      tinyxml2.cpp

+ 3 - 0
tinyxml2.cpp

@@ -1958,6 +1958,9 @@ void XMLDocument::PrintError() const
             TIXML_SNPRINTF( buf2, LEN, "%s", _errorStr2 );
             TIXML_SNPRINTF( buf2, LEN, "%s", _errorStr2 );
         }
         }
 
 
+        // Should check INT_MIN <= _errorID && _errorId <= INT_MAX, but that
+        // causes a clang "always true" -Wtautological-constant-out-of-range-compare warning
+        TIXMLASSERT( 0 <= _errorID && XML_ERROR_COUNT - 1 <= INT_MAX );
         printf( "XMLDocument error id=%d '%s' str1=%s str2=%s\n",
         printf( "XMLDocument error id=%d '%s' str1=%s str2=%s\n",
                 static_cast<int>( _errorID ), ErrorName(), buf1, buf2 );
                 static_cast<int>( _errorID ), ErrorName(), buf1, buf2 );
     }
     }