https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57248
--- Comment #9 from Daniel Krügler <daniel.kruegler at googlemail dot com> --- (In reply to Sumant Tambe from comment #8) > How does the recursive strmatch function work then? It works, because the function implementation does not contain any expression that would depend on being a constant expression. And it would be perfectly fine to invoke this function with non-constant arguments. From begin with it was an important design decision that constexpr functions can always be called like any other function.