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

References

gen/tools/lldb/scripts/LLDBWrapPython.cpp
80505     python_function_name_string += ".__lldb_init_module";
include/llvm/ADT/StringExtras.h
  337   Result += Item;
  343   Result += A1;
  344   Result += Separator;
include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
  636       NewName += ".";
lib/Analysis/CallGraphSCCPass.cpp
  691       Desc += ", ";
  696       Desc += "<<null function>>";
  698   Desc += ")";
lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
  551         Msg += ", ";
lib/CodeGen/AsmPrinter/DwarfUnit.cpp
  759       CS += "::";
lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp
   55   SymName += "caml";
   58   SymName += "__";
   59   SymName += Id;
lib/CodeGen/MachineScheduler.cpp
 3733       Str += ",style=filled,fillcolor=\"#";
lib/CodeGen/TargetLoweringBase.cpp
 1835   Name += IsSqrt ? "sqrt" : "div";
 1839     Name += "d";
 1843     Name += "f";
lib/CodeGen/TargetPassConfig.cpp
  480         Res += Separator;
  482       Res += OptNames[Idx];
lib/DebugInfo/CodeView/TypeRecordMapping.cpp
   68       FlagLabel += (" | ");
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
  135       ErrorMsg += "' while parsing subexpression '";
  138     ErrorMsg += "'";
  140       ErrorMsg += " ";
  425       ErrMsg += "'";
  427         ErrMsg += " (this appears to be an assembler local label - "
lib/IR/Attributes.cpp
  398     Result += "byval";
  416     Result += "align";
  417     Result += (InAttrGrp) ? "=" : " ";
  424     Result += Name;
  426       Result += "=";
  429       Result += "(";
  431       Result += ")";
lib/IR/Function.cpp
  598       Result += "s_";
  601       Result += "sl_";
  606     Result += "s";
  612       Result += "vararg";
  614     Result += "f";
  617       Result += "nx";
  623     case Type::VoidTyID:      Result += "isVoid";   break;
  624     case Type::MetadataTyID:  Result += "Metadata"; break;
  625     case Type::HalfTyID:      Result += "f16";      break;
  626     case Type::FloatTyID:     Result += "f32";      break;
  627     case Type::DoubleTyID:    Result += "f64";      break;
  628     case Type::X86_FP80TyID:  Result += "f80";      break;
  629     case Type::FP128TyID:     Result += "f128";     break;
  630     case Type::PPC_FP128TyID: Result += "ppcf128";  break;
  631     case Type::X86_MMXTyID:   Result += "x86mmx";   break;
lib/IR/ModuleSummaryIndex.cpp
  238   A += "=\"";
  240   A += "\"";
  250       Comments += ", ";
  263   Ret += "];";
  333   Label += "}";
lib/MC/MCParser/DarwinAsmParser.cpp
  676   SectionSpec += ",";
lib/Object/COFFModuleDefinition.cpp
  218           Info.OutputFile += IsDll ? ".dll" : ".exe";
lib/Object/ELFObjectFile.cpp
  321       Triple += "v4";
  324       Triple += "v4t";
  327       Triple += "v5t";
  330       Triple += "v5te";
  333       Triple += "v5tej";
  336       Triple += "v6";
  339       Triple += "v6kz";
  342       Triple += "v6t2";
  345       Triple += "v6k";
  348       Triple += "v7";
  351       Triple += "v6m";
  354       Triple += "v6sm";
  357       Triple += "v7em";
  360       Triple += "v8a";
  363       Triple += "v8r";
  366       Triple += "v8m.base";
  369       Triple += "v8m.main";
  372       Triple += "v8.1m.main";
  377     Triple += "eb";
lib/Option/OptTable.cpp
  241         S += In.HelpText;
  448       Name += MetaVarName;
  453         Name += " <value>";
  471       Name += MetaVarName;
  473       Name += "<value>";
lib/ProfileData/GCOV.cpp
  698   CoveragePath += ".gcov";
lib/ProfileData/InstrProf.cpp
  174     SectName += InstrProfSectNameCoff[IPSK];
  176     SectName += InstrProfSectNameCommon[IPSK];
  179     SectName += ",regular,live_support";
lib/Support/BinaryStreamError.cpp
   27     ErrMsg += "An unspecified error has occurred.";
   30     ErrMsg += "The stream is too short to perform the requested operation.";
   33     ErrMsg += "The buffer size is not a multiple of the array element size.";
   36     ErrMsg += "The specified offset is invalid for the current stream.";
   39     ErrMsg += "An I/O error occurred on the file system.";
   44     ErrMsg += "  ";
lib/Support/FileCheck.cpp
  364       RegExStr += " *";
  585       RegExStr += " *";
lib/Support/FileUtilities.cpp
  137       *ErrorMsg += "' and '";
  139       *ErrorMsg += "'";
lib/Support/Unix/Host.inc
   49     TargetTripleString += "-darwin";
   60         NewOSName += name.version;
   62         NewOSName += name.release;
   63         NewOSName += ".0.0";
lib/Support/Unix/Program.inc
  423         *ErrMsg += " (core dumped)";
lib/Support/YAMLParser.cpp
  694       EscapedInput += "\\\\";
  696       EscapedInput += "\\\"";
  698       EscapedInput += "\\0";
  700       EscapedInput += "\\a";
  702       EscapedInput += "\\b";
  704       EscapedInput += "\\t";
  706       EscapedInput += "\\n";
  708       EscapedInput += "\\v";
  710       EscapedInput += "\\f";
  712       EscapedInput += "\\r";
  714       EscapedInput += "\\e";
  730         EscapedInput += "\\N";
  732         EscapedInput += "\\_";
  734         EscapedInput += "\\L";
  736         EscapedInput += "\\P";
lib/TableGen/Record.cpp
  210       Str += ", ";
  214   Str += "}";
  414     if (i) Result += ", ";
  418       Result += "*";
  673     Result += sep;
 1700     Result += sep;
 1868       Result += ", ";
lib/Target/AArch64/AArch64AsmPrinter.cpp
  254       SymName += "_short";
lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
 2839     Str += "ARMv8.1a";
 2841     Str += "ARMv8.2a";
 2843     Str += "ARMv8.3a";
 2845     Str += "ARMv8.4a";
 2847     Str += "ARMv8.5a";
 2856     Str += ext != std::end(ExtensionMap) ? ext->Name : "(unknown)";
 4831         Msg += " ";
 4832         Msg += getSubtargetFeatureName(i);
lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
  577       KeyName += " (";
  578       KeyName += RegName;
lib/Target/ARM/ARMTargetMachine.cpp
  139     Ret += "e";
  142     Ret += "E";
  144   Ret += DataLayout::getManglingComponent(TT);
  147   Ret += "-p:32:32";
  151   Ret += "-Fi8";
  155     Ret += "-i64:64";
  160     Ret += "-f64:32:64";
  165     Ret += "-v64:32:64-v128:32:128";
  167     Ret += "-v128:64:128";
  171   Ret += "-a:0:32";
  174   Ret += "-n32";
  179     Ret += "-S128";
  181     Ret += "-S64";
  183     Ret += "-S32";
  273     FS += FS.empty() ? "+soft-float" : ",+soft-float";
  279     Key += "+minsize";
lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
  145       ARMArchFeature += ",";
  146     ARMArchFeature += "+thumb-mode,+v4t";
  151       ARMArchFeature += ",";
  152     ARMArchFeature += "+nacl-trap";
  157       ARMArchFeature += ",";
  158     ARMArchFeature += "+noarm";
lib/Target/Mips/Mips16HardFloat.cpp
  284   AsmText += ".set reorder\n";
  287     AsmText += "move $$18, $$31\n";
  296     AsmText += "mfc1 $$2, $$f0\n";
  301       AsmText += "mfc1 $$2, $$f0\n";
  302       AsmText += "mfc1 $$3, $$f1\n";
  304       AsmText += "mfc1 $$3, $$f0\n";
  305       AsmText += "mfc1 $$2, $$f1\n";
  311       AsmText += "mfc1 $$2, $$f0\n";
  312       AsmText += "mfc1 $$3, $$f2\n";
  314       AsmText += "mfc1 $$3, $$f0\n";
  315       AsmText += "mfc1 $$3, $$f2\n";
  321       AsmText += "mfc1 $$4, $$f2\n";
  322       AsmText += "mfc1 $$5, $$f3\n";
  323       AsmText += "mfc1 $$2, $$f0\n";
  324       AsmText += "mfc1 $$3, $$f1\n";
  327       AsmText += "mfc1 $$5, $$f2\n";
  328       AsmText += "mfc1 $$4, $$f3\n";
  329       AsmText += "mfc1 $$3, $$f0\n";
  330       AsmText += "mfc1 $$2, $$f1\n";
  339     AsmText += "jr $$18\n";
  341     AsmText += "jr $$25\n";
  468     AsmText += ".set noreorder\n";
  469     AsmText += ".cpload $$25\n";
  470     AsmText += ".set reorder\n";
  476   AsmText += "jr $$25\n";
lib/Target/Mips/MipsTargetMachine.cpp
   70     Ret += "e";
   72     Ret += "E";
   75     Ret += "-m:m";
   77     Ret += "-m:e";
   81     Ret += "-p:32:32";
   85   Ret += "-i8:8:32-i16:16:32-i64:64";
   91     Ret += "-n32:64-S128";
   93     Ret += "-n32-S64";
  186     FS += FS.empty() ? "+mips16" : ",+mips16";
  188     FS += FS.empty() ? "-mips16" : ",-mips16";
  190     FS += FS.empty() ? "+micromips" : ",+micromips";
  192     FS += FS.empty() ? "-micromips" : ",-micromips";
  194     FS += FS.empty() ? "+soft-float" : ",+soft-float";
lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
  156     ParamBaseName += "_param_";
lib/Target/NVPTX/NVPTXTargetMachine.cpp
   98     Ret += "-p:32:32";
  100     Ret += "-p3:32:32-p4:32:32-p5:32:32";
  102   Ret += "-i64:64-i128:128-v16:16-v32:32-n16:32:64";
lib/Target/PowerPC/PPCTargetMachine.cpp
  135   Ret += DataLayout::getManglingComponent(T);
  140     Ret += "-p:32:32";
  145     Ret += "-i64:64";
  147     Ret += "-f64:32:64";
  151     Ret += "-n32:64";
  153     Ret += "-n32";
  333     FS += FS.empty() ? "-hard-float" : ",-hard-float";
lib/Target/Sparc/SparcTargetMachine.cpp
   33   Ret += "-m:e";
   37     Ret += "-p:32:32";
   40   Ret += "-i64:64";
   45     Ret += "-n32:64";
   47     Ret += "-f128:64-n32";
   50     Ret += "-S128";
   52     Ret += "-S64";
  128     FS += FS.empty() ? "+soft-float" : ",+soft-float";
lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
 1265         Msg += " ";
 1266         Msg += getSubtargetFeatureName(I);
lib/Target/SystemZ/SystemZTargetMachine.cpp
   65   Ret += "E";
   68   Ret += DataLayout::getManglingComponent(TT);
   73   Ret += "-i1:8:16-i8:8:16";
   76   Ret += "-i64:64";
   79   Ret += "-f128:64";
   83     Ret += "-v128:64";
   86   Ret += "-a:8:16";
   89   Ret += "-n32:64";
lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
  326     if (&Ty != &List[0]) S += ", ";
  327     S += WebAssembly::typeToString(Ty);
  335   S += ") -> (";
  337   S += ")";
lib/Target/X86/X86TargetMachine.cpp
  114   Ret += DataLayout::getManglingComponent(TT);
  119     Ret += "-p:32:32";
  122   Ret += "-p270:32:32-p271:32:32-p272:64:64";
  126     Ret += "-i64:64";
  128     Ret += "-i64:32-f64:32";
  130     Ret += "-f64:32:64";
  136     Ret += "-f80:128";
  138     Ret += "-f80:32";
  141     Ret += "-f128:32";
  145     Ret += "-n8:16:32:64";
  147     Ret += "-n8:16:32";
  151     Ret += "-a:0:32-S32";
  153     Ret += "-S128";
lib/TextAPI/MachO/Symbol.cpp
   23     Result += "(undef) ";
   25     Result += "(weak-def) ";
   27     Result += "(weak-ref) ";
   29     Result += "(tlv) ";
lib/Transforms/IPO/ArgumentPromotion.cpp
  459         NewName += ".val";
lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
 1600             TName += "$";
lib/Transforms/Utils/ASanStackFrameLayout.cpp
  106       Name += ":";
lib/Transforms/Utils/InlineFunction.cpp
  956       Name += ": %";
  959       Name += ": argument ";
lib/Transforms/Vectorize/LoopVectorize.cpp
 7688       IntDiagMsg.second +=
tools/bugpoint/BugDriver.cpp
   71       Result += " ";
   72     Result += "-";
tools/bugpoint/ToolRunner.cpp
  721     Exec += env_pwd;
  722     Exec += "; ./";
  723     Exec += OutputBinary.c_str();
tools/clang/lib/ARCMigrate/ARCMT.cpp
  602     newFname += "-trans";
tools/clang/lib/ARCMigrate/ObjCMT.cpp
  299       PropertyDotString += " =";
  312         PropertyDotString += " ";
  397     PropertyString += "(";
  401     PropertyString += ", ";
  402   PropertyString += attr;
  425           PropertyString += name;
  473     PropertyString += "(NS_NONATOMIC_IOSONLY";
  476     PropertyString += "(nonatomic";
  484       PropertyString += "(getter=";
  488       PropertyString += ", getter=";
  526   PropertyString += " ";
  686         ClassString += ", ";
  688     ClassString += "> ";
  695         ClassString += ", ";
  730   ClassString += ", ";
  783   ClassString += ", ";
  786   ClassString += ") ";
  982     ClassString += " (instancetype)";
  998       ClassString += "*";
 1004     ClassString += IDecl->getName(); ClassString += "*)";
tools/clang/lib/ARCMigrate/TransUnbridgedCasts.cpp
  365       err += "' the result of '";
  366       err += family == OMF_autorelease ? "autorelease" : "release";
  367       err += "' message; a __bridge cast may result in a pointer to a "
  380         note += "' to have the object automatically autoreleased";
tools/clang/lib/AST/ASTContext.cpp
 6350   S += "@?0";
 6461   S += "@0:";
 6555     S += ",R";
 6557       S += ",C";
 6559       S += ",&";
 6561       S += ",W";
 6565     case ObjCPropertyDecl::Copy:   S += ",C"; break;
 6566     case ObjCPropertyDecl::Retain: S += ",&"; break;
 6567     case ObjCPropertyDecl::Weak:   S += ",W"; break;
 6574     S += ",D";
 6577     S += ",N";
 6580     S += ",G";
 6585     S += ",S";
 6591     S += ",V";
 6993     S += "@?"; // Unlike a pointer-to-function, which is "^?".
 7002       S += "@?";
 7018       S += "{objc_object=}";
 7022       S += "{objc_class=}";
 7203       S += "\"_vptr$";
 7209     S += "^^?";
tools/clang/lib/AST/CommentBriefParser.cpp
   91         ReturnsParagraph += "Returns ";
tools/clang/lib/AST/DeclPrinter.cpp
  306       Proto += " : ";
  656     Proto += "(";
  672           Proto += ", ";
  677     Proto += ")";
  681         Proto += " const";
  683         Proto += " volatile";
  685         Proto += " restrict";
  691         Proto += " &";
  694         Proto += " &&";
  700       Proto += " throw(";
  702         Proto += "...";
  706             Proto += ", ";
  710       Proto += ")";
  712       Proto += " noexcept";
  714         Proto += "(";
  720         Proto += ")";
tools/clang/lib/AST/FormatString.cpp
  550       Alias += (Alias[Alias.size()-1] == '*') ? "*" : " *";
tools/clang/lib/AST/RawCommentList.cpp
  391       Result += "\n";
  423         Result += "\n";
tools/clang/lib/AST/Stmt.cpp
  548         Result += "$$";
  578     case '$': CurStringPiece += "$$"; continue;
  579     case '{': CurStringPiece += (HasVariants ? "$(" : "{"); continue;
  580     case '|': CurStringPiece += (HasVariants ? "$|" : "|"); continue;
  581     case '}': CurStringPiece += (HasVariants ? "$)" : "}"); continue;
  606       CurStringPiece += "${:uid}";
tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp
  652       TypedText += "(";
  654         TypedText += ")";
  656         TypedText += "\"";
tools/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp
  131         Inner += "|";
  194         Inner += "&";
tools/clang/lib/Analysis/ThreadSafetyCommon.cpp
   47       ret += "\"";
tools/clang/lib/Basic/Targets.cpp
   93       GCCSpelling += CC;
   94       GCCSpelling += "__))";
tools/clang/lib/CodeGen/CGBlocks.cpp
  128       Name += "e";
  130       Name += "a";
  157     Name += "_";
 1837     Str += "c";
 1845     Str += "w";
 1848     Str += "s";
 1854       Str += "r";
 1856         Str += "w";
 1862             Str += "c";
 1866             Str += "d";
 1872         Str += "b";
 1874         Str += "o";
 1883     Str += "n";
 1915     Name += "e";
 1917     Name += "a";
tools/clang/lib/CodeGen/CGExpr.cpp
 2978     FnName += "_minimal";
 2980     FnName += "_abort";
tools/clang/lib/CodeGen/CGObjCGNU.cpp
  918       name += "$m";
tools/clang/lib/CodeGen/CGObjCMac.cpp
 2873       Str += "u";
 2883         Str += "s";
 2886         Str += "r";
 2889         Str += "w";
 4227       Constraint += "*m";
 4241       Constraint += "=*m";
 7152       messageRefName += "objc_msgSendSuper2_stret_fixup";
 7156       messageRefName += "objc_msgSend_stret_fixup";
 7160     messageRefName += "objc_msgSend_fpret_fixup";
 7164       messageRefName += "objc_msgSendSuper2_fixup";
 7167       messageRefName += "objc_msgSend_fixup";
tools/clang/lib/CodeGen/CGStmt.cpp
 1761       Result += "|";
 1764       Result += "imr";
 2092       Constraints += "=*";
 2249     Constraints += "~{";
tools/clang/lib/CodeGen/CodeGenModule.cpp
 1335           typeQuals += typeQuals.empty() ? "const" : " const";
 1337           typeQuals += typeQuals.empty() ? "volatile" : " volatile";
 3034     ResolverName += ".ifunc";
 3036     ResolverName += ".resolver";
tools/clang/lib/CodeGen/TargetInfo.cpp
 1215     Constraints += "={eax}";
 1219     Constraints += "=A";
 2377     ArgStr += ".lib";
 2378   ArgStr += Quote ? "\"" : "";
tools/clang/lib/Driver/Action.cpp
  116     Res += "-cuda";
  118     Res += "-hip";
  120     Res += "-openmp";
  139   Res += "-";
tools/clang/lib/Driver/Driver.cpp
  868     CfgFileName += ".cfg";
 4020     TriplePlusArch += "-";
 4023   TriplePlusArch += "-";
 4276       OffloadingPrefix += "-wrapper";
tools/clang/lib/Driver/Job.cpp
  307   ResponseFileFlag += FileName;
tools/clang/lib/Driver/SanitizerArgs.cpp
 1153         Sanitizers += ",";
 1154       Sanitizers += A->getValue(i);
tools/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
   81   Error += " for extension";
  137       Error += " not given in canonical order";
  148       Error += " name missing after";
tools/clang/lib/Driver/ToolChains/Clang.cpp
 5000     PackStructStr += A->getValue();
 5012       MaxTypeAlignStr += A->getValue();
 5158         Extension += A->getValue();
 5160         Extension += "yaml";
tools/clang/lib/Driver/ToolChains/Fuchsia.cpp
   89       Dyld += "asan/";
   90     Dyld += "ld.so.1";
tools/clang/lib/Driver/ToolChains/Linux.cpp
  540       ArchName += "hf";
tools/clang/lib/Driver/ToolChains/TCE.cpp
   27   Path += "/../libexec";
tools/clang/lib/Format/BreakableToken.cpp
  592     PrefixWithTrailingIndent += " ";
tools/clang/lib/Format/Format.cpp
 1944       result += "\n";
 1948         result += "\n";
 2111       result += "\n";
 2114         result += "\n";
 2118       result += "\n";
tools/clang/lib/Format/NamespaceEndCommentsFixer.cpp
   61         name += " ";
   73     text += "(";
   78     text += ")";
