diff --git a/src/stdplus/util/cexec.hpp b/src/stdplus/util/cexec.hpp
index 8a1a3f7..daf402c 100644
--- a/src/stdplus/util/cexec.hpp
+++ b/src/stdplus/util/cexec.hpp
@@ -156,7 +156,7 @@
  *  @throws std::system_error for an error case.
  *  @return A successful return value based on the function type
  */
-template <auto (*makeError)(int, const char*) = makeSystemError,
+template <auto(*makeError)(int, const char*) = makeSystemError,
           typename... Args>
 inline auto callCheckErrno(const char* msg, Args&&... args)
 {
@@ -181,7 +181,7 @@
         static_assert(std::is_same_v<Ret, int>, "Unimplemented check routine");
     }
 }
-template <auto (*makeError)(int, const char*) = makeSystemError,
+template <auto(*makeError)(int, const char*) = makeSystemError,
           typename... Args>
 inline auto callCheckErrno(const std::string& msg, Args&&... args)
 {
@@ -198,7 +198,7 @@
  *  @throws std::system_error for an error case.
  *  @return A successful return value based on the function type
  */
-template <auto (*makeError)(int, const char*) = makeSystemError,
+template <auto(*makeError)(int, const char*) = makeSystemError,
           typename... Args>
 inline auto callCheckRet(const char* msg, Args&&... args)
 {
@@ -216,7 +216,7 @@
         static_assert(std::is_same_v<Ret, int>, "Unimplemented check routine");
     }
 }
-template <auto (*makeError)(int, const char*) = makeSystemError,
+template <auto(*makeError)(int, const char*) = makeSystemError,
           typename... Args>
 inline auto callCheckRet(const std::string& msg, Args&&... args)
 {
