clang 20.0.0git
|
#include "CGBlocks.h"
#include "CGCleanup.h"
#include "CGObjCRuntime.h"
#include "CGRecordLayout.h"
#include "CodeGenFunction.h"
#include "CodeGenModule.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Attr.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/Mangle.h"
#include "clang/AST/RecordLayout.h"
#include "clang/AST/StmtObjC.h"
#include "clang/Basic/CodeGenOptions.h"
#include "clang/Basic/LangOptions.h"
#include "clang/CodeGen/CGFunctionInfo.h"
#include "clang/CodeGen/ConstantInitBuilder.h"
#include "llvm/ADT/CachedHashString.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/UniqueVector.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/ScopedPrinter.h"
#include "llvm/Support/raw_ostream.h"
#include <cstdio>
Go to the source code of this file.
Functions | |
static llvm::Constant * | getConstantGEP (llvm::LLVMContext &VMContext, llvm::GlobalVariable *C, unsigned idx0, unsigned idx1) |
getConstantGEP() - Help routine to construct simple GEPs. | |
static bool | hasObjCExceptionAttribute (ASTContext &Context, const ObjCInterfaceDecl *OID) |
hasObjCExceptionAttribute - Return true if this class or any super class has the objc_exception attribute. | |
static llvm::GlobalValue::LinkageTypes | getLinkageTypeForObjCMetadata (CodeGenModule &CGM, StringRef Section) |
static llvm::GlobalVariable * | finishAndCreateGlobal (ConstantInitBuilder::StructBuilder &Builder, const llvm::Twine &Name, CodeGenModule &CGM) |
A helper function to create an internal or private global variable. | |
static llvm::StringMapEntry< llvm::GlobalVariable * > & | GetConstantStringEntry (llvm::StringMap< llvm::GlobalVariable * > &Map, const StringLiteral *Literal, unsigned &StringLength) |
static Qualifiers::GC | GetGCAttrTypeForType (ASTContext &Ctx, QualType FQT, bool pointee=false) |
static std::string | getBlockLayoutInfoString (const SmallVectorImpl< CGObjCCommonMac::RUN_SKIP > &RunSkipBlockVars, bool HasCopyDisposeHelpers) |
static void | PushProtocolProperties (llvm::SmallPtrSet< const IdentifierInfo *, 16 > &PropertySet, SmallVectorImpl< const ObjCPropertyDecl * > &Properties, const ObjCProtocolDecl *Proto, bool IsClassProperty) |
static bool | hasWeakMember (QualType type) |
static bool | hasMRCWeakIvars (CodeGenModule &CGM, const ObjCImplementationDecl *ID) |
For compatibility, we only want to set the "HasMRCWeakIvars" flag (and actually fill in a layout string) if we really do have any __weak ivars. | |
static void | addIfPresent (llvm::DenseSet< llvm::Value * > &S, Address V) |
static llvm::GlobalValue::DLLStorageClassTypes | getStorage (CodeGenModule &CGM, StringRef Name) |
Variables | |
static const int | ModuleVersion = 7 |
anonymous enum |
Enumerator | |
---|---|
kCFTaggedObjectID_Integer |
Definition at line 2047 of file CGObjCMac.cpp.
enum FragileClassFlags |
Definition at line 3402 of file CGObjCMac.cpp.
enum ImageInfoFlags |
EmitImageInfo - Emit the image info marker used to encode some module level information.
See: <rdr://4810609&4810587&4810587> struct IMAGE_INFO { unsigned version; unsigned flags; };
Enumerator | |
---|---|
eImageInfo_FixAndContinue | |
eImageInfo_GarbageCollected | |
eImageInfo_GCOnly | |
eImageInfo_OptimizedByDyld | |
eImageInfo_CorrectedSynthesize | |
eImageInfo_ImageIsSimulated | |
eImageInfo_ClassProperties |
Definition at line 5075 of file CGObjCMac.cpp.
enum NonFragileClassFlags |
Definition at line 3423 of file CGObjCMac.cpp.
|
static |
Definition at line 4426 of file CGObjCMac.cpp.
References V.
|
static |
A helper function to create an internal or private global variable.
Definition at line 1868 of file CGObjCMac.cpp.
References getLinkageTypeForObjCMetadata(), clang::CodeGen::CodeGenTypeCache::getPointerAlign(), and clang::CodeGen::CodeGenModule::getTriple().
|
static |
Definition at line 2846 of file CGObjCMac.cpp.
|
static |
getConstantGEP() - Help routine to construct simple GEPs.
Definition at line 1837 of file CGObjCMac.cpp.
References clang::C.
|
static |
Definition at line 1951 of file CGObjCMac.cpp.
|
static |
Definition at line 2233 of file CGObjCMac.cpp.
References clang::Qualifiers::GCNone, clang::Type::getAs(), GetGCAttrTypeForType(), clang::ASTContext::getLangOpts(), clang::QualType::getObjCLifetime(), clang::Type::isBlockPointerType(), clang::QualType::isObjCGCStrong(), clang::QualType::isObjCGCWeak(), clang::Type::isObjCObjectPointerType(), clang::Qualifiers::OCL_Autoreleasing, clang::Qualifiers::OCL_ExplicitNone, clang::Qualifiers::OCL_None, clang::Qualifiers::OCL_Strong, clang::Qualifiers::OCL_Weak, clang::Qualifiers::Strong, and clang::Qualifiers::Weak.
Referenced by GetGCAttrTypeForType().
|
static |
Definition at line 1859 of file CGObjCMac.cpp.
References clang::CodeGen::CodeGenModule::getTriple().
Referenced by finishAndCreateGlobal().
|
static |
Definition at line 6438 of file CGObjCMac.cpp.
Referenced by clang::OverloadedTemplateStorage::begin(), and clang::OverloadedTemplateStorage::end().
|
static |
For compatibility, we only want to set the "HasMRCWeakIvars" flag (and actually fill in a layout string) if we really do have any __weak ivars.
Definition at line 3471 of file CGObjCMac.cpp.
References clang::CodeGen::CodeGenModule::getLangOpts(), and hasWeakMember().
|
static |
hasObjCExceptionAttribute - Return true if this class or any super class has the objc_exception attribute.
Definition at line 1849 of file CGObjCMac.cpp.
References clang::ObjCInterfaceDecl::getSuperClass(), clang::Decl::hasAttr(), and hasObjCExceptionAttribute().
Referenced by hasObjCExceptionAttribute().
Definition at line 3453 of file CGObjCMac.cpp.
References hasWeakMember(), clang::Qualifiers::OCL_Weak, and clang::ast_matchers::type.
Referenced by hasMRCWeakIvars(), and hasWeakMember().
|
static |
Definition at line 3195 of file CGObjCMac.cpp.
References clang::NamedDecl::getIdentifier(), P, clang::ObjCContainerDecl::properties(), clang::ObjCProtocolDecl::protocols(), and PushProtocolProperties().
Referenced by PushProtocolProperties().
|
static |
Definition at line 5153 of file CGObjCMac.cpp.