This was setting a bad example. DiagIDs are a limited resource and the message
argument is evaluated as a format string.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197855
91177308-0d34-0410-b5e6-
96231b3b80d8
// Example error handling.
if (args[i] == "-an-error") {
DiagnosticsEngine &D = CI.getDiagnostics();
- unsigned DiagID = D.getCustomDiagID(
- DiagnosticsEngine::Error, "invalid argument '" + args[i] + "'");
- D.Report(DiagID);
+ unsigned DiagID = D.getCustomDiagID(DiagnosticsEngine::Error,
+ "invalid argument '%0'");
+ D.Report(DiagID) << args[i];
return false;
}
}