を、私はこの機能ではgccクロスコンパイラで翻訳されたいくつかのPowerPCアセンブリコードを持っている:PowerPCのEABIの下で、返し、どのように「警告:コントロールは非void型関数の終わりに到達した」抑制する
uint32_t fill_cache(void)
{
__asm__ ("addi 3, 0, 0\n"); /* R3 = 0 */
/* More asm here modifying R3 and filling the cache lines. */
}
R3で計算された値。コンパイル時に
foo.c:105: warning: control reaches end of non-void function
実際に値が返されることを教える方法はありますか?または、警告を抑制する方法があります(-Wallを削除したり-Wno- *を追加しないでください)?私は非常に一般的な警告レベルを可能な限り高くするために、この機能についてのみこの警告を選択的に抑制したいと思います。
計算された値が呼び出し側で必要なので、この関数にvoidを返させるオプションはありません。