diff options
author | Eric Christopher <echristo@apple.com> | 2012-02-18 00:50:17 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2012-02-18 00:50:17 +0000 |
commit | 7ff0c5d30d365ba5d4f08e1d2fcea0370b21699b (patch) | |
tree | 9ac2aeff8a0226a9bbde79990e4372aeb42d5608 /lib/CodeGen/CGDebugInfo.h | |
parent | 1486d2c5d73302bdfdb1cece09d95958052c9cdb (diff) |
Add in a caching mechanism so that forward declarations are replaced
with full types if they exist.
rdar://10809898 and rdar://10209967 and rdar://10400981
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150858 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGDebugInfo.h')
-rw-r--r-- | lib/CodeGen/CGDebugInfo.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/CodeGen/CGDebugInfo.h b/lib/CodeGen/CGDebugInfo.h index 1116336ca7..a071b06c26 100644 --- a/lib/CodeGen/CGDebugInfo.h +++ b/lib/CodeGen/CGDebugInfo.h @@ -56,6 +56,10 @@ class CGDebugInfo { /// CompleteTypeCache - Cache of previously constructed complete RecordTypes. llvm::DenseMap<void *, llvm::WeakVH> CompletedTypeCache; + /// ReplaceMap - Cache of forward declared types to RAUW at the end of + /// compilation. + std::vector<std::pair<void *, llvm::WeakVH> >ReplaceMap; + bool BlockLiteralGenericSet; llvm::DIType BlockLiteralGeneric; @@ -160,7 +164,8 @@ class CGDebugInfo { public: CGDebugInfo(CodeGenModule &CGM); ~CGDebugInfo(); - void finalize() { DBuilder.finalize(); } + + void finalize(void); /// setLocation - Update the current source location. If \arg loc is /// invalid it is ignored. |