Причина предупреждения: сравнение повышенного без знака с константой [-Wsign-сравнение] - PullRequest
0 голосов
/ 19 апреля 2019

Когда я включил флаг предупреждения gcc Wsign-Compare для компиляции следующего устаревшего кода:

else if ((d_tag_utype) DT_EXTRATAGIDX (dyn->d_tag) < DT_EXTRANUM)
    l_info[DT_EXTRATAGIDX (dyn->d_tag) + DT_NUM + DT_THISPROCNUM
           + DT_VERSIONTAGNUM] = dyn;

Компилятор выдает мне предупреждение в первой строке:

../../dynamic_link.h:89:60: warning: comparison of promoted ~unsigned with constant [-Wsign-compare]
         else if ((d_tag_utype) DT_EXTRATAGIDX (dyn->d_tag) < DT_EXTRANUM)

DT_EXTRANUM является константой, определенной как 3, и "d_tag_utype => uint64_t"

Я также пытался преобразовать "DT_EXTRANUM" в (d_tag_utype) или (uint64_t), такая же жалоба.

Есть идеи, на что это действительно жалуется?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...