我正在使用一个旧的代码库,在那里我遇到了几行代码,这在编译过程中引起了很多重复的警告。
#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
任何人都可以帮助我了解此代码块中正在发生的事情以及如何删除此警告。