From 492b4fc9d4202fd8c36eebcdfe108fb61daac021 Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Mon, 28 Mar 2016 17:28:06 +0000 Subject: [PATCH] Windows: Shrink sizeof(MacroInfo) from 256 to 248, MacroDirective 24 to 16 In the Microsoft ABI, only bitfields with identical types get packed together, so use consistently use one of the two instead of a mix. Saves 457kB when parsing windows.h. No intended behavior change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@264597 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Lex/MacroInfo.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/clang/Lex/MacroInfo.h b/include/clang/Lex/MacroInfo.h index 320645e238..6cc3b0bb26 100644 --- a/include/clang/Lex/MacroInfo.h +++ b/include/clang/Lex/MacroInfo.h @@ -106,7 +106,7 @@ class MacroInfo { bool IsWarnIfUnused : 1; /// \brief Whether this macro info was loaded from an AST file. - unsigned FromASTFile : 1; + bool FromASTFile : 1; /// \brief Whether this macro was used as header guard. bool UsedForHeaderGuard : 1; @@ -318,13 +318,13 @@ protected: unsigned MDKind : 2; /// \brief True if the macro directive was loaded from a PCH file. - bool IsFromPCH : 1; + unsigned IsFromPCH : 1; // Used by VisibilityMacroDirective ----------------------------------------// /// \brief Whether the macro has public visibility (when described in a /// module). - bool IsPublic : 1; + unsigned IsPublic : 1; MacroDirective(Kind K, SourceLocation Loc) : Previous(nullptr), Loc(Loc), MDKind(K), IsFromPCH(false), -- 2.40.0