[clang-format] Allow configuring list of function-like macros that resolve to a type
Summary:
Adds a TypenameMacros configuration option that causes certain identifiers to be handled in a way similar to typeof().
This is enough to:
- Prevent misinterpreting declarations of pointers to such types as expressions (STACK_OF(int) * foo -> STACK_OF(int) *foo),
- Avoid surprising line breaks in variable/struct field declarations (STACK_OF(int)\nfoo; -> STACK_OF(int) foo;, see https://bugs.llvm.org/show_bug.cgi?id=30353).
Reviewers: Typz, krasimir, djasper
Reviewed By: Typz
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D57184