avertissement: la comparaison est toujours faux en raison de la portée limitée de type de données dans gcc 4.1.2

J'ai rencontré le message d'avertissement suivant à partir de gcc 4.1.2:

warning: comparison is always false due to limited range of data type

concernés du code C est comme:

if ( unlikely(count < 0) ) BUG();

où 'count' est pas signé.

J'ai essayé de désactiver l'avertissement puisque je n'étais pas autorisé à modifier le code source:

-Wno-type-limits

mais il semble gcc 4.1.2 ne le supporte pas.

cc1: error: unrecognized command line option "-Wno-type-limits"

Toutes les autres façons de se débarrasser de cet avertissement?

Pourquoi ne pas garder l'avertissement? Peut-être que le propriétaire du code source pour le voir; aussi se débarrasser de, il pourrait masquer d'autres bugs.
Êtes-vous coincé avec ce code? Est-il code généré?
Je pense que c'est GCC, pas de GDB, qui génère le message d'avertissement. GDB version 4 est beaucoup plus ancien que celui de GCC 4.1.2 (bien que GCC 4.1.2 est assez vieux, peut-être, circa 2006).

OriginalL'auteur user1783732 | 2013-03-14