tools/clang/lib/Format/SortJavaScriptImports.cpp
  157         ReferencesText += "\n";
  163           ReferencesText += "\n";
  182       ReferencesText += " ";
  187       ReferencesText += "\n";
  265         Buffer += ",";
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  568           To += "\\\"";
  832   Result += "OBJC_IVAR_$_";
  834   Result += "$";
  864       RecName += "_IMPL";
  892   S += ")";
  895   S += "((char *)self + ";
  897   S += "))";
  899     S += ".";
  956     Getr += "{ ";
  961       Getr += "typedef ";
  965       Getr += " _TYPE";
  967         Getr += ")"; // close the precedence "scope" for "*".
  971           Getr += "(";
  973             if (i) Getr += ", ";
  980               Getr += ", ";
  981             Getr += "...";
  983           Getr += ")";
  985           Getr += "()";
  987       Getr += ";\n";
  988       Getr += "return (_TYPE)";
  989       Getr += "objc_getProperty(self, _cmd, ";
  991       Getr += ", 1)";
  995     Getr += "; }";
 1016   Setr += "{ ";
 1020     Setr += "objc_setProperty (self, _cmd, ";
 1022     Setr += ", (id)";
 1024     Setr += ", ";
 1026       Setr += "0, ";
 1028       Setr += "1, ";
 1030       Setr += "1)";
 1032       Setr += "0)";
 1038   Setr += "; }\n";
 1044   typedefString += "\n#ifndef _REWRITER_typedef_";
 1046   typedefString += "\n";
 1047   typedefString += "#define _REWRITER_typedef_";
 1049   typedefString += "\n";
 1050   typedefString += "typedef struct objc_object ";
 1053   typedefString += ";\ntypedef struct {} _objc_exc_";
 1055   typedefString += ";\n#endif\n";
 1075         typedefString += "// @class ";
 1077         typedefString += ";";
 1094       typedefString += "// @class ";
 1096       typedefString += ";";
 1207     ResultStr += "id";
 1221       ResultStr += "(*";
 1232   ResultStr += "\nstatic ";
 1234   ResultStr += " ";
 1240     NameStr += "_I_";
 1242     NameStr += "_C_";
 1245   NameStr += "_";
 1250     NameStr += "_";
 1266   ResultStr += "(";
 1274         ResultStr += "struct ";
 1278     ResultStr += " *";
 1284   ResultStr += " self, ";
 1286   ResultStr += " _cmd";
 1290     ResultStr += ", ";
 1292       ResultStr += "id ";
 1304     ResultStr += ", ...";
 1305   ResultStr += ") ";
 1308     ResultStr += ")"; // close the precedence "scope" for "*".
 1312       ResultStr += "(";
 1314         if (i) ResultStr += ", ";
 1321           ResultStr += ", ";
 1322         ResultStr += "...";
 1324       ResultStr += ")";
 1326       ResultStr += "()";
 1589   buf += "((_WIN_NSUInteger (*) (id, SEL, struct __objcFastEnumerationState *, "
 1591   buf += "\n\t\t";
 1592   buf += "((id)l_collection,\n\t\t";
 1593   buf += "sel_registerName(\"countByEnumeratingWithState:objects:count:\"),";
 1594   buf += "\n\t\t";
 1595   buf += "&enumState, "
 1620     LineString += "\n#line ";
 1623     LineString += " \"";
 1625     LineString += "\"\n";
 1694   buf += "{\n\t";
 1706     buf += " ";
 1709     buf += ";\n\t";
 1724   buf += "struct __objcFastEnumerationState enumState = { 0 };\n\t";
 1726   buf += "id __rw_items[16];\n\t";
 1728   buf += "id l_collection = (id)";
 1761   buf += "_WIN_NSUInteger limit =\n\t\t";
 1763   buf += ";\n\t";
 1772   buf += "if (limit) {\n\t";
 1773   buf += "unsigned long startMutations = *enumState.mutationsPtr;\n\t";
 1774   buf += "do {\n\t\t";
 1775   buf += "unsigned long counter = 0;\n\t\t";
 1776   buf += "do {\n\t\t\t";
 1777   buf += "if (startMutations != *enumState.mutationsPtr)\n\t\t\t\t";
 1778   buf += "objc_enumerationMutation(l_collection);\n\t\t\t";
 1780   buf += " = (";
 1782   buf += ")enumState.itemsPtr[counter++];";
 1798   buf += "__continue_label_";
 1800   buf += ": ;";
 1801   buf += "\n\t\t";
 1802   buf += "} while (counter < limit);\n\t";
 1803   buf += "} while ((limit = ";
 1805   buf += "));\n\t";
 1807   buf += " = ((";
 1809   buf += ")0);\n\t";
 1810   buf += "__break_label_";
 1812   buf += ": ;\n\t";
 1813   buf += "}\n\t";
 1814   buf += "else\n\t\t";
 1816   buf += " = ((";
 1818   buf += ")0);\n\t";
 1819   buf += "}\n";
 1846   buf += "{ struct _FIN { _FIN(id reth) : rethrow(reth) {}\n";
 1847   buf += "\t~_FIN() { if (rethrow) objc_exception_throw(rethrow); }\n";
 1848   buf += "\tid rethrow;\n";
 1849   buf += "\t} _fin_force_rethow(_rethrow);";
 1868   buf += "{ id _rethrow = 0; id _sync_obj = (id)";
 1875   buf += "try {\n\tstruct _SYNC_EXIT { _SYNC_EXIT(id arg) : sync_exit(arg) {}";
 1876   buf += "\n\t~_SYNC_EXIT() {objc_sync_exit(sync_exit);}";
 1877   buf += "\n\tid sync_exit;";
 1878   buf += "\n\t} _sync_exit(_sync_obj);\n";
 1899   buf += "}\n";
 1900   buf += "}\n";
 1938       buf += "{ id volatile _rethrow = 0;\n";
 1940       buf += "{ id volatile _rethrow = 0;\ntry {\n";
 1975           Result += "catch (_objc_exc_"; Result += IDecl->getNameAsString();
 1976           Result += " *_"; Result += catchDecl->getNameAsString();
 1977           Result += ")";
 1983           Result += " *"; Result += catchDecl->getNameAsString();
 1984           Result += " = ("; Result += IDecl->getNameAsString(); Result += "*)";
 1984           Result += " = ("; Result += IDecl->getNameAsString(); Result += "*)";
 1985           Result += "_"; Result += catchDecl->getNameAsString();
 1987           Result += "; ";
 2005       buf += "catch (id e) {_rethrow = e;}\n";
 2008       buf += "}\n";
 2010       buf += "catch (id e) {_rethrow = e;}\n";
 2382   FdStr += " ";
 2384   FdStr +=  "(";
 2390     FdStr += ", ";
 2393     FdStr +=  (numArgs > 0) ? ", ...);\n" : "...);\n";
 2396     FdStr +=  ");\n";
 2566   S += "_";
 2570   Preamble += " __attribute__ ((section (\"__DATA, __cfstring\"))) = {__CFConstantStringClassReference,";
 2571   Preamble += "0x000007c8,"; // utf8_str
 2577   Preamble += ",";
 3055     LineString += " \"";
 3058       LineString += "\"";
 3059     else LineString += "\"\n";
 3100   str += "namespace {\n";
 3101   str += "struct "; str += name;
 3102   str += " {\n\t";
 3104   str += "(id receiver, SEL sel";
 3108     str += ", "; str += ArgName;
 3115     str += ", "; str += ArgName;
 3118   str += ") {\n";
 3119   str += "\t  unsigned size = sizeof(";
 3120   str += returnType.getAsString(Context->getPrintingPolicy()); str += ");\n";
 3122   str += "\t  if (size == 1 || size == 2 || size == 4 || size == 8)\n";
 3124   str += "\t    s = (("; str += castType.getAsString(Context->getPrintingPolicy());
 3125   str += ")(void *)objc_msgSend)(receiver, sel";
 3127     str += ", arg"; str += utostr(i);
 3131     str += ", arg"; str += utostr(i);
 3133   str+= ");\n";
 3135   str += "\t  else if (receiver == 0)\n";
 3136   str += "\t    memset((void*)&s, 0, sizeof(s));\n";
 3137   str += "\t  else\n";
 3139   str += "\t    s = (("; str += castType.getAsString(Context->getPrintingPolicy());
 3140   str += ")(void *)objc_msgSend_stret)(receiver, sel";
 3142     str += ", arg"; str += utostr(i);
 3146     str += ", arg"; str += utostr(i);
 3148   str += ");\n";
 3150   str += "\t}\n";
 3151   str += "\t"; str += returnType.getAsString(Context->getPrintingPolicy());
 3152   str += " s;\n";
 3153   str += "};\n};\n\n";
 3630     Result += "\t";
 3642         Result += "\n\tstruct ";
 3644         Result += "\n\tunion ";
 3651         Result += " ";
 3654       Result += " {\n";
 3657       Result += "\t} ";
 3664       Result += "\n\tenum ";
 3668         Result += " ";
 3672       Result += " {\n";
 3674         Result += "\t"; Result += EC->getName(); Result += " = ";
 3674         Result += "\t"; Result += EC->getName(); Result += " = ";
 3677         Result += ",\n";
 3679       Result += "\t} ";
 3684   Result += "\t";
 3702     Result += " : "; Result += utostr(fieldDecl->getBitWidthValue(*Context));
 3708         Result += "[";
 3711         Result += "]";
 3717   Result += ";\n";
 3747       Result += ";";
 3839   Result += "__GRBF_";
 3851   Result += "__T_";
 3861   Result += "OBJC_IVAR_$_";
 3913       Result += ";";
 3918   Result += "\nstruct ";
 3920   Result += "_IMPL {\n";
 3923     Result += "\tstruct "; Result += RCDecl->getNameAsString();
 3924     Result += "_IMPL "; Result += RCDecl->getNameAsString();
 3925     Result += "_IVARS;\n";
 3931       Result += "\tstruct ";
 3932       ObjCIvarBitfieldGroupType(IV, Result); Result += " ";
 3933       ObjCIvarBitfieldGroupDecl(IV, Result); Result += ";\n";
 3941   Result += "};\n";
 3969     Result += "\n";
 3971       Result += "__declspec(allocate(\".objc_ivar$B\")) ";
 3972     Result += "extern \"C\" ";
 3976         Result += "__declspec(dllimport) ";
 3978     Result += "unsigned long ";
 3985     Result += ";";
 4026     ResultStr += "struct ";
 4067       if (AI != BD->param_begin()) S += ", ";
 4075       if (!BD->param_empty()) S += ", ";
 4076       S += "...";
 4080   S += " {\n";
 4086     S += "  ";
 4090     TypeString += " *";
 4097     S += "  ";
 4110       S += " = (";
 4112       S += ")";
 4128   S += cstr;
 4129   S += "\n";
 4143   S += "*src) {";
 4145     S += "_Block_object_assign((void*)&dst->";
 4147     S += ", (void*)src->";
 4156   S += "}\n";
 4158   S += "\nstatic void __";
 4162   S += "*src) {";
 4164     S += "_Block_object_dispose((void*)src->";
 4173   S += "}\n";
 4182   S += " {\n  struct __block_impl impl;\n";
 4184   S += "* Desc;\n";
 4186   Constructor += "(void *fp, "; // Invoke function pointer.
 4188   Constructor += " *desc";
 4194       S += "  ";
 4208         S += "struct __block_impl *";
 4223       S += "  ";
 4229         TypeString += " *";
 4237     Constructor += ", int flags=0)";
 4244           Constructor += " : ";
 4248           Constructor += ", ";
 4259         Constructor += " : ";
 4263         Constructor += ", ";
 4267     Constructor += " {\n";
 4269       Constructor += "    impl.isa = &_NSConcreteGlobalBlock;\n";
 4271       Constructor += "    impl.isa = &_NSConcreteStackBlock;\n";
 4272     Constructor += "    impl.Flags = flags;\n    impl.FuncPtr = fp;\n";
 4274     Constructor += "    Desc = desc;\n";
 4277     Constructor += ", int flags=0) {\n";
 4279       Constructor += "    impl.isa = &_NSConcreteGlobalBlock;\n";
 4281       Constructor += "    impl.isa = &_NSConcreteStackBlock;\n";
 4282     Constructor += "    impl.Flags = flags;\n    impl.FuncPtr = fp;\n";
 4283     Constructor += "    Desc = desc;\n";
 4285   Constructor += "  ";
 4286   Constructor += "}\n";
 4288   S += "};\n";
 4298   S += " {\n  size_t reserved;\n";
 4299   S += "  size_t Block_size;\n";
 4301     S += "  void (*copy)(struct ";
 4302     S += ImplTag; S += "*, struct ";
 4303     S += ImplTag; S += "*);\n";
 4305     S += "  void (*dispose)(struct ";
 4306     S += ImplTag; S += "*);\n";
 4308   S += "} ";
 4316   S += "};\n";
 4329     SC += "() {}";
 4395       SC += "const ";
 4397       SC += "volatile ";
 4399       SC += "restrict ";
 4408     Tag += "_block_impl_";
 4411     globalBuf += Tag; globalBuf += " ";
 4418     globalBuf += ";\n";
 4733     TypeAsString += ")";
 4762   Str += ")";
 4915         buf += "/*";
 4923         buf += "*/";
 4964   S += "(void *dst, void *src) {\n";
 4974   S += " _Block_object_assign((char*)dst + ";
 4976   S += ", *(void * *) ((char*)src + ";
 4978   S += "), ";
 4980   S += ");\n}\n";
 4982   S += "static void __Block_byref_id_object_dispose_";
 4984   S += "(void *src) {\n";
 4985   S += " _Block_object_dispose(*(void * *) ((char*)src + ";
 4987   S += "), ";
 4989   S += ");\n}\n";
 5027   ByrefType += " {\n";
 5028   ByrefType += "  void *__isa;\n";
 5030   ByrefType += " *__forwarding;\n";
 5031   ByrefType += " int __flags;\n";
 5032   ByrefType += " int __size;\n";
 5038     ByrefType += " void (*__Block_byref_id_object_copy)(void*, void*);\n";
 5039     ByrefType += " void (*__Block_byref_id_object_dispose)(void*);\n";
 5047   ByrefType += "};\n";
 5100   ByrefType += ", ";
 5101   ByrefType += "sizeof(";
 5103   ByrefType += ")";
 5105     ByrefType += ", __Block_byref_id_object_copy_";
 5107     ByrefType += ", __Block_byref_id_object_dispose_";
 5126     ByrefType += "};\n";
 5135     ByrefType += ", ";
 5811     Result += "static ";
 5812   Result += "struct _protocol_t *";
 5813   Result += "_OBJC_PROTOCOL_REFERENCE_$_";
 5815   Result += " = &";
 5816   Result += "_OBJC_PROTOCOL_"; Result += PDecl->getNameAsString();
 5817   Result += ";\n";
 5885   Preamble += "#ifndef __OBJC2__\n";
 5886   Preamble += "#define __OBJC2__\n";
 5887   Preamble += "#endif\n";
 5893   Preamble += "struct objc_selector; struct objc_class;\n";
 5894   Preamble += "struct __rw_objc_super { \n\tstruct objc_object *object; ";
 5895   Preamble += "\n\tstruct objc_object *superClass; ";
 5897   Preamble += "\n\t__rw_objc_super(struct objc_object *o, struct objc_object *s) ";
 5898   Preamble += ": object(o), superClass(s) {} ";
 5899   Preamble += "\n};\n";
 5904     Preamble += "\n#pragma section(\".objc_classlist$B\", long, read, write)\n";
 5905     Preamble += "#pragma section(\".objc_catlist$B\", long, read, write)\n";
 5906     Preamble += "#pragma section(\".objc_imageinfo$B\", long, read, write)\n";
 5907     Preamble += "#pragma section(\".objc_nlclslist$B\", long, read, write)\n";
 5908     Preamble += "#pragma section(\".objc_nlcatlist$B\", long, read, write)\n";
 5910     Preamble += "#pragma section(\".cat_cls_meth$B\", long, read, write)\n";
 5911     Preamble += "#pragma section(\".inst_meth$B\", long, read, write)\n";
 5912     Preamble += "#pragma section(\".cls_meth$B\", long, read, write)\n";
 5913     Preamble += "#pragma section(\".objc_ivar$B\", long, read, write)\n";
 5917     Preamble += "#pragma section(\".objc_selrefs$B\", long, read, write)\n";
 5918     Preamble += "#pragma section(\".objc_classrefs$B\", long, read, write)\n";
 5919     Preamble += "#pragma section(\".objc_superrefs$B\", long, read, write)\n";
 5922   Preamble += "#ifndef _REWRITER_typedef_Protocol\n";
 5923   Preamble += "typedef struct objc_object Protocol;\n";
 5924   Preamble += "#define _REWRITER_typedef_Protocol\n";
 5925   Preamble += "#endif\n";
 5927     Preamble += "#define __OBJC_RW_DLLIMPORT extern \"C\" __declspec(dllimport)\n";
 5928     Preamble += "#define __OBJC_RW_STATICIMPORT extern \"C\"\n";
 5931     Preamble += "#define __OBJC_RW_DLLIMPORT extern\n";
 5933   Preamble += "__OBJC_RW_DLLIMPORT void objc_msgSend(void);\n";
 5934   Preamble += "__OBJC_RW_DLLIMPORT void objc_msgSendSuper(void);\n";
 5935   Preamble += "__OBJC_RW_DLLIMPORT void objc_msgSend_stret(void);\n";
 5936   Preamble += "__OBJC_RW_DLLIMPORT void objc_msgSendSuper_stret(void);\n";
 5937   Preamble += "__OBJC_RW_DLLIMPORT void objc_msgSend_fpret(void);\n";
 5939   Preamble += "__OBJC_RW_DLLIMPORT struct objc_class *objc_getClass";
 5940   Preamble += "(const char *);\n";
 5941   Preamble += "__OBJC_RW_DLLIMPORT struct objc_class *class_getSuperclass";
 5942   Preamble += "(struct objc_class *);\n";
 5943   Preamble += "__OBJC_RW_DLLIMPORT struct objc_class *objc_getMetaClass";
 5944   Preamble += "(const char *);\n";
 5945   Preamble += "__OBJC_RW_DLLIMPORT void objc_exception_throw( struct objc_object *);\n";
 5947   Preamble += "__OBJC_RW_DLLIMPORT int objc_sync_enter( struct objc_object *);\n";
 5948   Preamble += "__OBJC_RW_DLLIMPORT int objc_sync_exit( struct objc_object *);\n";
 5949   Preamble += "__OBJC_RW_DLLIMPORT Protocol *objc_getProtocol(const char *);\n";
 5950   Preamble += "#ifdef _WIN64\n";
 5951   Preamble += "typedef unsigned long long  _WIN_NSUInteger;\n";
 5952   Preamble += "#else\n";
 5953   Preamble += "typedef unsigned int _WIN_NSUInteger;\n";
 5954   Preamble += "#endif\n";
 5955   Preamble += "#ifndef __FASTENUMERATIONSTATE\n";
 5956   Preamble += "struct __objcFastEnumerationState {\n\t";
 5957   Preamble += "unsigned long state;\n\t";
 5958   Preamble += "void **itemsPtr;\n\t";
 5959   Preamble += "unsigned long *mutationsPtr;\n\t";
 5960   Preamble += "unsigned long extra[5];\n};\n";
 5961   Preamble += "__OBJC_RW_DLLIMPORT void objc_enumerationMutation(struct objc_object *);\n";
 5962   Preamble += "#define __FASTENUMERATIONSTATE\n";
 5963   Preamble += "#endif\n";
 5964   Preamble += "#ifndef __NSCONSTANTSTRINGIMPL\n";
 5965   Preamble += "struct __NSConstantStringImpl {\n";
 5966   Preamble += "  int *isa;\n";
 5967   Preamble += "  int flags;\n";
 5968   Preamble += "  char *str;\n";
 5969   Preamble += "#if _WIN64\n";
 5970   Preamble += "  long long length;\n";
 5971   Preamble += "#else\n";
 5972   Preamble += "  long length;\n";
 5973   Preamble += "#endif\n";
 5974   Preamble += "};\n";
 5975   Preamble += "#ifdef CF_EXPORT_CONSTANT_STRING\n";
 5976   Preamble += "extern \"C\" __declspec(dllexport) int __CFConstantStringClassReference[];\n";
 5977   Preamble += "#else\n";
 5978   Preamble += "__OBJC_RW_DLLIMPORT int __CFConstantStringClassReference[];\n";
 5979   Preamble += "#endif\n";
 5980   Preamble += "#define __NSCONSTANTSTRINGIMPL\n";
 5981   Preamble += "#endif\n";
 5983   Preamble += "#ifndef BLOCK_IMPL\n";
 5984   Preamble += "#define BLOCK_IMPL\n";
 5985   Preamble += "struct __block_impl {\n";
 5986   Preamble += "  void *isa;\n";
 5987   Preamble += "  int Flags;\n";
 5988   Preamble += "  int Reserved;\n";
 5989   Preamble += "  void *FuncPtr;\n";
 5990   Preamble += "};\n";
 5991   Preamble += "// Runtime copy/destroy helper functions (from Block_private.h)\n";
 5992   Preamble += "#ifdef __OBJC_EXPORT_BLOCKS\n";
 5993   Preamble += "extern \"C\" __declspec(dllexport) "
 5995   Preamble += "extern \"C\" __declspec(dllexport) void _Block_object_dispose(const void *, const int);\n";
 5996   Preamble += "extern \"C\" __declspec(dllexport) void *_NSConcreteGlobalBlock[32];\n";
 5997   Preamble += "extern \"C\" __declspec(dllexport) void *_NSConcreteStackBlock[32];\n";
 5998   Preamble += "#else\n";
 5999   Preamble += "__OBJC_RW_DLLIMPORT void _Block_object_assign(void *, const void *, const int);\n";
 6000   Preamble += "__OBJC_RW_DLLIMPORT void _Block_object_dispose(const void *, const int);\n";
 6001   Preamble += "__OBJC_RW_DLLIMPORT void *_NSConcreteGlobalBlock[32];\n";
 6002   Preamble += "__OBJC_RW_DLLIMPORT void *_NSConcreteStackBlock[32];\n";
 6003   Preamble += "#endif\n";
 6004   Preamble += "#endif\n";
 6006     Preamble += "#undef __OBJC_RW_DLLIMPORT\n";
 6007     Preamble += "#undef __OBJC_RW_STATICIMPORT\n";
 6008     Preamble += "#ifndef KEEP_ATTRIBUTES\n";  // We use this for clang tests.
 6009     Preamble += "#define __attribute__(X)\n";
 6010     Preamble += "#endif\n";
 6011     Preamble += "#ifndef __weak\n";
 6012     Preamble += "#define __weak\n";
 6013     Preamble += "#endif\n";
 6014     Preamble += "#ifndef __block\n";
 6015     Preamble += "#define __block\n";
 6016     Preamble += "#endif\n";
 6019     Preamble += "#define __block\n";
 6020     Preamble += "#define __weak\n";
 6024   Preamble += "\n#include <stdarg.h>\n";
 6025   Preamble += "struct __NSContainer_literal {\n";
 6026   Preamble += "  void * *arr;\n";
 6027   Preamble += "  __NSContainer_literal (unsigned int count, ...) {\n";
 6028   Preamble += "\tva_list marker;\n";
 6029   Preamble += "\tva_start(marker, count);\n";
 6030   Preamble += "\tarr = new void *[count];\n";
 6031   Preamble += "\tfor (unsigned i = 0; i < count; i++)\n";
 6032   Preamble += "\t  arr[i] = va_arg(marker, void *);\n";
 6033   Preamble += "\tva_end( marker );\n";
 6034   Preamble += "  };\n";
 6035   Preamble += "  ~__NSContainer_literal() {\n";
 6036   Preamble += "\tdelete[] arr;\n";
 6037   Preamble += "  }\n";
 6038   Preamble += "};\n";
 6041   Preamble += "extern \"C\" __declspec(dllimport) void * objc_autoreleasePoolPush(void);\n";
 6042   Preamble += "extern \"C\" __declspec(dllimport) void objc_autoreleasePoolPop(void *);\n\n";
 6043   Preamble += "struct __AtAutoreleasePool {\n";
 6044   Preamble += "  __AtAutoreleasePool() {atautoreleasepoolobj = objc_autoreleasePoolPush();}\n";
 6045   Preamble += "  ~__AtAutoreleasePool() {objc_autoreleasePoolPop(atautoreleasepoolobj);}\n";
 6046   Preamble += "  void * atautoreleasepoolobj;\n";
 6047   Preamble += "};\n";
 6051   Preamble += "\n#define __OFFSETOFIVAR__(TYPE, MEMBER) ((long long) &((TYPE *)0)->MEMBER)\n";
 6058   Result += "__OFFSETOFIVAR__(struct ";
 6061     Result += "_IMPL";
 6062   Result += ", ";
 6067   Result += ")";
 6177   Result += "\nstruct _prop_t {\n";
 6178   Result += "\tconst char *name;\n";
 6179   Result += "\tconst char *attributes;\n";
 6180   Result += "};\n";
 6182   Result += "\nstruct _protocol_t;\n";
 6184   Result += "\nstruct _objc_method {\n";
 6185   Result += "\tstruct objc_selector * _cmd;\n";
 6186   Result += "\tconst char *method_type;\n";
 6187   Result += "\tvoid  *_imp;\n";
 6188   Result += "};\n";
 6190   Result += "\nstruct _protocol_t {\n";
 6191   Result += "\tvoid * isa;  // NULL\n";
 6192   Result += "\tconst char *protocol_name;\n";
 6193   Result += "\tconst struct _protocol_list_t * protocol_list; // super protocols\n";
 6194   Result += "\tconst struct method_list_t *instance_methods;\n";
 6195   Result += "\tconst struct method_list_t *class_methods;\n";
 6196   Result += "\tconst struct method_list_t *optionalInstanceMethods;\n";
 6197   Result += "\tconst struct method_list_t *optionalClassMethods;\n";
 6198   Result += "\tconst struct _prop_list_t * properties;\n";
 6199   Result += "\tconst unsigned int size;  // sizeof(struct _protocol_t)\n";
 6200   Result += "\tconst unsigned int flags;  // = 0\n";
 6201   Result += "\tconst char ** extendedMethodTypes;\n";
 6202   Result += "};\n";
 6204   Result += "\nstruct _ivar_t {\n";
 6205   Result += "\tunsigned long int *offset;  // pointer to ivar offset location\n";
 6206   Result += "\tconst char *name;\n";
 6207   Result += "\tconst char *type;\n";
 6208   Result += "\tunsigned int alignment;\n";
 6209   Result += "\tunsigned int  size;\n";
 6210   Result += "};\n";
 6212   Result += "\nstruct _class_ro_t {\n";
 6213   Result += "\tunsigned int flags;\n";
 6214   Result += "\tunsigned int instanceStart;\n";
 6215   Result += "\tunsigned int instanceSize;\n";
 6218     Result += "\tunsigned int reserved;\n";
 6219   Result += "\tconst unsigned char *ivarLayout;\n";
 6220   Result += "\tconst char *name;\n";
 6221   Result += "\tconst struct _method_list_t *baseMethods;\n";
 6222   Result += "\tconst struct _objc_protocol_list *baseProtocols;\n";
 6223   Result += "\tconst struct _ivar_list_t *ivars;\n";
 6224   Result += "\tconst unsigned char *weakIvarLayout;\n";
 6225   Result += "\tconst struct _prop_list_t *properties;\n";
 6226   Result += "};\n";
 6228   Result += "\nstruct _class_t {\n";
 6229   Result += "\tstruct _class_t *isa;\n";
 6230   Result += "\tstruct _class_t *superclass;\n";
 6231   Result += "\tvoid *cache;\n";
 6232   Result += "\tvoid *vtable;\n";
 6233   Result += "\tstruct _class_ro_t *ro;\n";
 6234   Result += "};\n";
 6236   Result += "\nstruct _category_t {\n";
 6237   Result += "\tconst char *name;\n";
 6238   Result += "\tstruct _class_t *cls;\n";
 6239   Result += "\tconst struct _method_list_t *instance_methods;\n";
 6240   Result += "\tconst struct _method_list_t *class_methods;\n";
 6241   Result += "\tconst struct _protocol_list_t *protocols;\n";
 6242   Result += "\tconst struct _prop_list_t *properties;\n";
 6243   Result += "};\n";
 6245   Result += "extern \"C\" __declspec(dllimport) struct objc_cache _objc_empty_cache;\n";
 6246   Result += "#pragma warning(disable:4273)\n";
 6252   Result += "struct /*_protocol_list_t*/"; Result += " {\n";
 6252   Result += "struct /*_protocol_list_t*/"; Result += " {\n";
 6253   Result += "\tlong protocol_count;  // Note, this is 32/64 bit\n";
 6254   Result += "\tstruct _protocol_t *super_protocols[";
 6255   Result += utostr(super_protocol_count); Result += "];\n";
 6256   Result += "}";
 6261   Result += "struct /*_method_list_t*/"; Result += " {\n";
 6261   Result += "struct /*_method_list_t*/"; Result += " {\n";
 6262   Result += "\tunsigned int entsize;  // sizeof(struct _objc_method)\n";
 6263   Result += "\tunsigned int method_count;\n";
 6264   Result += "\tstruct _objc_method method_list[";
 6265   Result += utostr(method_count); Result += "];\n";
 6266   Result += "}";
 6271   Result += "struct /*_prop_list_t*/"; Result += " {\n";
 6271   Result += "struct /*_prop_list_t*/"; Result += " {\n";
 6272   Result += "\tunsigned int entsize;  // sizeof(struct _prop_t)\n";
 6273   Result += "\tunsigned int count_of_properties;\n";
 6274   Result += "\tstruct _prop_t prop_list[";
 6275   Result += utostr(property_count); Result += "];\n";
 6276   Result += "}";
 6281   Result += "struct /*_ivar_list_t*/"; Result += " {\n";
 6281   Result += "struct /*_ivar_list_t*/"; Result += " {\n";
 6282   Result += "\tunsigned int entsize;  // sizeof(struct _prop_t)\n";
 6283   Result += "\tunsigned int count;\n";
 6284   Result += "\tstruct _ivar_t ivar_list[";
 6285   Result += utostr(ivar_count); Result += "];\n";
 6286   Result += "}";
 6294     Result += "\nstatic ";
 6296     Result += " "; Result += VarName;
 6298     Result += " __attribute__ ((used, section (\"__DATA,__objc_const\"))) = {\n";
 6299     Result += "\t"; Result += utostr(SuperProtocols.size()); Result += ",\n";
 6299     Result += "\t"; Result += utostr(SuperProtocols.size()); Result += ",\n";
 6302       Result += "\t&"; Result += "_OBJC_PROTOCOL_";
 6302       Result += "\t&"; Result += "_OBJC_PROTOCOL_";
 6305         Result += "\n};\n";
 6307         Result += ",\n";
 6319     Result += "\nstatic ";
 6321     Result += " "; Result += VarName;
 6323     Result += " __attribute__ ((used, section (\"__DATA,__objc_const\"))) = {\n";
 6324     Result += "\t"; Result += "sizeof(_objc_method)"; Result += ",\n";
 6324     Result += "\t"; Result += "sizeof(_objc_method)"; Result += ",\n";
 6324     Result += "\t"; Result += "sizeof(_objc_method)"; Result += ",\n";
 6325     Result += "\t"; Result += utostr(Methods.size()); Result += ",\n";
 6325     Result += "\t"; Result += utostr(Methods.size()); Result += ",\n";
 6329         Result += "\t{{(struct objc_selector *)\"";
 6331         Result += "\t{(struct objc_selector *)\"";
 6332       Result += (MD)->getSelector().getAsString(); Result += "\"";
 6333       Result += ", ";
 6335       Result += "\""; Result += MethodTypeString; Result += "\"";
 6335       Result += "\""; Result += MethodTypeString; Result += "\"";
 6336       Result += ", ";
 6338         Result += "0";
 6340         Result += "(void *)";
 6344         Result += "}}\n";
 6346         Result += "},\n";
 6348     Result += "};\n";
 6359     Result += "\nstatic ";
 6361     Result += " "; Result += VarName;
 6363     Result += " __attribute__ ((used, section (\"__DATA,__objc_const\"))) = {\n";
 6364     Result += "\t"; Result += "sizeof(_prop_t)"; Result += ",\n";
 6364     Result += "\t"; Result += "sizeof(_prop_t)"; Result += ",\n";
 6364     Result += "\t"; Result += "sizeof(_prop_t)"; Result += ",\n";
 6365     Result += "\t"; Result += utostr(Properties.size()); Result += ",\n";
 6365     Result += "\t"; Result += utostr(Properties.size()); Result += ",\n";
 6369         Result += "\t{{\"";
 6371         Result += "\t{\"";
 6372       Result += PropDecl->getName(); Result += "\",";
 6377       Result += "\""; Result += QuotePropertyTypeString; Result += "\"";
 6377       Result += "\""; Result += QuotePropertyTypeString; Result += "\"";
 6379         Result += "}}\n";
 6381         Result += "},\n";
 6383     Result += "};\n";
 6411   Result += "\nstatic struct _class_ro_t ";
 6413   Result += " __attribute__ ((used, section (\"__DATA,__objc_const\"))) = {\n";
 6414   Result += "\t";
 6415   Result += llvm::utostr(flags); Result += ", ";
 6416   Result += InstanceStart; Result += ", ";
 6417   Result += InstanceSize; Result += ", \n";
 6418   Result += "\t";
 6422     Result += "(unsigned int)0, \n\t";
 6424   Result += "0, \n\t";
 6425   Result += "\""; Result += ClassName; Result += "\",\n\t";
 6425   Result += "\""; Result += ClassName; Result += "\",\n\t";
 6428     Result += "(const struct _method_list_t *)&";
 6430       Result += "_OBJC_$_CLASS_METHODS_";
 6432       Result += "_OBJC_$_INSTANCE_METHODS_";
 6434     Result += ",\n\t";
 6437     Result += "0, \n\t";
 6440     Result += "(const struct _objc_protocol_list *)&";
 6441     Result += "_OBJC_CLASS_PROTOCOLS_$_"; Result += ClassName;
 6442     Result += ",\n\t";
 6445     Result += "0, \n\t";
 6448     Result += "(const struct _ivar_list_t *)&";
 6449     Result += "_OBJC_$_INSTANCE_VARIABLES_"; Result += ClassName;
 6450     Result += ",\n\t";
 6453     Result += "0, \n\t";
 6456   Result += "0, \n\t";
 6458     Result += "(const struct _prop_list_t *)&";
 6459     Result += "_OBJC_$_PROP_LIST_"; Result += ClassName;
 6460     Result += ",\n";
 6463     Result += "0, \n";
 6465   Result += "};\n";
 6484     Result += "\n";
 6485     Result += "extern \"C\" ";
 6487       Result += "__declspec(dllexport) ";
 6489       Result += "__declspec(dllimport) ";
 6491     Result += "struct _class_t OBJC_CLASS_$_";
 6493     Result += ";\n";
 6498     Result += "\n";
 6499     Result += "extern \"C\" ";
 6501       Result += "__declspec(dllexport) ";
 6503       Result += "__declspec(dllimport) ";
 6505     Result += "struct _class_t ";
 6508     Result += ";\n";
 6511       Result += "extern \"C\" ";
 6513         Result += "__declspec(dllexport) ";
 6515         Result += "__declspec(dllimport) ";
 6517       Result += "struct _class_t ";
 6520       Result += ";\n";
 6524   Result += "\nextern \"C\" __declspec(dllexport) struct _class_t ";
 6526   Result += " __attribute__ ((used, section (\"__DATA,__objc_data\"))) = {\n";
 6527   Result += "\t";
 6530       Result += "0, // &"; Result += VarName;
 6532       Result += ",\n\t";
 6533       Result += "0, // &"; Result += VarName;
 6535       Result += ",\n\t";
 6538       Result += "0, // &"; Result += VarName;
 6540       Result += ",\n\t";
 6541       Result += "0, // &OBJC_CLASS_$_"; Result += CDecl->getNameAsString();
 6542       Result += ",\n\t";
 6546     Result += "0, // &OBJC_METACLASS_$_";
 6548     Result += ",\n\t";
 6550       Result += "0, // &"; Result += VarName;
 6552       Result += ",\n\t";
 6555       Result += "0,\n\t";
 6557   Result += "0, // (void *)&_objc_empty_cache,\n\t";
 6558   Result += "0, // unused, was (void *)&_objc_empty_vtable,\n\t";
 6560     Result += "&_OBJC_METACLASS_RO_$_";
 6562     Result += "&_OBJC_CLASS_RO_$_";
 6564   Result += ",\n};\n";
 6574   Result += "static void OBJC_CLASS_SETUP_$_";
 6576   Result += "(void ) {\n";
 6577   Result += "\tOBJC_METACLASS_$_"; Result += CDecl->getNameAsString();
 6578   Result += ".isa = "; Result += "&OBJC_METACLASS_$_";
 6578   Result += ".isa = "; Result += "&OBJC_METACLASS_$_";
 6579   Result += RootClass->getNameAsString(); Result += ";\n";
 6581   Result += "\tOBJC_METACLASS_$_"; Result += CDecl->getNameAsString();
 6582   Result += ".superclass = ";
 6584     Result += "&OBJC_CLASS_$_";
 6586      Result += "&OBJC_METACLASS_$_";
 6588   Result += SuperClass->getNameAsString(); Result += ";\n";
 6590   Result += "\tOBJC_METACLASS_$_"; Result += CDecl->getNameAsString();
 6591   Result += ".cache = "; Result += "&_objc_empty_cache"; Result += ";\n";
 6591   Result += ".cache = "; Result += "&_objc_empty_cache"; Result += ";\n";
 6591   Result += ".cache = "; Result += "&_objc_empty_cache"; Result += ";\n";
 6593   Result += "\tOBJC_CLASS_$_"; Result += CDecl->getNameAsString();
 6594   Result += ".isa = "; Result += "&OBJC_METACLASS_$_";
 6594   Result += ".isa = "; Result += "&OBJC_METACLASS_$_";
 6595   Result += CDecl->getNameAsString(); Result += ";\n";
 6598     Result += "\tOBJC_CLASS_$_"; Result += CDecl->getNameAsString();
 6599     Result += ".superclass = "; Result += "&OBJC_CLASS_$_";
 6599     Result += ".superclass = "; Result += "&OBJC_CLASS_$_";
 6600     Result += SuperClass->getNameAsString(); Result += ";\n";
 6603   Result += "\tOBJC_CLASS_$_"; Result += CDecl->getNameAsString();
 6604   Result += ".cache = "; Result += "&_objc_empty_cache"; Result += ";\n";
 6604   Result += ".cache = "; Result += "&_objc_empty_cache"; Result += ";\n";
 6604   Result += ".cache = "; Result += "&_objc_empty_cache"; Result += ";\n";
 6605   Result += "}\n";
 6620   Result += "\n";
 6621   Result += "extern \"C\" ";
 6623     Result += "__declspec(dllexport) ";
 6625     Result += "__declspec(dllimport) ";
 6627   Result += "struct _class_t ";
 6628   Result += "OBJC_CLASS_$_"; Result += ClassName;
 6629   Result += ";\n";
 6631   Result += "\nstatic struct _category_t ";
 6632   Result += "_OBJC_$_CATEGORY_";
 6633   Result += ClassName; Result += "_$_"; Result += CatName;
 6634   Result += " __attribute__ ((used, section (\"__DATA,__objc_const\"))) = \n";
 6635   Result += "{\n";
 6636   Result += "\t\""; Result += ClassName; Result += "\",\n";
 6636   Result += "\t\""; Result += ClassName; Result += "\",\n";
 6637   Result += "\t0, // &"; Result += "OBJC_CLASS_$_"; Result += ClassName;
 6637   Result += "\t0, // &"; Result += "OBJC_CLASS_$_"; Result += ClassName;
 6638   Result += ",\n";
 6640     Result += "\t(const struct _method_list_t *)&";
 6641     Result += "_OBJC_$_CATEGORY_INSTANCE_METHODS_";
 6642     Result += ClassName; Result += "_$_"; Result += CatName;
 6643     Result += ",\n";
 6646     Result += "\t0,\n";
 6649     Result += "\t(const struct _method_list_t *)&";
 6650     Result += "_OBJC_$_CATEGORY_CLASS_METHODS_";
 6651     Result += ClassName; Result += "_$_"; Result += CatName;
 6652     Result += ",\n";
 6655     Result += "\t0,\n";
 6658     Result += "\t(const struct _protocol_list_t *)&";
 6659     Result += "_OBJC_CATEGORY_PROTOCOLS_$_";
 6660     Result += ClassName; Result += "_$_"; Result += CatName;
 6661     Result += ",\n";
 6664     Result += "\t0,\n";
 6667     Result += "\t(const struct _prop_list_t *)&";  Result += "_OBJC_$_PROP_LIST_";
 6667     Result += "\t(const struct _prop_list_t *)&";  Result += "_OBJC_$_PROP_LIST_";
 6668     Result += ClassName; Result += "_$_"; Result += CatName;
 6669     Result += ",\n";
 6672     Result += "\t0,\n";
 6674   Result += "};\n";
 6677   Result += "static void OBJC_CATEGORY_SETUP_$_";
 6679   Result += "_$_";
 6681   Result += "(void ) {\n";
 6682   Result += "\t_OBJC_$_CATEGORY_";
 6684   Result += "_$_";
 6686   Result += ".cls = "; Result += "&OBJC_CLASS_$_"; Result += ClassName;
 6686   Result += ".cls = "; Result += "&OBJC_CLASS_$_"; Result += ClassName;
 6687   Result += ";\n}\n";
 6698   Result += "\nstatic const char *";
 6700   Result += " [] __attribute__ ((used, section (\"__DATA,__objc_const\"))) = \n";
 6701   Result += "{\n";
 6708     Result += "\t\""; Result += QuoteMethodTypeString; Result += "\"";
 6708     Result += "\t\""; Result += QuoteMethodTypeString; Result += "\"";
 6710       Result += "\n};\n";
 6712       Result += ",\n";
 6733   Result += "\n";
 6737       Result += "__declspec(allocate(\".objc_ivar$B\")) ";
 6742       Result += "extern \"C\" unsigned long int ";
 6744       Result += "extern \"C\" __declspec(dllexport) unsigned long int ";
 6749     Result += " __attribute__ ((used, section (\"__DATA,__objc_ivar\")))";
 6750     Result += " = ";
 6752     Result += ";\n";
 6781     Result += "\nstatic ";
 6783     Result += " "; Result += VarName;
 6785     Result += " __attribute__ ((used, section (\"__DATA,__objc_const\"))) = {\n";
 6786     Result += "\t"; Result += "sizeof(_ivar_t)"; Result += ",\n";
 6786     Result += "\t"; Result += "sizeof(_ivar_t)"; Result += ",\n";
 6786     Result += "\t"; Result += "sizeof(_ivar_t)"; Result += ",\n";
 6787     Result += "\t"; Result += utostr(Ivars.size()); Result += ",\n";
 6787     Result += "\t"; Result += utostr(Ivars.size()); Result += ",\n";
 6791         Result += "\t{{";
 6793         Result += "\t {";
 6794       Result += "(unsigned long int *)&";
 6799       Result += ", ";
 6801       Result += "\"";
 6806       Result += "\", ";
 6816       Result += "\""; Result += QuoteIvarTypeString; Result += "\", ";
 6816       Result += "\""; Result += QuoteIvarTypeString; Result += "\", ";
 6822       Result += llvm::utostr(Align); Result += ", ";
 6826         Result += "}}\n";
 6828         Result += "},\n";
 6830     Result += "};\n";
 6913   Result += "\n";
 6915     Result += "static ";
 6916   Result += "struct _protocol_t _OBJC_PROTOCOL_";
 6918   Result += " __attribute__ ((used)) = {\n";
 6919   Result += "\t0,\n"; // id is; is null
 6920   Result += "\t\""; Result += PDecl->getNameAsString(); Result += "\",\n";
 6920   Result += "\t\""; Result += PDecl->getNameAsString(); Result += "\",\n";
 6922     Result += "\t(const struct _protocol_list_t *)&"; Result += "_OBJC_PROTOCOL_REFS_";
 6922     Result += "\t(const struct _protocol_list_t *)&"; Result += "_OBJC_PROTOCOL_REFS_";
 6923     Result += PDecl->getNameAsString(); Result += ",\n";
 6926     Result += "\t0,\n";
 6928     Result += "\t(const struct method_list_t *)&_OBJC_PROTOCOL_INSTANCE_METHODS_";
 6929     Result += PDecl->getNameAsString(); Result += ",\n";
 6932     Result += "\t0,\n";
 6935     Result += "\t(const struct method_list_t *)&_OBJC_PROTOCOL_CLASS_METHODS_";
 6936     Result += PDecl->getNameAsString(); Result += ",\n";
 6939     Result += "\t0,\n";
 6942     Result += "\t(const struct method_list_t *)&_OBJC_PROTOCOL_OPT_INSTANCE_METHODS_";
 6943     Result += PDecl->getNameAsString(); Result += ",\n";
 6946     Result += "\t0,\n";
 6949     Result += "\t(const struct method_list_t *)&_OBJC_PROTOCOL_OPT_CLASS_METHODS_";
 6950     Result += PDecl->getNameAsString(); Result += ",\n";
 6953     Result += "\t0,\n";
 6956     Result += "\t(const struct _prop_list_t *)&_OBJC_PROTOCOL_PROPERTIES_";
 6957     Result += PDecl->getNameAsString(); Result += ",\n";
 6960     Result += "\t0,\n";
 6962   Result += "\t"; Result += "sizeof(_protocol_t)"; Result += ",\n";
 6962   Result += "\t"; Result += "sizeof(_protocol_t)"; Result += ",\n";
 6962   Result += "\t"; Result += "sizeof(_protocol_t)"; Result += ",\n";
 6963   Result += "\t0,\n";
 6966     Result += "\t(const char **)&"; Result += "_OBJC_PROTOCOL_METHOD_TYPES_";
 6966     Result += "\t(const char **)&"; Result += "_OBJC_PROTOCOL_METHOD_TYPES_";
 6968     Result += "\n};\n";
 6971     Result += "\t0\n};\n";
 6974     Result += "static ";
 6975   Result += "struct _protocol_t *";
 6976   Result += "_OBJC_LABEL_PROTOCOL_$_"; Result += PDecl->getNameAsString();
 6977   Result += " = &_OBJC_PROTOCOL_"; Result += PDecl->getNameAsString();
 6978   Result += ";\n";
 7124     InstanceSize += "_IMPL)";
 7158   Result += "#pragma section(\".objc_inithooks$B\", long, read, write)\n";
 7159   Result += "__declspec(allocate(\".objc_inithooks$B\")) ";
 7160   Result += "static void *OBJC_CLASS_SETUP[] = {\n";
 7164     Result += "\t(void *)&OBJC_CLASS_SETUP_$_";
 7165     Result  += CDecl->getName(); Result += ",\n";
 7167   Result += "};\n";
 7188       Result += "__declspec(allocate(\".objc_classlist$B\")) ";
 7189     Result += "static struct _class_t *L_OBJC_LABEL_CLASS_$ [";
 7190     Result += llvm::utostr(ClsDefCount); Result += "]";
 7191     Result +=
 7195       Result += "\t&OBJC_CLASS_$_";
 7197       Result += ",\n";
 7199     Result += "};\n";
 7203         Result += "__declspec(allocate(\".objc_nlclslist$B\")) \n";
 7204       Result += "static struct _class_t *_OBJC_LABEL_NONLAZY_CLASS_$[] = {\n\t";
 7206         Result += "\t&OBJC_CLASS_$_"; Result += DefinedNonLazyClasses[i]->getNameAsString();
 7207         Result += ",\n";
 7209       Result += "};\n";
 7215       Result += "__declspec(allocate(\".objc_catlist$B\")) ";
 7216     Result += "static struct _category_t *L_OBJC_LABEL_CATEGORY_$ [";
 7217     Result += llvm::utostr(CatDefCount); Result += "]";
 7218     Result +=
 7222       Result += "\t&_OBJC_$_CATEGORY_";
 7225       Result += "_$_";
 7227       Result += ",\n";
 7229     Result += "};\n";
 7234       Result += "__declspec(allocate(\".objc_nlcatlist$B\")) \n";
 7235     Result += "static struct _category_t *_OBJC_LABEL_NONLAZY_CATEGORY_$[] = {\n\t";
 7237       Result += "\t&_OBJC_$_CATEGORY_";
 7240       Result += "_$_";
 7242       Result += ",\n";
 7244     Result += "};\n";
 7250     Result += "__declspec(allocate(\".objc_imageinfo$B\")) \n";
 7252   Result += "static struct IMAGE_INFO { unsigned version; unsigned flag; } ";
 7254   Result += "_OBJC_IMAGE_INFO = { 0, 2 };\n";
 7268   FullCategoryName += "_$_";
 7340   Result += "#pragma section(\".objc_inithooks$B\", long, read, write)\n";
 7341   Result += "__declspec(allocate(\".objc_inithooks$B\")) ";
 7342   Result += "static void *OBJC_CATEGORY_SETUP[] = {\n";
 7347     Result += "\t(void *)&OBJC_CATEGORY_SETUP_$_";
 7349     Result += "_$_";
 7351     Result += ",\n";
 7353   Result += "};\n";
 7374     Result += "\nstruct _objc_method {\n";
 7375     Result += "\tSEL _cmd;\n";
 7376     Result += "\tchar *method_types;\n";
 7377     Result += "\tvoid *_imp;\n";
 7378     Result += "};\n";
 7392   Result += "\n";
 7395       Result += "__declspec(allocate(\".inst_meth$B\")) ";
 7397       Result += "__declspec(allocate(\".cls_meth$B\")) ";
 7399   Result += "static struct {\n";
 7400   Result += "\tstruct _objc_method_list *next_method;\n";
 7401   Result += "\tint method_count;\n";
 7402   Result += "\tstruct _objc_method method_list[";
 7404   Result += "];\n} _OBJC_";
 7406   Result += IsInstanceMethod ? "INSTANCE" : "CLASS";
 7407   Result += "_METHODS_";
 7409   Result += " __attribute__ ((used, section (\"__OBJC, __";
 7410   Result += IsInstanceMethod ? "inst" : "cls";
 7411   Result += "_meth\")))= ";
 7414   Result += "\t,{{(SEL)\"";
 7418   Result += "\", \"";
 7420   Result += "\", (void *)";
 7422   Result += "}\n";
 7424     Result += "\t  ,{(SEL)\"";
 7428     Result += "\", \"";
 7430     Result += "\", (void *)";
 7432     Result += "}\n";
 7434   Result += "\t }\n};\n";
 7506           RecName += "_IMPL";
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
  474           To += "\\\"";
  761   S += "_IMPL *)self)->";
  803     Getr += "{ ";
  808       Getr += "typedef ";
  812       Getr += " _TYPE";
  814         Getr += ")"; // close the precedence "scope" for "*".
  818           Getr += "(";
  820             if (i) Getr += ", ";
  827               Getr += ", ";
  828             Getr += "...";
  830           Getr += ")";
  832           Getr += "()";
  834       Getr += ";\n";
  835       Getr += "return (_TYPE)";
  836       Getr += "objc_getProperty(self, _cmd, ";
  838       Getr += ", 1)";
  842     Getr += "; }";
  862   Setr += "{ ";
  866     Setr += "objc_setProperty (self, _cmd, ";
  868     Setr += ", (id)";
  870     Setr += ", ";
  872       Setr += "0, ";
  874       Setr += "1, ";
  876       Setr += "1)";
  878       Setr += "0)";
  884   Setr += "; }";
  890   typedefString += "#ifndef _REWRITER_typedef_";
  892   typedefString += "\n";
  893   typedefString += "#define _REWRITER_typedef_";
  895   typedefString += "\n";
  896   typedefString += "typedef struct objc_object ";
  898   typedefString += ";\n#endif\n";
  918       typedefString += "// @class ";
  920       typedefString += ";\n";
  933       typedefString += "// @class ";
  935       typedefString += ";\n";
 1039     ResultStr += "id";
 1053       ResultStr += "(*";
 1064   ResultStr += "\nstatic ";
 1066   ResultStr += " ";
 1072     NameStr += "_I_";
 1074     NameStr += "_C_";
 1077   NameStr += "_";
 1082     NameStr += "_";
 1098   ResultStr += "(";
 1106         ResultStr += "struct ";
 1110     ResultStr += " *";
 1116   ResultStr += " self, ";
 1118   ResultStr += " _cmd";
 1122     ResultStr += ", ";
 1124       ResultStr += "id ";
 1136     ResultStr += ", ...";
 1137   ResultStr += ") ";
 1140     ResultStr += ")"; // close the precedence "scope" for "*".
 1144       ResultStr += "(";
 1146         if (i) ResultStr += ", ";
 1153           ResultStr += ", ";
 1154         ResultStr += "...";
 1156       ResultStr += ")";
 1158       ResultStr += "()";
 1203     ResultStr += "\n";
 1204     ResultStr += "#define _REWRITER_typedef_";
 1206     ResultStr += "\n";
 1207     ResultStr += "typedef struct objc_object ";
 1209     ResultStr += ";\n#endif\n";
 1396   buf += "((unsigned int (*) (id, SEL, struct __objcFastEnumerationState *, "
 1398   buf += "\n\t\t";
 1399   buf += "((id)l_collection,\n\t\t";
 1400   buf += "sel_registerName(\"countByEnumeratingWithState:objects:count:\"),";
 1401   buf += "\n\t\t";
 1402   buf += "&enumState, "
 1497     buf += " ";
 1500     buf += ";\n\t";
 1515   buf += "struct __objcFastEnumerationState enumState = { 0 };\n\t";
 1517   buf += "id __rw_items[16];\n\t";
 1519   buf += "id l_collection = (id)";
 1552   buf += "unsigned long limit =\n\t\t";
 1554   buf += ";\n\t";
 1563   buf += "if (limit) {\n\t";
 1564   buf += "unsigned long startMutations = *enumState.mutationsPtr;\n\t";
 1565   buf += "do {\n\t\t";
 1566   buf += "unsigned long counter = 0;\n\t\t";
 1567   buf += "do {\n\t\t\t";
 1568   buf += "if (startMutations != *enumState.mutationsPtr)\n\t\t\t\t";
 1569   buf += "objc_enumerationMutation(l_collection);\n\t\t\t";
 1571   buf += " = (";
 1573   buf += ")enumState.itemsPtr[counter++];";
 1589   buf += "__continue_label_";
 1591   buf += ": ;";
 1592   buf += "\n\t\t";
 1593   buf += "} while (counter < limit);\n\t";
 1594   buf += "} while (limit = ";
 1596   buf += ");\n\t";
 1598   buf += " = ((";
 1600   buf += ")0);\n\t";
 1601   buf += "__break_label_";
 1603   buf += ": ;\n\t";
 1604   buf += "}\n\t";
 1605   buf += "else\n\t\t";
 1607   buf += " = ((";
 1609   buf += ")0);\n\t";
 1610   buf += "}\n";
 1663   buf += "/* @try scope begin */ \n{ struct _objc_exception_data {\n";
 1664   buf += "int buf[18/*32-bit i386*/];\n";
 1665   buf += "char *pointers[4];} _stack;\n";
 1666   buf += "id volatile _rethrow = 0;\n";
 1667   buf += "objc_exception_try_enter(&_stack);\n";
 1668   buf += "if (!_setjmp(_stack.buf)) /* @try block continue */\n";
 1676   buf += "  _rethrow = objc_exception_extract(&_stack);\n";
 1677   buf += "}\n";
 1678   buf += "{ /* implicit finally clause */\n";
 1679   buf += "  if (!_rethrow) objc_exception_try_exit(&_stack);\n";
 1682   syncBuf += " objc_sync_exit(";
 1697   syncBuf += ");";
 1700   buf += "\n  if (_rethrow) objc_exception_throw(_rethrow);\n";
 1701   buf += "}\n";
 1702   buf += "}";
 1776     buf += " return";
 1793   buf += "int buf[18/*32-bit i386*/];\n";
 1794   buf += "char *pointers[4];} _stack;\n";
 1795   buf += "id volatile _rethrow = 0;\n";
 1796   buf += "objc_exception_try_enter(&_stack);\n";
 1797   buf += "if (!_setjmp(_stack.buf)) /* @try block continue */\n";
 1810     buf += " id _caught = objc_exception_extract(&_stack);\n";
 1811     buf += " objc_exception_try_enter (&_stack);\n";
 1812     buf += " if (_setjmp(_stack.buf))\n";
 1813     buf += "   _rethrow = objc_exception_extract(&_stack);\n";
 1814     buf += " else { /* @catch continue */";
 1819     buf += "  _rethrow = objc_exception_extract(&_stack);\n";
 1820     buf += "}";
 1848       buf += "1) { id _tmp = _caught;";
 1853         buf += "1) { ";
 1860           buf += "objc_exception_match((struct objc_class *)objc_getClass(\"";
 1862           buf += "\"), (struct objc_object *)_caught)) { ";
 1891     buf += "else {\n";
 1892     buf += " _rethrow = _caught;\n";
 1893     buf += " objc_exception_try_exit(&_stack);\n";
 1894     buf += "} } /* @catch end */\n";
 1896       buf += "}\n";
 1929     buf += " if (!_rethrow) objc_exception_try_exit(&_stack);\n";
 1930     buf += " if (_rethrow) objc_exception_throw(_rethrow);\n";
 1931     buf += "}";
 2294   FdStr += " ";
 2296   FdStr +=  "(";
 2302       FdStr += ", ";
 2304   FdStr +=  ");\n";
 2491   S += "_";
 2495   Preamble += " __attribute__ ((section (\"__DATA, __cfstring\"))) = {__CFConstantStringClassReference,";
 2496   Preamble += "0x000007c8,"; // utf8_str
 2502   Preamble += ",";
 3112   Result += "\nstruct ";
 3115     Result += "_IMPL";
 3156       Result += "_IMPL ";
 3158       Result += "_IVARS;\n";
 3203     Result += " {\n    struct ";
 3205     Result += "_IMPL ";
 3207     Result += "_IVARS;\n};\n";
 3240     ResultStr += "struct ";
 3277       if (AI != BD->param_begin()) S += ", ";
 3285       if (!BD->param_empty()) S += ", ";
 3286       S += "...";
 3290   S += " {\n";
 3296     S += "  ";
 3300     TypeString += " *";
 3307     S += "  ";
 3320       S += " = (";
 3322       S += ")";
 3338   S += cstr;
 3339   S += "\n";
 3353   S += "*src) {";
 3355     S += "_Block_object_assign((void*)&dst->";
 3357     S += ", (void*)src->";
 3366   S += "}\n";
 3368   S += "\nstatic void __";
 3372   S += "*src) {";
 3374     S += "_Block_object_dispose((void*)src->";
 3383   S += "}\n";
 3392   S += " {\n  struct __block_impl impl;\n";
 3394   S += "* Desc;\n";
 3396   Constructor += "(void *fp, "; // Invoke function pointer.
 3398   Constructor += " *desc";
 3404       S += "  ";
 3418         S += "struct __block_impl *";
 3433       S += "  ";
 3439         TypeString += " *";
 3447     Constructor += ", int flags=0)";
 3454           Constructor += " : ";
 3458           Constructor += ", ";
 3469         Constructor += " : ";
 3473         Constructor += ", ";
 3477     Constructor += " {\n";
 3479       Constructor += "    impl.isa = &_NSConcreteGlobalBlock;\n";
 3481       Constructor += "    impl.isa = &_NSConcreteStackBlock;\n";
 3482     Constructor += "    impl.Flags = flags;\n    impl.FuncPtr = fp;\n";
 3484     Constructor += "    Desc = desc;\n";
 3487     Constructor += ", int flags=0) {\n";
 3489       Constructor += "    impl.isa = &_NSConcreteGlobalBlock;\n";
 3491       Constructor += "    impl.isa = &_NSConcreteStackBlock;\n";
 3492     Constructor += "    impl.Flags = flags;\n    impl.FuncPtr = fp;\n";
 3493     Constructor += "    Desc = desc;\n";
 3495   Constructor += "  ";
 3496   Constructor += "}\n";
 3498   S += "};\n";
 3508   S += " {\n  unsigned long reserved;\n";
 3509   S += "  unsigned long Block_size;\n";
 3511     S += "  void (*copy)(struct ";
 3512     S += ImplTag; S += "*, struct ";
 3513     S += ImplTag; S += "*);\n";
 3515     S += "  void (*dispose)(struct ";
 3516     S += ImplTag; S += "*);\n";
 3518   S += "} ";
 3526   S += "};\n";
 3542     SC += "() {}";
 3604       SC += "const ";
 3606       SC += "volatile ";
 3608       SC += "restrict ";
 3902     TypeAsString += ")";
 4069         buf += "/*";
 4077         buf += "*/";
 4118   S += "(void *dst, void *src) {\n";
 4128   S += " _Block_object_assign((char*)dst + ";
 4130   S += ", *(void * *) ((char*)src + ";
 4132   S += "), ";
 4134   S += ");\n}\n";
 4136   S += "static void __Block_byref_id_object_dispose_";
 4138   S += "(void *src) {\n";
 4139   S += " _Block_object_dispose(*(void * *) ((char*)src + ";
 4141   S += "), ";
 4143   S += ");\n}\n";
 4184   ByrefType += " {\n";
 4185   ByrefType += "  void *__isa;\n";
 4187   ByrefType += " *__forwarding;\n";
 4188   ByrefType += " int __flags;\n";
 4189   ByrefType += " int __size;\n";
 4195     ByrefType += " void (*__Block_byref_id_object_copy)(void*, void*);\n";
 4196     ByrefType += " void (*__Block_byref_id_object_dispose)(void*);\n";
 4204   ByrefType += "};\n";
 4249     ByrefType += ", ";
 4250     ByrefType += "sizeof(";
 4252     ByrefType += ")";
 4254       ByrefType += ", __Block_byref_id_object_copy_";
 4256       ByrefType += ", __Block_byref_id_object_dispose_";
 4259     ByrefType += "};\n";
 4277     ByrefType += " = {(void*)";
 4281     ByrefType += ", ";
 4282     ByrefType += "sizeof(";
 4284     ByrefType += "), ";
 4286       ByrefType += "__Block_byref_id_object_copy_";
 4288       ByrefType += ", __Block_byref_id_object_dispose_";
 4290       ByrefType += ", ";
 4942   Preamble += "struct objc_selector; struct objc_class;\n";
 4943   Preamble += "struct __rw_objc_super { struct objc_object *object; ";
 4944   Preamble += "struct objc_object *superClass; ";
 4947     Preamble += "__rw_objc_super(struct objc_object *o, struct objc_object *s) "
 4949     Preamble += "object(o), superClass(s) {} ";
 4951   Preamble += "};\n";
 4952   Preamble += "#ifndef _REWRITER_typedef_Protocol\n";
 4953   Preamble += "typedef struct objc_object Protocol;\n";
 4954   Preamble += "#define _REWRITER_typedef_Protocol\n";
 4955   Preamble += "#endif\n";
 4957     Preamble += "#define __OBJC_RW_DLLIMPORT extern \"C\" __declspec(dllimport)\n";
 4958     Preamble += "#define __OBJC_RW_STATICIMPORT extern \"C\"\n";
 4960     Preamble += "#define __OBJC_RW_DLLIMPORT extern\n";
 4961   Preamble += "__OBJC_RW_DLLIMPORT struct objc_object *objc_msgSend";
 4962   Preamble += "(struct objc_object *, struct objc_selector *, ...);\n";
 4963   Preamble += "__OBJC_RW_DLLIMPORT struct objc_object *objc_msgSendSuper";
 4964   Preamble += "(struct objc_super *, struct objc_selector *, ...);\n";
 4965   Preamble += "__OBJC_RW_DLLIMPORT struct objc_object* objc_msgSend_stret";
 4966   Preamble += "(struct objc_object *, struct objc_selector *, ...);\n";
 4967   Preamble += "__OBJC_RW_DLLIMPORT struct objc_object* objc_msgSendSuper_stret";
 4968   Preamble += "(struct objc_super *, struct objc_selector *, ...);\n";
 4969   Preamble += "__OBJC_RW_DLLIMPORT double objc_msgSend_fpret";
 4970   Preamble += "(struct objc_object *, struct objc_selector *, ...);\n";
 4971   Preamble += "__OBJC_RW_DLLIMPORT struct objc_object *objc_getClass";
 4972   Preamble += "(const char *);\n";
 4973   Preamble += "__OBJC_RW_DLLIMPORT struct objc_class *class_getSuperclass";
 4974   Preamble += "(struct objc_class *);\n";
 4975   Preamble += "__OBJC_RW_DLLIMPORT struct objc_object *objc_getMetaClass";
 4976   Preamble += "(const char *);\n";
 4977   Preamble += "__OBJC_RW_DLLIMPORT void objc_exception_throw(struct objc_object *);\n";
 4978   Preamble += "__OBJC_RW_DLLIMPORT void objc_exception_try_enter(void *);\n";
 4979   Preamble += "__OBJC_RW_DLLIMPORT void objc_exception_try_exit(void *);\n";
 4980   Preamble += "__OBJC_RW_DLLIMPORT struct objc_object *objc_exception_extract(void *);\n";
 4981   Preamble += "__OBJC_RW_DLLIMPORT int objc_exception_match";
 4982   Preamble += "(struct objc_class *, struct objc_object *);\n";
 4984   Preamble += "__OBJC_RW_DLLIMPORT int objc_sync_enter(struct objc_object *);\n";
 4985   Preamble += "__OBJC_RW_DLLIMPORT int objc_sync_exit(struct objc_object *);\n";
 4986   Preamble += "__OBJC_RW_DLLIMPORT Protocol *objc_getProtocol(const char *);\n";
 4987   Preamble += "#ifndef __FASTENUMERATIONSTATE\n";
 4988   Preamble += "struct __objcFastEnumerationState {\n\t";
 4989   Preamble += "unsigned long state;\n\t";
 4990   Preamble += "void **itemsPtr;\n\t";
 4991   Preamble += "unsigned long *mutationsPtr;\n\t";
 4992   Preamble += "unsigned long extra[5];\n};\n";
 4993   Preamble += "__OBJC_RW_DLLIMPORT void objc_enumerationMutation(struct objc_object *);\n";
 4994   Preamble += "#define __FASTENUMERATIONSTATE\n";
 4995   Preamble += "#endif\n";
 4996   Preamble += "#ifndef __NSCONSTANTSTRINGIMPL\n";
 4997   Preamble += "struct __NSConstantStringImpl {\n";
 4998   Preamble += "  int *isa;\n";
 4999   Preamble += "  int flags;\n";
 5000   Preamble += "  char *str;\n";
 5001   Preamble += "  long length;\n";
 5002   Preamble += "};\n";
 5003   Preamble += "#ifdef CF_EXPORT_CONSTANT_STRING\n";
 5004   Preamble += "extern \"C\" __declspec(dllexport) int __CFConstantStringClassReference[];\n";
 5005   Preamble += "#else\n";
 5006   Preamble += "__OBJC_RW_DLLIMPORT int __CFConstantStringClassReference[];\n";
 5007   Preamble += "#endif\n";
 5008   Preamble += "#define __NSCONSTANTSTRINGIMPL\n";
 5009   Preamble += "#endif\n";
 5011   Preamble += "#ifndef BLOCK_IMPL\n";
 5012   Preamble += "#define BLOCK_IMPL\n";
 5013   Preamble += "struct __block_impl {\n";
 5014   Preamble += "  void *isa;\n";
 5015   Preamble += "  int Flags;\n";
 5016   Preamble += "  int Reserved;\n";
 5017   Preamble += "  void *FuncPtr;\n";
 5018   Preamble += "};\n";
 5019   Preamble += "// Runtime copy/destroy helper functions (from Block_private.h)\n";
 5020   Preamble += "#ifdef __OBJC_EXPORT_BLOCKS\n";
 5021   Preamble += "extern \"C\" __declspec(dllexport) "
 5023   Preamble += "extern \"C\" __declspec(dllexport) void _Block_object_dispose(const void *, const int);\n";
 5024   Preamble += "extern \"C\" __declspec(dllexport) void *_NSConcreteGlobalBlock[32];\n";
 5025   Preamble += "extern \"C\" __declspec(dllexport) void *_NSConcreteStackBlock[32];\n";
 5026   Preamble += "#else\n";
 5027   Preamble += "__OBJC_RW_DLLIMPORT void _Block_object_assign(void *, const void *, const int);\n";
 5028   Preamble += "__OBJC_RW_DLLIMPORT void _Block_object_dispose(const void *, const int);\n";
 5029   Preamble += "__OBJC_RW_DLLIMPORT void *_NSConcreteGlobalBlock[32];\n";
 5030   Preamble += "__OBJC_RW_DLLIMPORT void *_NSConcreteStackBlock[32];\n";
 5031   Preamble += "#endif\n";
 5032   Preamble += "#endif\n";
 5034     Preamble += "#undef __OBJC_RW_DLLIMPORT\n";
 5035     Preamble += "#undef __OBJC_RW_STATICIMPORT\n";
 5036     Preamble += "#ifndef KEEP_ATTRIBUTES\n";  // We use this for clang tests.
 5037     Preamble += "#define __attribute__(X)\n";
 5038     Preamble += "#endif\n";
 5039     Preamble += "#define __weak\n";
 5042     Preamble += "#define __block\n";
 5043     Preamble += "#define __weak\n";
 5047   Preamble += "\n#define __OFFSETOFIVAR__(TYPE, MEMBER) ((long long) &((TYPE *)0)->MEMBER)\n";
 5057     Result += "0";
 5059     Result += "__OFFSETOFIVAR__(struct ";
 5062       Result += "_IMPL";
 5063     Result += ", ";
 5065     Result += ")";
 5082     Result += "\nstruct _protocol_methods {\n";
 5083     Result += "\tstruct objc_selector *_cmd;\n";
 5084     Result += "\tchar *method_types;\n";
 5085     Result += "};\n";
 5104     Result += "\nstatic struct {\n";
 5105     Result += "\tint protocol_method_count;\n";
 5106     Result += "\tstruct _protocol_methods protocol_methods[";
 5108     Result += "];\n} _OBJC_PROTOCOL_INSTANCE_METHODS_";
 5118         Result += "\t  ,{{(struct objc_selector *)\"";
 5120         Result += "\t  ,{(struct objc_selector *)\"";
 5123       Result += "\", \"";
 5125       Result += "\"}\n";
 5127     Result += "\t }\n};\n";
 5139     Result += "\nstatic struct {\n";
 5140     Result += "\tint protocol_method_count;\n";
 5141     Result += "\tstruct _protocol_methods protocol_methods[";
 5143     Result += "];\n} _OBJC_PROTOCOL_CLASS_METHODS_";
 5145     Result += " __attribute__ ((used, section (\"__OBJC, __cat_cls_meth\")))= "
 5148     Result += "\n";
 5155         Result += "\t  ,{{(struct objc_selector *)\"";
 5157         Result += "\t  ,{(struct objc_selector *)\"";
 5160       Result += "\", \"";
 5162       Result += "\"}\n";
 5164     Result += "\t }\n};\n";
 5179     Result += "\nstruct _objc_protocol {\n";
 5180     Result += "\tstruct _objc_protocol_extension *isa;\n";
 5181     Result += "\tchar *protocol_name;\n";
 5182     Result += "\tstruct _objc_protocol **protocol_list;\n";
 5183     Result += "\tstruct _objc_protocol_method_list *instance_methods;\n";
 5184     Result += "\tstruct _objc_protocol_method_list *class_methods;\n";
 5185     Result += "};\n";
 5190   Result += "\nstatic struct _objc_protocol _OBJC_PROTOCOL_";
 5192   Result += " __attribute__ ((used, section (\"__OBJC, __protocol\")))= "
 5195   Result += "\", 0, ";
 5197     Result += "(struct _objc_protocol_method_list *)&_OBJC_PROTOCOL_INSTANCE_METHODS_";
 5199     Result += ", ";
 5202     Result += "0, ";
 5204     Result += "(struct _objc_protocol_method_list *)&_OBJC_PROTOCOL_CLASS_METHODS_";
 5206     Result += "\n";
 5209     Result += "0\n";
 5210   Result += "};\n";
 5233   Result += "\nstatic struct {\n";
 5234   Result += "\tstruct _objc_protocol_list *next;\n";
 5235   Result += "\tint    protocol_count;\n";
 5236   Result += "\tstruct _objc_protocol *class_protocols[";
 5238   Result += "];\n} _OBJC_";
 5240   Result += "_PROTOCOLS_";
 5242   Result += " __attribute__ ((used, section (\"__OBJC, __cat_cls_meth\")))= "
 5245   Result += "\n";
 5247   Result += "\t,{&_OBJC_PROTOCOL_";
 5249   Result += " \n";
 5252     Result += "\t ,&_OBJC_PROTOCOL_";
 5254     Result += "\n";
 5256   Result += "\t }\n};\n";
 5283       Result += "\nstruct _objc_ivar {\n";
 5284       Result += "\tchar *ivar_name;\n";
 5285       Result += "\tchar *ivar_type;\n";
 5286       Result += "\tint ivar_offset;\n";
 5287       Result += "};\n";
 5297     Result += "\nstatic struct {\n";
 5298     Result += "\tint ivar_count;\n";
 5299     Result += "\tstruct _objc_ivar ivar_list[";
 5301     Result += "];\n} _OBJC_INSTANCE_VARIABLES_";
 5303     Result += " __attribute__ ((used, section (\"__OBJC, __instance_vars\")))= "
 5306     Result += "\n";
 5319     Result += "\t,{{\"";
 5321     Result += "\", \"";
 5326     Result += "\", ";
 5328     Result += "}\n";
 5330       Result += "\t  ,{\"";
 5332       Result += "\", \"";
 5337       Result += "\", ";
 5339       Result += "}\n";
 5342     Result += "\t }\n};\n";
 5396     Result += "\nstruct _objc_class {\n";
 5397     Result += "\tstruct _objc_class *isa;\n";
 5398     Result += "\tconst char *super_class_name;\n";
 5399     Result += "\tchar *name;\n";
 5400     Result += "\tlong version;\n";
 5401     Result += "\tlong info;\n";
 5402     Result += "\tlong instance_size;\n";
 5403     Result += "\tstruct _objc_ivar_list *ivars;\n";
 5404     Result += "\tstruct _objc_method_list *methods;\n";
 5405     Result += "\tstruct objc_cache *cache;\n";
 5406     Result += "\tstruct _objc_protocol_list *protocols;\n";
 5407     Result += "\tconst char *ivar_layout;\n";
 5408     Result += "\tstruct _objc_class_ext  *ext;\n";
 5409     Result += "};\n";
 5422   Result += "\nstatic struct _objc_class _OBJC_METACLASS_";
 5424   Result += " __attribute__ ((used, section (\"__OBJC, __meta_class\")))= "
 5427   Result += "\"";
 5430     Result += ", \"";
 5432     Result += "\", \"";
 5434     Result += "\"";
 5437     Result += ", 0, \"";
 5439     Result += "\"";
 5443   Result += ", 0,2, sizeof(struct _objc_class), 0";
 5445     Result += "\n\t, (struct _objc_method_list *)&_OBJC_CLASS_METHODS_";
 5447     Result += "\n";
 5450     Result += ", 0\n";
 5452     Result += "\t,0, (struct _objc_protocol_list *)&_OBJC_CLASS_PROTOCOLS_";
 5454     Result += ",0,0\n";
 5457     Result += "\t,0,0,0,0\n";
 5458   Result += "};\n";
 5461   Result += "\nstatic struct _objc_class _OBJC_CLASS_";
 5463   Result += " __attribute__ ((used, section (\"__OBJC, __class\")))= "
 5467     Result += ", \"";
 5469     Result += "\", \"";
 5471     Result += "\"";
 5474     Result += ", 0, \"";
 5476     Result += "\"";
 5479   Result += ", 0,1";
 5481     Result += ",0";
 5484     Result += ",sizeof(struct ";
 5487       Result += "_IMPL";
 5488     Result += ")";
 5491     Result += ", (struct _objc_ivar_list *)&_OBJC_INSTANCE_VARIABLES_";
 5493     Result += "\n\t";
 5496     Result += ",0";
 5498     Result += ", (struct _objc_method_list *)&_OBJC_INSTANCE_METHODS_";
 5500     Result += ", 0\n\t";
 5503     Result += ",0,0";
 5505     Result += ", (struct _objc_protocol_list*)&_OBJC_CLASS_PROTOCOLS_";
 5507     Result += ", 0,0\n";
 5510     Result += ",0,0,0\n";
 5511   Result += "};\n";
 5538   Result += "\nstruct _objc_symtab {\n";
 5539   Result += "\tlong sel_ref_cnt;\n";
 5540   Result += "\tSEL *refs;\n";
 5541   Result += "\tshort cls_def_cnt;\n";
 5542   Result += "\tshort cat_def_cnt;\n";
 5544   Result += "};\n\n";
 5546   Result += "static struct _objc_symtab "
 5551     Result += "\t,&_OBJC_CLASS_";
 5553     Result += "\n";
 5557     Result += "\t,&_OBJC_CATEGORY_";
 5559     Result += "_";
 5561     Result += "\n";
 5564   Result += "};\n\n";
 5577   Result += "\nstruct _objc_module {\n";
 5578   Result += "\tlong version;\n";
 5579   Result += "\tlong size;\n";
 5580   Result += "\tconst char *name;\n";
 5581   Result += "\tstruct _objc_symtab *symtab;\n";
 5582   Result += "};\n\n";
 5583   Result += "static struct _objc_module "
 5587   Result += "};\n\n";
 5591       Result += "#pragma section(\".objc_protocol$B\",long,read,write)\n";
 5592       Result += "#pragma data_seg(push, \".objc_protocol$B\")\n";
 5594         Result += "static struct _objc_protocol *_POINTER_OBJC_PROTOCOL_";
 5596         Result += " = &_OBJC_PROTOCOL_";
 5598         Result += ";\n";
 5600       Result += "#pragma data_seg(pop)\n\n";
 5602     Result += "#pragma section(\".objc_module_info$B\",long,read,write)\n";
 5603     Result += "#pragma data_seg(push, \".objc_module_info$B\")\n";
 5604     Result += "static struct _objc_module *_POINTER_OBJC_MODULES = ";
 5605     Result += "&_OBJC_MODULES;\n";
 5606     Result += "#pragma data_seg(pop)\n\n";
 5670     Result += "\nstruct _objc_category {\n";
 5671     Result += "\tchar *category_name;\n";
 5672     Result += "\tchar *class_name;\n";
 5673     Result += "\tstruct _objc_method_list *instance_methods;\n";
 5674     Result += "\tstruct _objc_method_list *class_methods;\n";
 5675     Result += "\tstruct _objc_protocol_list *protocols;\n";
 5676     Result += "\tunsigned int size;\n";
 5677     Result += "\tstruct _objc_property_list *instance_properties;\n";
 5678     Result += "};\n";
 5681   Result += "\nstatic struct _objc_category _OBJC_CATEGORY_";
 5683   Result += " __attribute__ ((used, section (\"__OBJC, __category\")))= {\n\t\"";
 5685   Result += "\"\n\t, \"";
 5687   Result += "\"\n";
 5690     Result += "\t, (struct _objc_method_list *)"
 5693     Result += "\n";
 5696     Result += "\t, 0\n";
 5698     Result += "\t, (struct _objc_method_list *)"
 5701     Result += "\n";
 5704     Result += "\t, 0\n";
 5707     Result += "\t, (struct _objc_protocol_list *)&_OBJC_CATEGORY_PROTOCOLS_";
 5709     Result += "\n";
 5712     Result += "\t, 0\n";
 5713   Result += "\t, sizeof(struct _objc_category), 0\n};\n";
 5734     Result += "\nstruct _objc_method {\n";
 5735     Result += "\tSEL _cmd;\n";
 5736     Result += "\tchar *method_types;\n";
 5737     Result += "\tvoid *_imp;\n";
 5738     Result += "};\n";
 5752   Result += "\nstatic struct {\n";
 5753   Result += "\tstruct _objc_method_list *next_method;\n";
 5754   Result += "\tint method_count;\n";
 5755   Result += "\tstruct _objc_method method_list[";
 5757   Result += "];\n} _OBJC_";
 5759   Result += IsInstanceMethod ? "INSTANCE" : "CLASS";
 5760   Result += "_METHODS_";
 5762   Result += " __attribute__ ((used, section (\"__OBJC, __";
 5763   Result += IsInstanceMethod ? "inst" : "cls";
 5764   Result += "_meth\")))= ";
 5767   Result += "\t,{{(SEL)\"";
 5771   Result += "\", \"";
 5773   Result += "\", (void *)";
 5775   Result += "}\n";
 5777     Result += "\t  ,{(SEL)\"";
 5781     Result += "\", \"";
 5783     Result += "\", (void *)";
 5785     Result += "}\n";
 5787   Result += "\t }\n};\n";
 5817       RecName += "_IMPL";
 5857       RecName += "_IMPL";
