Genericize the qualtype formating callback to support any diag argument.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59908 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Basic/Diagnostic.cpp b/lib/Basic/Diagnostic.cpp
index 8a897f5..fd65f75 100644
--- a/lib/Basic/Diagnostic.cpp
+++ b/lib/Basic/Diagnostic.cpp
@@ -116,10 +116,11 @@
// Common Diagnostic implementation
//===----------------------------------------------------------------------===//
-static void DummyQTToStringFnTy(intptr_t QT, const char *Modifier, unsigned ML,
- const char *Argument, unsigned ArgLen,
- llvm::SmallVectorImpl<char> &Output) {
- const char *Str = "<can't format QualType>";
+static void DummyArgToStringFn(Diagnostic::ArgumentKind AK, intptr_t QT,
+ const char *Modifier, unsigned ML,
+ const char *Argument, unsigned ArgLen,
+ llvm::SmallVectorImpl<char> &Output) {
+ const char *Str = "<can't format argument>";
Output.append(Str, Str+strlen(Str));
}
@@ -139,7 +140,7 @@
CustomDiagInfo = 0;
CurDiagID = ~0U;
- QualTypeToString = DummyQTToStringFnTy;
+ ArgToStringFn = DummyArgToStringFn;
}
Diagnostic::~Diagnostic() {
@@ -536,9 +537,9 @@
}
case Diagnostic::ak_qualtype:
OutStr.push_back('\'');
- getDiags()->ConvertQualTypeToString(getRawArg(ArgNo),
- Modifier, ModifierLen,
- Argument, ArgumentLen, OutStr);
+ getDiags()->ConvertArgToString(getArgKind(ArgNo), getRawArg(ArgNo),
+ Modifier, ModifierLen,
+ Argument, ArgumentLen, OutStr);
OutStr.push_back('\'');
break;
}