rewrite some of the type refinement code to eliminate dangling pointers
simplify the code and generally make it more robust.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46745 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/CodeGen/CodeGenModule.h b/CodeGen/CodeGenModule.h
index 87b9e9c..5135c1b 100644
--- a/CodeGen/CodeGenModule.h
+++ b/CodeGen/CodeGenModule.h
@@ -34,6 +34,7 @@
class Stmt;
class ValueDecl;
class VarDecl;
+ class TypeDecl;
class FileVarDecl;
struct LangOptions;
class Diagnostic;
@@ -87,6 +88,7 @@
void EmitFunction(const FunctionDecl *FD);
void EmitGlobalVar(const FileVarDecl *D);
void EmitGlobalVarDeclarator(const FileVarDecl *D);
+ void EmitType(const TypeDecl *D);
llvm::Constant *EmitGlobalInit(const Expr *E);
llvm::Constant *EmitConstantExpr(const Expr *E);