tools/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
 1132       RegexStr += "(";
 1134       RegexStr += ")";
tools/clang/lib/Lex/Lexer.cpp
 2402   Spelling += "*/";    // add suffix.
tools/clang/lib/Lex/Preprocessor.cpp
 1257         FlatModuleName += ".";
tools/clang/lib/Parse/ParseDeclCXX.cpp
  182         NamespaceFix += " { ";
  184           NamespaceFix += "inline ";
  185         NamespaceFix += "namespace ";
  191         RBraces +=  "} ";
 2391           Name += " ";
tools/clang/lib/Parse/ParseExprCXX.cpp
 2293             Name += getOperatorSpelling(Id.OperatorFunctionId.Operator);
tools/clang/lib/Parse/ParsePragma.cpp
 1357     FixIt += "apply_to";
 1360     FixIt += " = ";
 1371     FixIt += "any(";
 1379         FixIt += ", ";
 1382       FixIt += attr::getSubjectMatchRuleSpelling(I.first);
 1384     FixIt += ")";
tools/clang/lib/Rewrite/HTMLRewrite.cpp
  636         Expansion += "<br>";
tools/clang/lib/Sema/Sema.cpp
 2238     ExtensionNames += " ";
tools/clang/lib/Sema/SemaCast.cpp
 1478         PathDisplayStr += "\n    ";
