]> granicus.if.org Git - clang/commitdiff
Remove hacks from ASTContext now that alignment gets reported correctly.
authorEli Friedman <eli.friedman@gmail.com>
Tue, 20 May 2008 15:17:39 +0000 (15:17 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Tue, 20 May 2008 15:17:39 +0000 (15:17 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51322 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/ASTContext.cpp

index 8fd088a305f13407298116369d1a4840b42bb79a..12bbee2d9fc54b7200f84d4e7099e21abdf3ca5d 100644 (file)
@@ -354,11 +354,7 @@ const ASTRecordLayout &ASTContext::getASTRecordLayout(const RecordDecl *D) {
         else if (FieldIsPacked)
           FieldAlign = 8;
         else {
-          // FIXME: This is X86 specific, use 32-bit alignment for long long.
-          if (FD->getType()->isIntegerType() && TypeInfo.second > 32)
-            FieldAlign = 32;
-          else
-            FieldAlign = TypeInfo.second;
+          FieldAlign = TypeInfo.second;
         }
 
         // Check if we need to add padding to give the field the correct
@@ -418,17 +414,13 @@ const ASTRecordLayout &ASTContext::getASTRecordLayout(const RecordDecl *D) {
       std::pair<uint64_t, unsigned> FieldInfo = getTypeInfo(FD->getType());
       uint64_t FieldSize = FieldInfo.first;
       unsigned FieldAlign = FieldInfo.second;
-      
-      // FIXME: This is X86 specific, use 32-bit alignment for long long.
-      if (FD->getType()->isIntegerType() && FieldAlign > 32)
-        FieldAlign = 32;
 
       // Round up the current record size to the field's alignment boundary.
       RecordSize = std::max(RecordSize, FieldSize);
-      
+
       // Place this field at the start of the record.
       FieldOffsets[i] = 0;
-      
+
       // Remember max struct/class alignment.
       RecordAlign = std::max(RecordAlign, FieldAlign);
     }