]> granicus.if.org Git - clang/commitdiff
IRgen: Add CGOptions to CGTypes.
authorDaniel Dunbar <daniel@zuster.org>
Tue, 21 Jun 2011 18:54:39 +0000 (18:54 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Tue, 21 Jun 2011 18:54:39 +0000 (18:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133530 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CodeGenModule.cpp
lib/CodeGen/CodeGenTypes.cpp
lib/CodeGen/CodeGenTypes.h

index 7f4546f07965d8fb55300f8d79b7567e3a5cd407..af29990da68a24e157ee556ee744b224db0f780a 100644 (file)
@@ -62,7 +62,7 @@ CodeGenModule::CodeGenModule(ASTContext &C, const CodeGenOptions &CGO,
   : Context(C), Features(C.getLangOptions()), CodeGenOpts(CGO), TheModule(M),
     TheTargetData(TD), TheTargetCodeGenInfo(0), Diags(diags),
     ABI(createCXXABI(*this)), 
-    Types(C, M, TD, getTargetCodeGenInfo().getABIInfo(), ABI),
+    Types(C, M, TD, getTargetCodeGenInfo().getABIInfo(), ABI, CGO),
     TBAA(0),
     VTables(*this), Runtime(0), DebugInfo(0), ARCData(0), RRData(0),
     CFConstantStringClassRef(0), ConstantStringClassRef(0),
index 4c1ae9b66d583da13cf615488a8aea45213b3f62..7826e6e780c83406175f01076cb705c7a5c64398 100644 (file)
@@ -28,9 +28,9 @@ using namespace CodeGen;
 
 CodeGenTypes::CodeGenTypes(ASTContext &Ctx, llvm::Module& M,
                            const llvm::TargetData &TD, const ABIInfo &Info,
-                           CGCXXABI &CXXABI)
+                           CGCXXABI &CXXABI, const CodeGenOptions &CGO)
   : Context(Ctx), Target(Ctx.Target), TheModule(M), TheTargetData(TD),
-    TheABIInfo(Info), TheCXXABI(CXXABI) {
+    TheABIInfo(Info), TheCXXABI(CXXABI), CodeGenOpts(CGO) {
 }
 
 CodeGenTypes::~CodeGenTypes() {
index b4a9aea21f8b3efd3ba9417057305baaf0b2bef1..4a84dff620409ecbcda59d01468487e97777210b 100644 (file)
@@ -37,6 +37,7 @@ namespace clang {
   class CXXConstructorDecl;
   class CXXDestructorDecl;
   class CXXMethodDecl;
+  class CodeGenOptions;
   class FieldDecl;
   class FunctionProtoType;
   class ObjCInterfaceDecl;
@@ -62,6 +63,7 @@ class CodeGenTypes {
   const llvm::TargetData& TheTargetData;
   const ABIInfo& TheABIInfo;
   CGCXXABI &TheCXXABI;
+  const CodeGenOptions &CodeGenOpts;
 
   llvm::SmallVector<std::pair<QualType,
                               llvm::OpaqueType *>, 8>  PointersToResolve;
@@ -108,13 +110,15 @@ private:
 
 public:
   CodeGenTypes(ASTContext &Ctx, llvm::Module &M, const llvm::TargetData &TD,
-               const ABIInfo &Info, CGCXXABI &CXXABI);
+               const ABIInfo &Info, CGCXXABI &CXXABI,
+               const CodeGenOptions &Opts);
   ~CodeGenTypes();
 
   const llvm::TargetData &getTargetData() const { return TheTargetData; }
   const TargetInfo &getTarget() const { return Target; }
   ASTContext &getContext() const { return Context; }
   const ABIInfo &getABIInfo() const { return TheABIInfo; }
+  const CodeGenOptions &getCodeGenOpts() const { return CodeGenOpts; }
   CGCXXABI &getCXXABI() const { return TheCXXABI; }
   llvm::LLVMContext &getLLVMContext() { return TheModule.getContext(); }