tools/clang/lib/Sema/SemaCodeComplete.cpp
 2541               SuperType += " *";
 2654     Result += "in ";
 2656     Result += "inout ";
 2658     Result += "out ";
 2660     Result += "bycopy ";
 2662     Result += "byref ";
 2664     Result += "oneway ";
 2669         Result += "nonnull ";
 2673         Result += "nullable ";
 2677         Result += "null_unspecified ";
 2806         Result += " ";
 2854     Params += "(";
 2857         Params += ", ";
 2863         Params += ", ...";
 2865     Params += ")";
 2873     Result += ")";
 2956       PlaceholderStr += ", ...";
 3099     QualsStr += " const";
 3101     QualsStr += " volatile";
 3103     QualsStr += " restrict";
 3304       NameAndSignature += Chunk.Text;
 3306       BeforeName += Chunk.Text;
 3322   NameAndSignature += " override";
 3462         Keyword += ":";
 3495         Arg += ", ...";
 4465         PlaceholderStr += ", ...";
tools/clang/lib/Sema/SemaDecl.cpp
 2747   SuitableSpelling += " ";
tools/clang/lib/Sema/SemaDeclCXX.cpp
 2934       PathDisplayStr += "\n    ";
 9133     if (!Specifiers.empty()) Specifiers += " ";
 9134     Specifiers += Spec;
