From: Benjamin Kramer Date: Fri, 26 Jan 2018 20:01:13 +0000 (+0000) Subject: Try to unbreak 32 bit builds after r323528. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=06a72f4d665a27a8b5e015d9372bc2beb8881909;p=clang Try to unbreak 32 bit builds after r323528. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@323554 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/AST/Decl.h b/include/clang/AST/Decl.h index 8302c57385..b2d3ef5d54 100644 --- a/include/clang/AST/Decl.h +++ b/include/clang/AST/Decl.h @@ -83,7 +83,7 @@ class VarTemplateDecl; /// TypeLoc TL = TypeSourceInfo->getTypeLoc(); /// TL.getStartLoc().print(OS, SrcMgr); /// @endcode -class TypeSourceInfo { +class LLVM_ALIGNAS(8) TypeSourceInfo { // Contains a memory block after the class, used for type source information, // allocated by ASTContext. friend class ASTContext; @@ -2813,7 +2813,10 @@ public: /// Base class for declarations which introduce a typedef-name. class TypedefNameDecl : public TypeDecl, public Redeclarable { - using ModedTInfo = std::pair; + struct LLVM_ALIGNAS(8) ModedTInfo { + TypeSourceInfo *first; + QualType second; + }; /// If int part is 0, we have not computed IsTransparentTag. /// Otherwise, IsTransparentTag is (getInt() >> 1). @@ -2877,7 +2880,7 @@ public: void setModedTypeSourceInfo(TypeSourceInfo *unmodedTSI, QualType modedTy) { MaybeModedTInfo.setPointer(new (getASTContext(), 8) - ModedTInfo(unmodedTSI, modedTy)); + ModedTInfo({unmodedTSI, modedTy})); } /// Retrieves the canonical declaration of this typedef-name.