Lines Matching defs:DiagStr
1035 FormatDiagnostic(const char *DiagStr, const char *DiagEnd,
1040 if (DiagEnd - DiagStr == 2 && StringRef(DiagStr, DiagEnd - DiagStr) == "%0" &&
1062 while (DiagStr != DiagEnd) {
1063 if (DiagStr[0] != '%') {
1065 const char *StrEnd = std::find(DiagStr, DiagEnd, '%');
1066 OutStr.append(DiagStr, StrEnd);
1067 DiagStr = StrEnd;
1069 } else if (isPunctuation(DiagStr[1])) {
1070 OutStr.push_back(DiagStr[1]); // %% -> %.
1071 DiagStr += 2;
1076 ++DiagStr;
1087 if (!isDigit(DiagStr[0])) {
1088 Modifier = DiagStr;
1089 while (DiagStr[0] == '-' ||
1090 (DiagStr[0] >= 'a' && DiagStr[0] <= 'z'))
1091 ++DiagStr;
1092 ModifierLen = DiagStr-Modifier;
1095 if (DiagStr[0] == '{') {
1096 ++DiagStr; // Skip {.
1097 Argument = DiagStr;
1099 DiagStr = ScanFormat(DiagStr, DiagEnd, '}');
1100 assert(DiagStr != DiagEnd && "Mismatched {}'s in diagnostic string!");
1101 ArgumentLen = DiagStr-Argument;
1102 ++DiagStr; // Skip }.
1106 assert(isDigit(*DiagStr) && "Invalid format for argument in diagnostic");
1107 unsigned ArgNo = *DiagStr++ - '0';
1114 assert(*DiagStr == ',' && isDigit(*(DiagStr + 1)) &&
1116 ++DiagStr; // Comma.
1117 ArgNo2 = *DiagStr++ - '0';