.clang - Fehler: Nicht-ASM-Anweisung in der nackten Funktion wird nicht unterstützt
CC ../../py/nlrthumb.c
../../py/nlrthumb.c:79:5: error: non-ASM statement in naked function is not supported
return 0; // needed to silence compiler warning
Warum unterstützt Clang nicht non-ASM statement in naked function
?
Dies funktioniert einwandfrei auf gcc
.
Die mailing list explains it as
Naked functions don't have prologues or epilogues, so doing codegen for anything other than inline assembly would be completely hit or miss.
so dann, wie gcc
es tun kann?
http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20140901/114153.html – negacao
@negacao aktualisierte Frage mit Ihren Informationen. – Adrian
"wie kann gcc es tun" - Es [tut nicht] (https://gcc.gnu.org/onlinedocs/gcc/ARM-Function-Attributes.html#ARM-Function-Attributes). * Nur grundlegende asm-Anweisungen können sicher in nackten Funktionen enthalten sein. Die Verwendung von Extended Asm oder einer Mischung aus Basic Asm und C-Code funktioniert möglicherweise nicht zuverlässig und wird nicht unterstützt. * –