reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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';