tools/clang/lib/Sema/SemaExprObjC.cpp
 3616       castCode += bridgeKeyword;
 3618       castCode += ")";
 3625     castCode += bridgeKeyword;
 3627     castCode += ")";
 3634       castCode += "(";
 4123         ExpressionString += " ";
 4169           ExpressionString += "]";
tools/clang/lib/Sema/SemaLookup.cpp
 5398       ModuleList += "\n        ";
 5400         ModuleList += "[...]";
tools/clang/lib/Sema/SemaModule.cpp
  166       ModuleName += ".";
  319         ModuleName += ".";
tools/clang/lib/Sema/SemaOpenMP.cpp
 4049           Values += "'";
 4050           Values += getOpenMPDirectiveName(NM);
 4051           Values += "'";
 4053             Values += " or ";
16075     Values += "'";
16076     Values += getOpenMPSimpleClauseTypeName(OMPC_dist_schedule, 0);
16077     Values += "'";
16131     Value += "'";
16133       Value += getOpenMPSimpleClauseTypeName(OMPC_defaultmap,
16137       Value += getOpenMPSimpleClauseTypeName(OMPC_defaultmap,
16141     Value += "'";
tools/clang/lib/Sema/SemaOverload.cpp
10755   TypeStr += "(";
10758     TypeStr += ")";
10761     TypeStr += ", ";
10763     TypeStr += ")";
tools/clang/lib/Sema/SemaType.cpp
 1931     Quals += "&&";
tools/clang/lib/Serialization/ASTReader.cpp
  651         SuggestedPredefines += "#undef ";
  655         SuggestedPredefines += "#define ";
  712       SuggestedPredefines += "#include \"";
  714       SuggestedPredefines += "\"\n";
  725     SuggestedPredefines += "#include \"";
  727     SuggestedPredefines += "\"\n";
  737     SuggestedPredefines += "#__include_macros \"";
  739     SuggestedPredefines += "\"\n##\n";
 2324       ErrorStr += "' referenced by AST file '";
 2326       ErrorStr += "'";
 2374           ErrorStr += "'";
tools/clang/tools/extra/clang-change-namespace/ChangeNamespace.cpp
  254     Code += "\n";
tools/clang/tools/extra/clang-include-fixer/IncludeFixerContext.cpp
   69       Result += "::";
tools/clang/tools/extra/clang-move/Move.cpp
  390     NewCode += "\n";
  428       NewCode += "\n";
  442       NewCode += "\n";
tools/clang/tools/extra/clang-tidy/ClangTidy.cpp
  125         Name += ",-warnings-as-errors";
tools/clang/tools/extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
  149       Result += ", ";
tools/clang/tools/extra/clang-tidy/modernize/ShrinkToFitCheck.cpp
   69       ReplacementText += "->shrink_to_fit()";
   74       ReplacementText += ".shrink_to_fit()";
tools/clang/tools/extra/clang-tidy/mpi/BufferDerefCheck.cpp
  115           IndirectionDesc += "->";
  117           IndirectionDesc += "pointer";
  119           IndirectionDesc += "array";
tools/clang/tools/extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
  122     ReplacementText += "->empty()";
  124     ReplacementText += ".empty()";
tools/clang/tools/extra/clang-tidy/readability/IdentifierNamingCheck.cpp
  327         Fixup += "_";
  335         Fixup += "_";
  361         Fixup += "_";
  370         Fixup += "_";
tools/clang/tools/extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
  117     StartLocInsertion += "(";
  120     StartLocInsertion += "(";
  130     EndLocInsertion += ")";
  134     EndLocInsertion += " == ";
  136     EndLocInsertion += " != ";
  143     EndLocInsertion += ")";
tools/clang/tools/extra/clangd/CodeComplete.cpp
  596     *Scopes.UnresolvedQualifier += "::";
  951         Signature.label += Chunk.Text;
  992         Signature.label += Chunk.Text;
  997       Signature.label += " -> ";
  998       Signature.label += ReturnType;
tools/clang/tools/extra/clangd/CodeCompletionStrings.cpp
   44       *Out += C.Text;
  146           *Signature += Chunk.Text;
  147           *Snippet += Chunk.Text;
  152       *Signature += Chunk.Text;
  153       *Snippet += Chunk.Text;
  161       *Signature += Chunk.Text;
  172       *Signature += Chunk.Text;
  197       *Signature += Chunk.Text;
  198       *Snippet += Chunk.Text;
  201       *Snippet += Chunk.Text;
  215     Result += "Annotation";
  217       Result += ": ";
  219       Result += "s: ";
  222       Result += CCS.getAnnotation(I);
tools/clang/tools/extra/clangd/FormattedString.cpp
   33     R += "\\";
   51     R += "``"; // double the found backtick.
  118       R += " ";
  133         R += "\n";
  135       R += "\n";
  148     R += " ";
  154       R += "\n\n";
  189         R += "\n";
tools/clang/tools/extra/clangd/SemanticHighlighting.cpp
  326     Res += "==";
  332     Res += "=";
tools/clang/tools/extra/clangd/XRefs.cpp
  528         *P.Type += "...";
tools/clang/tools/extra/clangd/index/Symbol.cpp
   19     S += "deprecated|";
   21     S += "completion|";
tools/clang/tools/extra/clangd/refactor/tweaks/ExpandMacro.cpp
  112     Replacement += " ";
tools/clang/tools/extra/clangd/refactor/tweaks/ExtractFunction.cpp
  313       Result += ", ";
  325       Result += ", ";
tools/clang/tools/extra/clangd/unittests/ParsedASTTests.cpp
   61           SpecializationArgs += ",";
tools/clang/tools/extra/modularize/Modularize.cpp
  604     Label += " {}";
tools/clang/tools/libclang/CIndexCodeCompletion.cpp
  608         AllocatedResults.Selector += ":";
tools/clang/unittests/Driver/MultilibTest.cpp
  331       Suffix += "/el";
  333       Suffix += "/sf";
tools/clang/unittests/Format/FormatTest.cpp
 4824     input += "           a,\n";
 4826   input += "           a) {}";
tools/clang/unittests/Tooling/CompilationDatabaseTest.cpp
  358     if (I > 0) JsonDatabase += ",";
  364   JsonDatabase += "]";
tools/clang/utils/TableGen/ClangAttrEmitter.cpp
  725         StorageName += "Storage";
 1635       Ret += ",\n";
 1642   Ret += ",\n  SpellingNotCalculated = 15\n";
 1643   Ret += "\n  };\n\n";
 1734         Result += "unless(";
 1946       Test += " || ";
 1950       Test += "(";
 1952       Test += ")";
 1954       Test += "LangOpts.";
 2886     Test += " && (";
 2891       Test += " == ";
 2895         Test += " || ";
 2899     Test += ")";
 2920   Test += "true";
 2926     Test += " && (";
 2929       Test += "T.getArch() == llvm::Triple::";
 2932         Test += " || ";
 2936     Test += ")";
 2952     Test += " && (";
 2954     Test += ")";
 2993         Test += " && LangOpts.CPlusPlus11";
 2995         Test += " && LangOpts.DoubleSquareBracketAttributes";
 3528   FnName += "LangOpts";
 3759           Spelling += "::";
 3763           Spelling += "::";
tools/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
   87       Mangled += "lsquare";
   90       Mangled += "rsquare";
   93       Mangled += "lbrace";
   96       Mangled += "rbrace";
   99       Mangled += "dollar";
  102       Mangled += "slash";
tools/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
  865       RST[I] += "|";
  866     EmptyLinePrefix += "|";
  879       RST.back() += " |nbsp| ";
  885       Suffix += " |nbsp| ";
  892       S += ":`";
  940     Result += "%";
  945     Result += "%";
  948       Result += "{";
  961     Result += "%plural{";
  967       Result += "|";
  976     Result += "%diff{";
  978     Result += "|";
  980     Result += "}";
  982     Result += ",";
 1150   Prefix->Text += ": ";
tools/clang/utils/TableGen/ClangOptionDocEmitter.cpp
  264         Args.back() += "...";
tools/clang/utils/TableGen/ClangSACheckersEmitter.cpp
   39     name += ".";
   48     name += ".";
tools/clang/utils/TableGen/MveEmitter.cpp
 1321           RetTypeName += " ";
tools/clang/utils/TableGen/NeonEmitter.cpp
  590     S += "u";
  593     S += "poly";
  595     S += "float";
  597     S += "int";
  604   S += "_t";
  607     S += " const";
  609     S += " *";
  621     S += "v";
  624     case 8: S += "c"; break;
  625     case 16: S += "s"; break;
  626     case 32: S += "i"; break;
  627     case 64: S += "Wi"; break;
  628     case 128: S += "LLLi"; break;
  633     case 16: S += "h"; break;
  634     case 32: S += "f"; break;
  635     case 64: S += "d"; break;
  652     if (Constant) S += "C";
  653     if (Pointer) S += "*";
 1100     S += "vv*"; // void result with void* first argument
 1138     S += "i";
 1177     S += "_v";
 1434           Arg += ", ";
 1437       Arg += "}";
 1471   S += ");";
 1603       S += ", ";
 1606   S += ")";
 1769   S += ")";
 1799       S += ", ";
 1802   S += "}";
 1821       S += ", ";
 1824   S += "}";
 1843   S += ")";
 2005       ErrMsg += ", ";
 2008   ErrMsg += ")'\n";
 2009   ErrMsg += "Available overloads:\n";
 2015     ErrMsg += "(";
 2018         ErrMsg += ", ";
 2021     ErrMsg += ")\n";
 2118     S += "\", \"n\")";
tools/llc/llc.cpp
  208             OutputFilename += ".cbe.c";
  210             OutputFilename += ".cpp";
  212             OutputFilename += ".s";
  214           OutputFilename += ".s";
  218           OutputFilename += ".obj";
  220           OutputFilename += ".o";
  223         OutputFilename += ".null";
tools/lld/ELF/Relocations.cpp
   88   msg += "\n>>> referenced by ";
  795     msg += "\n>>> referenced by ";
  816     msg += "\nthe vtable symbol may be undefined because the class is missing "
tools/lldb/source/Commands/CommandObjectWatchpointCommand.cpp
  449             oneliner += "(frame, wp, internal_dict)";
tools/lldb/source/Core/IOHandler.cpp
  413       m_line_buffer += buffer;
tools/lldb/source/Core/Module.cpp
 1055     spec += m_object_name.GetCString();
tools/lldb/source/Host/common/ProcessLaunchInfo.cpp
  294           new_path += "\" ";
tools/lldb/source/Host/linux/HostInfoLinux.cpp
  109       get_distribution_id_command += " -i";
  198     user_plugin_dir += "/lldb";
tools/lldb/source/Interpreter/CommandInterpreter.cpp
 3068               gdb_format_option += (suffix.c_str() + 1);
tools/lldb/source/Interpreter/CommandObject.cpp
  996     full_command += args_string;
tools/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
 1131     features_str += "+fp-armv8,";
 1185       features_str += "+msa,";
 1187       features_str += "+dsp,";
 1189       features_str += "+dspr2,";
 1196     features_str += "+v8.5a,+sve2";
 1226       features_str += "+mips16,";
 1228       features_str += "+micromips,";
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
  787             ToInsert += "()";
  789             ToInsert += "(";
  801             ToInsert += "::";
tools/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
  141     features += "+msa,";
  143     features += "+dsp,";
  145     features += "+dspr2,";
  169     features += "+mips16,";
  171     features += "+micromips,";
tools/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
  141     features += "+msa,";
  143     features += "+dsp,";
  145     features += "+dspr2,";
  147     features += "+mips16,";
  149     features += "+micromips,";
tools/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
  236   res += "::";
tools/lldb/source/Plugins/Language/ObjC/Cocoa.cpp
  709     summary_str += " -- ";
tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
 1639     shared_class_expression += g_get_shared_cache_class_info_body;
tools/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
 3921                 full_so_path += symbol_name;
tools/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
  104         os_plugin_class_name += ".OperatingSystemPlugIn";
tools/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
 1602         dyld_root_path += "/System/Library/CoreServices/SystemVersion.plist";
tools/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
 1374         unwindplan_name += "via '";
 1375         unwindplan_name += m_full_unwind_plan_sp->GetSourceName().AsCString();
 1376         unwindplan_name += "'";
tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
  330             regex_str += echo_packet;
  331             regex_str += "$";
tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
 1258                 triple += "unknown";
 1263                 triple += "unknown";
tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
 3314       result += "&apos;";
 3317       result += "&quot;";
 3320       result += "&lt;";
 3323       result += "&gt;";
tools/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
 1234   oneliner += function_name;
 1248     oneliner += "(frame, bp_loc, extra_args, internal_dict)";
 1257     oneliner += "(frame, bp_loc, internal_dict)";
 1789   param_format += GetPythonValueFormatString(tid);
 1790   param_format += GetPythonValueFormatString(context);
 2981   command += ".__doc__";
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
  401     result += "::";
tools/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
 1572     unwind_plan_source += " plus augmentation from assembly parsing";
tools/lldb/source/Symbol/ClangASTContext.cpp
 6870           child_name += parent_name;
 6953         child_name += parent_name;
 6990           child_name += parent_name;
tools/lldb/source/Symbol/LocateSymbolFile.cpp
   84   dsym_filename += ".dSYM";
  125   dsym_yaa_filename += ".dSYM.yaa";
tools/lldb/source/lldb.cpp
   44     g_version_str += "lldb version ";
   45     g_version_str += CLANG_VERSION_STRING;
   50       g_version_str += " (";
   52         g_version_str += lldb_repo;
   54         g_version_str += " revision ";
   55         g_version_str += lldb_rev;
   57       g_version_str += ")";
   62       g_version_str += "\n  clang revision ";
   67       g_version_str += "\n  llvm revision ";
tools/lldb/tools/lldb-vscode/JSONUtils.cpp
  663     thread_with_name += name;
tools/llvm-ar/llvm-ar.cpp
 1136         Options += Argv[i] + 1;
 1139       Options += Argv[i];
tools/llvm-as/llvm-as.cpp
   79       OutputFilename += ".bc";
tools/llvm-cov/CodeCoverage.cpp
  167   Str += ": ";
tools/llvm-cov/CoverageViewOptions.h
   68     VersionString += LLVM_VERSION_STRING;
tools/llvm-dis/llvm-dis.cpp
  183       OutputFilename += ".ll";
tools/llvm-dwp/llvm-dwp.cpp
  352     Text += " (from ";
  356       Text += "' in ";
  360     Text += "')";
tools/llvm-lto/llvm-lto.cpp
 1009       ModuleFilename += ".merged.bc";
tools/llvm-mc/llvm-mc.cpp
  229     DwarfDebugFlags += argv[i];
  231       DwarfDebugFlags += " ";
  239   DwarfDebugProducer += getenv("DEBUG_PRODUCER");
tools/llvm-objdump/llvm-objdump.cpp
 1735       Type += Type.empty() ? "DATA" : " DATA";
 1737       Type += Type.empty() ? "BSS" : " BSS";
tools/llvm-pdbutil/FormatUtil.cpp
   84       Result += "\n";
   97   Result += "]";
tools/llvm-readobj/ELFDumper.cpp
  523           Str += ", ";
  830     SymbolName += (IsDefault ? "@@" : "@");
 1197         Str += "o";
 1199         Str += "p";
 1201         Str += "x";
 3468   Str += (Flag & PF_W) ? "W" : " ";
 3469   Str += (Flag & PF_X) ? "E" : " ";
 3843       Ret += " | ";
tools/llvm-readobj/MachODumper.cpp
  325   Prot += (prot & MachO::VM_PROT_READ) ? "r" : "-";
  326   Prot += (prot & MachO::VM_PROT_WRITE) ? "w" : "-";
  327   Prot += (prot & MachO::VM_PROT_EXECUTE) ? "x" : "-";
tools/polly/lib/Analysis/ScopBuilder.cpp
 1944       Suffix += "last";
tools/polly/lib/Analysis/ScopInfo.cpp
  311   param_name += "_fortranarr_size";
 1512           ParameterName += "_loaded_from_";
tools/polly/lib/CodeGen/IslAst.cpp
  161     str += " reduction (";
tools/polly/lib/CodeGen/RuntimeDebugBuilder.cpp
  148       FormatString += "%f";
  150       FormatString += "%ld";
  152       FormatString += "%s";
  227       str += "%f";
  229       str += "%ld";
  231       str += "%s";
unittests/Analysis/ScalarEvolutionTest.cpp
  748     DataLayout += "-";
  749   DataLayout += "ni:10";
  823     DataLayout += "-";
  824   DataLayout += "ni:10";
  921     DataLayout += "-";
  922   DataLayout += "ni:10";
 1149     DataLayout += "-";
 1150   DataLayout += "ni:10";
unittests/ExecutionEngine/Orc/SymbolStringPoolTest.cpp
   22   S += "lo";
unittests/MC/StringTableBuilderTest.cpp
   30   Expected += "foobar";
   32   Expected += "foo";
   64   Expected += "pygmy hippopotamus";
   66   Expected += "river horse";
   89   Expected += "foo";
   91   Expected += "bar";
   93   Expected += "foobar";
utils/TableGen/AsmMatcherEmitter.cpp
 1106     case '*': Res += "_STAR_"; break;
 1107     case '%': Res += "_PCT_"; break;
 1108     case ':': Res += "_COLON_"; break;
 1109     case '!': Res += "_EXCLAIM_"; break;
 1110     case '.': Res += "_DOT_"; break;
 1111     case '<': Res += "_LT_"; break;
 1112     case '>': Res += "_GT_"; break;
 1113     case '-': Res += "_MINUS_"; break;
 1114     case '#': Res += "_HASH_"; break;
 2090         Signature += "__";
 2241       Signature += "_NoOperands";
 2711       Result += " && ";
 2770         MatchCode += "else ";
 2772       MatchCode += "  Mnemonic = \"";
 2774       MatchCode += "\";\n";
 2780         MatchCode += "else\n  ";
 2781       MatchCode += "Mnemonic = \"";
 2783       MatchCode += "\";\n";
 2786     MatchCode += "return;";
utils/TableGen/AsmWriterEmitter.cpp
  182       InstrsForCase[idx] += ", ";
  237       Instrs += "...";
utils/TableGen/AsmWriterInst.cpp
   42     Result += ", STI";
   43   Result += ", O";
utils/TableGen/CodeEmitterGen.cpp
  139     Case += "      op.clearAllBits();\n";
  151         Case += ", op";
  155       Case += ", Fixups, STI);\n";
  161       Case += ", op, Fixups, STI";
  164       Case += ", Fixups, STI";
  166     Case += ");\n";
  250         Case += "      Value |= op;\n";
  273       Case += "      switch (HwMode) {\n";
  274       Case += "      default: llvm_unreachable(\"Unhandled HwMode\");\n";
  278         Case += "      break;\n";
  279         Case += "      }\n";
  281       Case += "      }\n";
  323     Case += "      Value = ";
  325     Case += "(MI, Value";
  326     Case += ", STI";
  327     Case += ");\n";
utils/TableGen/CodeGenDAGPatterns.cpp
  967       Code += "unsigned AddrSpace = cast<MemSDNode>(N)->getAddressSpace();\n"
  975           Code += " && ";
  986       Code += ")\nreturn false;\n";
  991       Code += "if (cast<MemSDNode>(N)->getAlignment() < ";
  993       Code += ")\nreturn false;\n";
 1005     Code += "if (cast<AtomicSDNode>(N)->getOrdering() != "
 1008     Code += "if (cast<AtomicSDNode>(N)->getOrdering() != "
 1011     Code += "if (cast<AtomicSDNode>(N)->getOrdering() != "
 1014     Code += "if (cast<AtomicSDNode>(N)->getOrdering() != "
 1017     Code += "if (cast<AtomicSDNode>(N)->getOrdering() != "
 1021     Code += "if (!isAcquireOrStronger(cast<AtomicSDNode>(N)->getOrdering())) "
 1024     Code += "if (isAcquireOrStronger(cast<AtomicSDNode>(N)->getOrdering())) "
 1028     Code += "if (!isReleaseOrStronger(cast<AtomicSDNode>(N)->getOrdering())) "
 1031     Code += "if (isReleaseOrStronger(cast<AtomicSDNode>(N)->getOrdering())) "
 1050         Code += "if (cast<LoadSDNode>(N)->getExtensionType() != "
 1053         Code += "if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) "
 1056         Code += "if (cast<LoadSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) "
 1059         Code += "if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) "
 1067         Code +=
 1070         Code +=
 1088     Code += "return true;\n";
 1297       Result += "cast<ConstantFPSDNode>(Node)->getValueAPF();\n";
 1299       Result += "cast<ConstantSDNode>(Node)->getAPIntValue();\n";
 1301       Result += "cast<ConstantSDNode>(Node)->getSExtValue();\n";
 1408       Check += " && ";
utils/TableGen/CodeGenMapTable.cpp
  350             KeyValueStr += ", ";
  393           OutStr += ", ";
  395           OutStr += "::";
  397         } else { OutStr += ", (uint16_t)-1U";}
utils/TableGen/CodeGenRegisters.cpp
   71     N += "::";
utils/TableGen/DAGISelMatcherGen.cpp
  316       PatternName += ":";
utils/TableGen/FastISelEmitter.cpp
  442   PhysReg += "::";
utils/TableGen/GlobalISelEmitter.cpp
  209       Explanation += " always-true";
  211       Explanation += " immediate";
  214       Explanation += " unindexed";
  217       Explanation += " non-extload";
  219       Explanation += " extload";
  221       Explanation += " sextload";
  223       Explanation += " zextload";
  226       Explanation += " non-truncstore";
  228       Explanation += " truncstore";
  257       Explanation += " monotonic";
  259       Explanation += " acquire";
  261       Explanation += " release";
  263       Explanation += " acq_rel";
  265       Explanation += " seq_cst";
  267       Explanation += " >=acquire";
  269       Explanation += " <acquire";
  271       Explanation += " >=release";
  273       Explanation += " <release";
utils/TableGen/InstrDocsEmitter.cpp
   48     case '\n': Result += "\\n"; break;
   49     case '\t': Result += "\\t"; break;
   51     case '_': Result += "\\_"; break;
   65   Title += " Instructions";
utils/TableGen/InstrInfoEmitter.cpp
  148         Res += "-1, ";
  151       Res += "0";
  155         Res += "|(1<<MCOI::LookupPtrRegClass)";
  160         Res += "|(1<<MCOI::Predicate)";
  165         Res += "|(1<<MCOI::OptionalDef)";
  168       Res += ", ";
  173       Res += ", ";
  178         Res += "0";
  180         Res += "(1 << MCOI::EARLY_CLOBBER)";
utils/TableGen/SubtargetEmitter.cpp
  318       if (++j < M) ItinString += " | ";
  328     ItinString += " }";
  329     if (++i < N) ItinString += ", ";
  351     if (++i < N) ItinString += ", ";
  364     if (++i < NOperandCycles) ItinString += ", ";
  367     ItinString += " 0";
  368     if (++i < NOperandCycles) ItinString += ", ";
  421   StageTable += "  { 0, 0, 0, llvm::InstrStage::Required }, // No itinerary\n";
  426   OperandCycleTable += "  0, // No itinerary\n";
  431   BypassTable += " 0, // No itinerary\n";
  486           StageTable += "\n";
  531   StageTable += "  { 0, 0, 0, llvm::InstrStage::Required } // End stages\n";
  532   StageTable += "};\n";
  535   OperandCycleTable += "  0 // End operand cycles\n";
  536   OperandCycleTable += "};\n";
  538   BypassTable += " 0 // End bypass tables\n";
  539   BypassTable += "};\n";
utils/benchmark/src/benchmark_register.cc
  175           instance.name += "/";
  197           instance.name += "/manual_time";
  199           instance.name += "/real_time";
utils/benchmark/src/console_reporter.cc
   64       str += " UserCounters...";
   67   str += "\n";
utils/unittest/googlemock/src/gmock-matchers.cc
  114         result += ", ";
  117       result += ")";
utils/unittest/googletest/src/gtest-death-test.cc
  508     ret += "[  DEATH   ] ";
utils/unittest/googletest/src/gtest.cc
 1991       result += "\\0";  // Replaces NUL with "\\0";
utils/yaml-bench/YAMLBench.cpp
   80   Ret += ">";