The point of the dummy declaration is so that MAKE_CLONE(...) can have
a trailing semicolon without introducing an empty declaration. So,
the macro replacement text should *not* have a trailing semicolon,
just like DEF_WEAK.
!defined(HAVE_SHA512UPDATE)
/* no-op out, similar to DEF_WEAK but only needed here */
-#define MAKE_CLONE(x, y) void __ssh_compat_make_clone_##x_##y(void);
+#define MAKE_CLONE(x, y) void __ssh_compat_make_clone_##x_##y(void)
#include <string.h>
#include <sha2.h>