C, erreur: le contrôle a atteint sa fin de non-void function [-Werror,-Wreturn-type]

struct quad {
int a;
int b;
int c;
}

int f(const int a, const int b, const int c, const int x){
  const int l = a*x*x + b*x + c;
  return l;
}

int safe_quad_eval(const struct quad q, const int x){
  (f(q.a,q.b,q.c,x)>INT_MAX)||(f(q.a,q.b,q.c,x)<(-INT_MAX)) ? INT_MIN : f(q.a,q.b,q.c,x);
}

Je ne suis pas sûr de ce que fait cette erreur signifie? et comment le résoudre?

OriginalL'auteur user2840926 | 2013-10-03