diff options
author | Reid Kleckner <rnk@google.com> | 2019-11-22 14:55:49 -0800 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2019-11-22 15:47:46 -0800 |
commit | 2692eb0b86c8f7ae1299d2e032f2778bb6e0a224 (patch) | |
tree | cd1ce6fc5288141158e10130c73a8f3ae4a9bc67 /clang/lib/AST/RecordLayoutBuilder.cpp | |
parent | b6ae524cd2d5139748e207d4b60b4a900775d6a7 (diff) | |
download | bcm5719-llvm-2692eb0b86c8f7ae1299d2e032f2778bb6e0a224.tar.gz bcm5719-llvm-2692eb0b86c8f7ae1299d2e032f2778bb6e0a224.zip |
Move vtordisp mode from Attr class to LangOptions.h, NFC
This removes one of the two uses of Attr.h in DeclCXX.h, reducing the
need to include Attr.h as widely. LangOptions is already very popular.
Diffstat (limited to 'clang/lib/AST/RecordLayoutBuilder.cpp')
-rw-r--r-- | clang/lib/AST/RecordLayoutBuilder.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/AST/RecordLayoutBuilder.cpp b/clang/lib/AST/RecordLayoutBuilder.cpp index 2a3419a0cec..9a21732b63e 100644 --- a/clang/lib/AST/RecordLayoutBuilder.cpp +++ b/clang/lib/AST/RecordLayoutBuilder.cpp @@ -2956,7 +2956,7 @@ void MicrosoftRecordLayoutBuilder::computeVtorDispSet( const CXXRecordDecl *RD) const { // /vd2 or #pragma vtordisp(2): Always use vtordisps for virtual bases with // vftables. - if (RD->getMSVtorDispMode() == MSVtorDispAttr::ForVFTable) { + if (RD->getMSVtorDispMode() == MSVtorDispMode::ForVFTable) { for (const CXXBaseSpecifier &Base : RD->vbases()) { const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); const ASTRecordLayout &Layout = Context.getASTRecordLayout(BaseDecl); @@ -2979,12 +2979,12 @@ void MicrosoftRecordLayoutBuilder::computeVtorDispSet( // * A user declared constructor or destructor aren't declared. // * #pragma vtordisp(0) or the /vd0 flag are in use. if ((!RD->hasUserDeclaredConstructor() && !RD->hasUserDeclaredDestructor()) || - RD->getMSVtorDispMode() == MSVtorDispAttr::Never) + RD->getMSVtorDispMode() == MSVtorDispMode::Never) return; // /vd1 or #pragma vtordisp(1): Try to guess based on whether we think it's // possible for a partially constructed object with virtual base overrides to // escape a non-trivial constructor. - assert(RD->getMSVtorDispMode() == MSVtorDispAttr::ForVBaseOverride); + assert(RD->getMSVtorDispMode() == MSVtorDispMode::ForVBaseOverride); // Compute a set of base classes which define methods we override. A virtual // base in this set will require a vtordisp. A virtual base that transitively // contains one of these bases as a non-virtual base will also require a |