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

References

tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
 2494   Preamble += "static __NSConstantStringImpl " + S;
 2495   Preamble += " __attribute__ ((section (\"__DATA, __cfstring\"))) = {__CFConstantStringClassReference,";
 2496   Preamble += "0x000007c8,"; // utf8_str
 2501   Preamble += prettyBuf.str();
 2502   Preamble += ",";
 2503   Preamble += utostr(Exp->getString()->getByteLength()) + "};\n";
 4908     RewriteObjCProtocolMetaData(ProtDecl, "", "", Preamble);
 4910   InsertText(SM->getLocForStartOfFile(MainFileID), Preamble, false);
 4941     Preamble = "#pragma once\n";
 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";