While adding the @throws documentation to the code in #600 I realized there was a single function in the interface which is throwing explicitly (simplecp::characterLiteralToLL()). We should be probably consistent and make this function non-throwing as well.
To enforce that the interface does not throw we should also try to mark functions as noexcept. But we should wait with this until there's a tool-driven way to validate this (i.e. llvm/llvm-project#168324).