[cfe-commits] r151495 - /cfe/trunk/include/clang/AST/Expr.h

Benjamin Kramer benny.kra at googlemail.com
Sun Feb 26 09:31:33 PST 2012


Author: d0k
Date: Sun Feb 26 11:31:32 2012
New Revision: 151495

URL: http://llvm.org/viewvc/llvm-project?rev=151495&view=rev
Log:
Shuffle members of DesignatedInitExpr to avoid padding.

40 -> 32 bytes on x86_64.

Modified:
    cfe/trunk/include/clang/AST/Expr.h

Modified: cfe/trunk/include/clang/AST/Expr.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Expr.h?rev=151495&r1=151494&r2=151495&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/Expr.h (original)
+++ cfe/trunk/include/clang/AST/Expr.h Sun Feb 26 11:31:32 2012
@@ -3667,15 +3667,15 @@
   /// The number of designators in this initializer expression.
   unsigned NumDesignators : 15;
 
-  /// \brief The designators in this designated initialization
-  /// expression.
-  Designator *Designators;
-
   /// The number of subexpressions of this initializer expression,
   /// which contains both the initializer and any additional
   /// expressions used by array and array-range designators.
   unsigned NumSubExprs : 16;
 
+  /// \brief The designators in this designated initialization
+  /// expression.
+  Designator *Designators;
+
 
   DesignatedInitExpr(ASTContext &C, QualType Ty, unsigned NumDesignators,
                      const Designator *Designators,
@@ -3685,7 +3685,7 @@
 
   explicit DesignatedInitExpr(unsigned NumSubExprs)
     : Expr(DesignatedInitExprClass, EmptyShell()),
-      NumDesignators(0), Designators(0), NumSubExprs(NumSubExprs) { }
+      NumDesignators(0), NumSubExprs(NumSubExprs), Designators(0) { }
 
 public:
   /// A field designator, e.g., ".x".





More information about the cfe-commits mailing list