From: Rafael Espindola Date: Fri, 26 Apr 2013 12:31:12 +0000 (+0000) Subject: Use bitfilds. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4f1d1551ed48e2ac52f5614ba8f94e2931546b51;p=clang Use bitfilds. On a 32 bit build this moves LinkageSpecDecl from 52 to 48 bytes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180601 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/AST/DeclCXX.h b/include/clang/AST/DeclCXX.h index ab6fcba4d7..c483dde1f5 100644 --- a/include/clang/AST/DeclCXX.h +++ b/include/clang/AST/DeclCXX.h @@ -2351,12 +2351,12 @@ public: }; private: /// Language - The language for this linkage specification. - LanguageIDs Language; + unsigned Language : 3; /// True if this linkage spec has brances. This is needed so that hasBraces() /// returns the correct result while the linkage spec body is being parsed. /// Once RBraceLoc has been set this is not used, so it doesn't need to be /// serialized. - bool HasBraces; + unsigned HasBraces : 1; /// ExternLoc - The source location for the extern keyword. SourceLocation ExternLoc; /// RBraceLoc - The source location for the right brace (if valid). @@ -2376,7 +2376,7 @@ public: static LinkageSpecDecl *CreateDeserialized(ASTContext &C, unsigned ID); /// \brief Return the language specified by this linkage specification. - LanguageIDs getLanguage() const { return Language; } + LanguageIDs getLanguage() const { return LanguageIDs(Language); } /// \brief Set the language specified by this linkage specification. void setLanguage(LanguageIDs L) { Language = L; }