semicolon consistency in the PRIV_CALL function-like macro

With a semicolon at the end of the PRIV_CALL replacement, the inclusion
of a semicolon after use of the macro is normally harmless, as the
latter yields a null statement.

However this would break code of the form

```
if (...)
	PRIV_CALL(...);
else
	...;
```

because the macro expansion would yield

```
if (...)
	foo_func(...);;
else
	...;
```

and the `else` would be orphaned.