Я работал со старой базой кода, где я обнаружил несколько строк кода, которые вызывали много повторных предупреждений во время компиляции.
#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
Может ли кто-нибудь помочь мне понять, что происходит в этом блоке кода и как удалить это предупреждение.