説明
このオプションは、末尾再帰呼び出しを最適化するかどうかを指定します。
このオプションにより、末尾再帰呼び出しがループに変換されます。
末尾再帰呼び出しを最適化しない場合は、-fno-optimize-sibling-calls を指定します。
末尾再帰は、スタック領域を使用しない特殊な再帰形式です。
末尾再帰では、再帰呼び出しが関数の先頭に戻る GOTO 文に変換されます。
この場合、再帰呼び出しの戻り値は返されるだけです。
ほかの式では使用されません。再帰関数はループに変換されるため、使用されるスタック領域は変更されません。