LINUX.ORG.RU

История изменений

Исправление aureliano15, (текущая версия) :

рекурсивный inline.

Это как? tail-call optimization что ли?

Ну, мой пример был совсем банальный:

int f(int n)
{
  return n!=1?f(n-1):1;
}

int main()
{
  return f(3);
}

оптимизатор просто превратил в

int main()
{
  return 1;
}

Исходная версия aureliano15, :

рекурсивный inline.

Это как? tail-call optimization что ли?

Ну, мой пример был совсем банальный:

int f(int n)
{
  return n!=1?f(n-1):1;
}

int main()
{
  return f(3);
}

оптимизатор просто превратил в return 1.