Interesting: each to their own. I usually put that stuff in unnamed
namespace and have done with it, or if the functions are small enough
code them as lambda expressions.
The only occasion where I tended to use the static keyword to acquire
internal linkage for functions only used in one translation unit was
with functions (say callbacks) with C linkage specification. Because
the 'extern C' declaration suppresses namespace name mangling, and in
C++98/03 functions in unnamed namespace had external linkage, this was
an open invitation to ODR violation. This was resolved in C++11 by
requiring unnamed namespace to have internal linkage so it is now safe
with functions with C linkage specification.
Chris