From: Benjamin Kramer Date: Sun, 26 Feb 2012 17:31:32 +0000 (+0000) Subject: Shuffle members of DesignatedInitExpr to avoid padding. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a72c352e4950cb487942427550777378b68dc078;p=clang Shuffle members of DesignatedInitExpr to avoid padding. 40 -> 32 bytes on x86_64. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151495 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/AST/Expr.h b/include/clang/AST/Expr.h index e053fd7002..5acee7848a 100644 --- a/include/clang/AST/Expr.h +++ b/include/clang/AST/Expr.h @@ -3667,15 +3667,15 @@ private: /// 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 @@ private: 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".