reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Basic/Diagnostic.cpp
  780   if (DiagEnd - DiagStr == 2 &&
  781       StringRef(DiagStr, DiagEnd - DiagStr).equals("%0") &&
  781       StringRef(DiagStr, DiagEnd - DiagStr).equals("%0") &&
  807   while (DiagStr != DiagEnd) {
  808     if (DiagStr[0] != '%') {
  810       const char *StrEnd = std::find(DiagStr, DiagEnd, '%');
  811       OutStr.append(DiagStr, StrEnd);
  812       DiagStr = StrEnd;
  814     } else if (isPunctuation(DiagStr[1])) {
  815       OutStr.push_back(DiagStr[1]);  // %% -> %.
  816       DiagStr += 2;
  821     ++DiagStr;
  832     if (!isDigit(DiagStr[0])) {
  833       Modifier = DiagStr;
  834       while (DiagStr[0] == '-' ||
  835              (DiagStr[0] >= 'a' && DiagStr[0] <= 'z'))
  835              (DiagStr[0] >= 'a' && DiagStr[0] <= 'z'))
  836         ++DiagStr;
  837       ModifierLen = DiagStr-Modifier;
  840       if (DiagStr[0] == '{') {
  841         ++DiagStr; // Skip {.
  842         Argument = DiagStr;
  844         DiagStr = ScanFormat(DiagStr, DiagEnd, '}');
  844         DiagStr = ScanFormat(DiagStr, DiagEnd, '}');
  845         assert(DiagStr != DiagEnd && "Mismatched {}'s in diagnostic string!");
  846         ArgumentLen = DiagStr-Argument;
  847         ++DiagStr;  // Skip }.
  851     assert(isDigit(*DiagStr) && "Invalid format for argument in diagnostic");
  852     unsigned ArgNo = *DiagStr++ - '0';
  859       assert(*DiagStr == ',' && isDigit(*(DiagStr + 1)) &&
  859       assert(*DiagStr == ',' && isDigit(*(DiagStr + 1)) &&
  861       ++DiagStr;  // Comma.
  862       ArgNo2 = *DiagStr++ - '0';