]> granicus.if.org Git - clang/commitdiff
CGRecordLayout types are always struct types.
authorAnders Carlsson <andersca@mac.com>
Wed, 24 Nov 2010 19:37:16 +0000 (19:37 +0000)
committerAnders Carlsson <andersca@mac.com>
Wed, 24 Nov 2010 19:37:16 +0000 (19:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120106 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGRecordLayout.h
lib/CodeGen/CGRecordLayoutBuilder.cpp

index ffdbc292d30dc931a4dbb4887fcc0302ee385f5e..b7efe5a4eea0010ba9a3f41de4e0a07568d7ab1d 100644 (file)
@@ -14,7 +14,7 @@
 #include "clang/AST/Decl.h"
 namespace llvm {
   class raw_ostream;
-  class Type;
+  class StructType;
 }
 
 namespace clang {
@@ -173,11 +173,11 @@ class CGRecordLayout {
 
 private:
   /// The LLVM type corresponding to this record layout.
-  const llvm::Type *LLVMType;
+  const llvm::StructType *LLVMType;
 
   /// The LLVM type for the non-virtual part of this record layout, used for
   /// laying out the record as a base.
-  const llvm::Type *NonVirtualBaseLLVMType;
+  const llvm::StructType *NonVirtualBaseLLVMType;
 
   /// Map from (non-bit-field) struct field to the corresponding llvm struct
   /// type field no. This info is populated by record builder.
@@ -196,18 +196,18 @@ private:
   bool IsZeroInitializable : 1;
 
 public:
-  CGRecordLayout(const llvm::Type *LLVMType,
-                 const llvm::Type *NonVirtualBaseLLVMType,
+  CGRecordLayout(const llvm::StructType *LLVMType,
+                 const llvm::StructType *NonVirtualBaseLLVMType,
                  bool IsZeroInitializable)
     : LLVMType(LLVMType), NonVirtualBaseLLVMType(NonVirtualBaseLLVMType), 
     IsZeroInitializable(IsZeroInitializable) {}
 
   /// \brief Return the LLVM type associated with this record.
-  const llvm::Type *getLLVMType() const {
+  const llvm::StructType *getLLVMType() const {
     return LLVMType;
   }
 
-  const llvm::Type *getNonVirtualBaseLLVMType() const {
+  const llvm::StructType *getNonVirtualBaseLLVMType() const {
       return NonVirtualBaseLLVMType;
   }
 
index 9e45df886e6a8b68bc51311a96636e44f4262c88..ce42a6aaaac91d9793ffa57a40cf8a1051ad4a94 100644 (file)
@@ -733,11 +733,11 @@ CGRecordLayout *CodeGenTypes::ComputeRecordLayout(const RecordDecl *D) {
 
   Builder.Layout(D);
 
-  const llvm::Type *Ty = llvm::StructType::get(getLLVMContext(),
-                                               Builder.FieldTypes,
-                                               Builder.Packed);
+  const llvm::StructType *Ty = llvm::StructType::get(getLLVMContext(),
+                                                     Builder.FieldTypes,
+                                                     Builder.Packed);
 
-  const llvm::Type *BaseTy = 0;
+  const llvm::StructType *BaseTy = 0;
   if (isa<CXXRecordDecl>(D)) {
     if (Builder.NonVirtualBaseTypeIsSameAsCompleteType)
       BaseTy = Ty;