When cursor is in the second function body, mark-defun can’t mark the second function. But c-mark-defun can, and also the mark-defun in Emacs 25.3. Is it intended?

int test_func1(int a)
{
  int i;

  return 0;
}
int test_func2(int a)
{
  int i;

  return 0;
}