objc++: more code gen stuff for atomic property api,

currently turned off. // rdar://6137845
Also, fixes a test case which should be nonatomic under
new API.

llvm-svn: 147691
This commit is contained in:
Fariborz Jahanian
2012-01-06 22:33:54 +00:00
parent 68a922c0e9
commit 7ff610b62d
4 changed files with 79 additions and 16 deletions

View File

@@ -276,6 +276,8 @@ class CodeGenModule : public CodeGenTypeCache {
llvm::StringMap<llvm::Constant*> CFConstantStringMap;
llvm::StringMap<llvm::GlobalVariable*> ConstantStringMap;
llvm::DenseMap<const Decl*, llvm::Value*> StaticLocalDeclMap;
llvm::DenseMap<QualType, llvm::Constant *> AtomicHelperFnMap;
/// CXXGlobalInits - Global variables with initializers that need to run
/// before main.
@@ -398,6 +400,14 @@ public:
StaticLocalDeclMap[D] = GV;
}
llvm::Constant *getAtomicHelperFnMap(QualType Ty) {
return AtomicHelperFnMap[Ty];
}
void setAtomicHelperFnMap(QualType Ty,
llvm::Constant *Fn) {
AtomicHelperFnMap[Ty] = Fn;
}
CGDebugInfo *getModuleDebugInfo() { return DebugInfo; }
ASTContext &getContext() const { return Context; }