Compiler projects using llvm
#define DIAG_PRAGMA_MACRO 1

#pragma clang diagnostic ignored "-Wparentheses"

#ifdef __cplusplus
template<typename T> const char *f(T t) {
  return "foo" + t;
}
#pragma clang diagnostic ignored "-Wstring-plus-int"
template<typename T> const char *g(T t) {
  return "foo" + t;
}
#endif