Предупреждение о неинициализированной переменной регистра - PullRequest
0 голосов
/ 14 мая 2019

Я работал со старой базой кода, где я обнаружил несколько строк кода, которые вызывали много повторных предупреждений во время компиляции.

#define EXAMPLE(_ptr) \
{                               \
    register uintptr_t      *__sp __asm__("sp");        \
    (_ptr[0]) = (uintptr_t) __sp;                       \
    asm volatile("sw $a0,%0" : "=m" (_ptr[1])); \
    //SOME OTHER CODE HERE
}

предупреждение было:

warning: ‘__sp’ may be used uninitialized in this function   

Может ли кто-нибудь помочь мне понять, что происходит в этом блоке кода и как удалить это предупреждение.

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