Author: vlad.tsyrklevich Date: Mon Feb 25 11:53:13 2019 New Revision: 354812
URL: http://llvm.org/viewvc/llvm-project?rev=354812&view=rev Log: Revert "Make static counters in ASTContext non-static." This reverts commit r354795, I suspect it is causing test failures on MSan sanitizer bots. Modified: cfe/trunk/include/clang/AST/ASTContext.h cfe/trunk/lib/AST/ASTContext.cpp cfe/trunk/lib/Sema/SemaDeclCXX.cpp Modified: cfe/trunk/include/clang/AST/ASTContext.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTContext.h?rev=354812&r1=354811&r2=354812&view=diff ============================================================================== --- cfe/trunk/include/clang/AST/ASTContext.h (original) +++ cfe/trunk/include/clang/AST/ASTContext.h Mon Feb 25 11:53:13 2019 @@ -2809,46 +2809,46 @@ public: //===--------------------------------------------------------------------===// /// The number of implicitly-declared default constructors. - unsigned NumImplicitDefaultConstructors; + static unsigned NumImplicitDefaultConstructors; /// The number of implicitly-declared default constructors for /// which declarations were built. - unsigned NumImplicitDefaultConstructorsDeclared; + static unsigned NumImplicitDefaultConstructorsDeclared; /// The number of implicitly-declared copy constructors. - unsigned NumImplicitCopyConstructors; + static unsigned NumImplicitCopyConstructors; /// The number of implicitly-declared copy constructors for /// which declarations were built. - unsigned NumImplicitCopyConstructorsDeclared; + static unsigned NumImplicitCopyConstructorsDeclared; /// The number of implicitly-declared move constructors. - unsigned NumImplicitMoveConstructors; + static unsigned NumImplicitMoveConstructors; /// The number of implicitly-declared move constructors for /// which declarations were built. - unsigned NumImplicitMoveConstructorsDeclared; + static unsigned NumImplicitMoveConstructorsDeclared; /// The number of implicitly-declared copy assignment operators. - unsigned NumImplicitCopyAssignmentOperators; + static unsigned NumImplicitCopyAssignmentOperators; /// The number of implicitly-declared copy assignment operators for /// which declarations were built. - unsigned NumImplicitCopyAssignmentOperatorsDeclared; + static unsigned NumImplicitCopyAssignmentOperatorsDeclared; /// The number of implicitly-declared move assignment operators. - unsigned NumImplicitMoveAssignmentOperators; + static unsigned NumImplicitMoveAssignmentOperators; /// The number of implicitly-declared move assignment operators for /// which declarations were built. - unsigned NumImplicitMoveAssignmentOperatorsDeclared; + static unsigned NumImplicitMoveAssignmentOperatorsDeclared; /// The number of implicitly-declared destructors. - unsigned NumImplicitDestructors; + static unsigned NumImplicitDestructors; /// The number of implicitly-declared destructors for which /// declarations were built. - unsigned NumImplicitDestructorsDeclared; + static unsigned NumImplicitDestructorsDeclared; public: /// Initialize built-in types. Modified: cfe/trunk/lib/AST/ASTContext.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTContext.cpp?rev=354812&r1=354811&r2=354812&view=diff ============================================================================== --- cfe/trunk/lib/AST/ASTContext.cpp (original) +++ cfe/trunk/lib/AST/ASTContext.cpp Mon Feb 25 11:53:13 2019 @@ -94,6 +94,19 @@ using namespace clang; +unsigned ASTContext::NumImplicitDefaultConstructors; +unsigned ASTContext::NumImplicitDefaultConstructorsDeclared; +unsigned ASTContext::NumImplicitCopyConstructors; +unsigned ASTContext::NumImplicitCopyConstructorsDeclared; +unsigned ASTContext::NumImplicitMoveConstructors; +unsigned ASTContext::NumImplicitMoveConstructorsDeclared; +unsigned ASTContext::NumImplicitCopyAssignmentOperators; +unsigned ASTContext::NumImplicitCopyAssignmentOperatorsDeclared; +unsigned ASTContext::NumImplicitMoveAssignmentOperators; +unsigned ASTContext::NumImplicitMoveAssignmentOperatorsDeclared; +unsigned ASTContext::NumImplicitDestructors; +unsigned ASTContext::NumImplicitDestructorsDeclared; + enum FloatingRank { Float16Rank, HalfRank, FloatRank, DoubleRank, LongDoubleRank, Float128Rank }; Modified: cfe/trunk/lib/Sema/SemaDeclCXX.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclCXX.cpp?rev=354812&r1=354811&r2=354812&view=diff ============================================================================== --- cfe/trunk/lib/Sema/SemaDeclCXX.cpp (original) +++ cfe/trunk/lib/Sema/SemaDeclCXX.cpp Mon Feb 25 11:53:13 2019 @@ -7971,14 +7971,14 @@ void Sema::ActOnFinishCXXMemberSpecifica /// definition of the class is complete. void Sema::AddImplicitlyDeclaredMembersToClass(CXXRecordDecl *ClassDecl) { if (ClassDecl->needsImplicitDefaultConstructor()) { - ++getASTContext().NumImplicitDefaultConstructors; + ++ASTContext::NumImplicitDefaultConstructors; if (ClassDecl->hasInheritedConstructor()) DeclareImplicitDefaultConstructor(ClassDecl); } if (ClassDecl->needsImplicitCopyConstructor()) { - ++getASTContext().NumImplicitCopyConstructors; + ++ASTContext::NumImplicitCopyConstructors; // If the properties or semantics of the copy constructor couldn't be // determined while the class was being declared, force a declaration @@ -8000,7 +8000,7 @@ void Sema::AddImplicitlyDeclaredMembersT } if (getLangOpts().CPlusPlus11 && ClassDecl->needsImplicitMoveConstructor()) { - ++getASTContext().NumImplicitMoveConstructors; + ++ASTContext::NumImplicitMoveConstructors; if (ClassDecl->needsOverloadResolutionForMoveConstructor() || ClassDecl->hasInheritedConstructor()) @@ -8008,7 +8008,7 @@ void Sema::AddImplicitlyDeclaredMembersT } if (ClassDecl->needsImplicitCopyAssignment()) { - ++getASTContext().NumImplicitCopyAssignmentOperators; + ++ASTContext::NumImplicitCopyAssignmentOperators; // If we have a dynamic class, then the copy assignment operator may be // virtual, so we have to declare it immediately. This ensures that, e.g., @@ -8021,7 +8021,7 @@ void Sema::AddImplicitlyDeclaredMembersT } if (getLangOpts().CPlusPlus11 && ClassDecl->needsImplicitMoveAssignment()) { - ++getASTContext().NumImplicitMoveAssignmentOperators; + ++ASTContext::NumImplicitMoveAssignmentOperators; // Likewise for the move assignment operator. if (ClassDecl->isDynamicClass() || @@ -8031,7 +8031,7 @@ void Sema::AddImplicitlyDeclaredMembersT } if (ClassDecl->needsImplicitDestructor()) { - ++getASTContext().NumImplicitDestructors; + ++ASTContext::NumImplicitDestructors; // If we have a dynamic class, then the destructor may be virtual, so we // have to declare the destructor immediately. This ensures that, e.g., it @@ -11013,7 +11013,7 @@ CXXConstructorDecl *Sema::DeclareImplici DefaultCon->setTrivial(ClassDecl->hasTrivialDefaultConstructor()); // Note that we have declared this constructor. - ++getASTContext().NumImplicitDefaultConstructorsDeclared; + ++ASTContext::NumImplicitDefaultConstructorsDeclared; Scope *S = getScopeForContext(ClassDecl); CheckImplicitSpecialMemberDeclaration(S, DefaultCon); @@ -11286,7 +11286,7 @@ CXXDestructorDecl *Sema::DeclareImplicit ClassDecl->hasTrivialDestructorForCall()); // Note that we have declared this destructor. - ++getASTContext().NumImplicitDestructorsDeclared; + ++ASTContext::NumImplicitDestructorsDeclared; Scope *S = getScopeForContext(ClassDecl); CheckImplicitSpecialMemberDeclaration(S, Destructor); @@ -11896,7 +11896,7 @@ CXXMethodDecl *Sema::DeclareImplicitCopy : ClassDecl->hasTrivialCopyAssignment()); // Note that we have added this copy-assignment operator. - ++getASTContext().NumImplicitCopyAssignmentOperatorsDeclared; + ++ASTContext::NumImplicitCopyAssignmentOperatorsDeclared; Scope *S = getScopeForContext(ClassDecl); CheckImplicitSpecialMemberDeclaration(S, CopyAssignment); @@ -12219,7 +12219,7 @@ CXXMethodDecl *Sema::DeclareImplicitMove : ClassDecl->hasTrivialMoveAssignment()); // Note that we have added this copy-assignment operator. - ++getASTContext().NumImplicitMoveAssignmentOperatorsDeclared; + ++ASTContext::NumImplicitMoveAssignmentOperatorsDeclared; Scope *S = getScopeForContext(ClassDecl); CheckImplicitSpecialMemberDeclaration(S, MoveAssignment); @@ -12602,7 +12602,7 @@ CXXConstructorDecl *Sema::DeclareImplici : ClassDecl->hasTrivialCopyConstructorForCall())); // Note that we have declared this constructor. - ++getASTContext().NumImplicitCopyConstructorsDeclared; + ++ASTContext::NumImplicitCopyConstructorsDeclared; Scope *S = getScopeForContext(ClassDecl); CheckImplicitSpecialMemberDeclaration(S, CopyConstructor); @@ -12732,7 +12732,7 @@ CXXConstructorDecl *Sema::DeclareImplici : ClassDecl->hasTrivialMoveConstructorForCall())); // Note that we have declared this constructor. - ++getASTContext().NumImplicitMoveConstructorsDeclared; + ++ASTContext::NumImplicitMoveConstructorsDeclared; Scope *S = getScopeForContext(ClassDecl); CheckImplicitSpecialMemberDeclaration(S, MoveConstructor); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits