diff options
author | Craig Topper <craig.topper@gmail.com> | 2014-05-12 05:36:57 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2014-05-12 05:36:57 +0000 |
commit | 36250ad632a5a2611919413c1a00a1b9f338fc85 (patch) | |
tree | 368e401ec64b5cfa5dfcc922ab3134ab6ecc035a /clang/lib/AST/ExprCXX.cpp | |
parent | 4ca40eda368a99b8c3934653a9b7abf92d8afc87 (diff) | |
download | bcm5719-llvm-36250ad632a5a2611919413c1a00a1b9f338fc85.tar.gz bcm5719-llvm-36250ad632a5a2611919413c1a00a1b9f338fc85.zip |
[C++11] Use 'nullptr'. AST edition.
llvm-svn: 208517
Diffstat (limited to 'clang/lib/AST/ExprCXX.cpp')
-rw-r--r-- | clang/lib/AST/ExprCXX.cpp | 66 |
1 files changed, 34 insertions, 32 deletions
diff --git a/clang/lib/AST/ExprCXX.cpp b/clang/lib/AST/ExprCXX.cpp index 04f4d40c77b..d6002a7824a 100644 --- a/clang/lib/AST/ExprCXX.cpp +++ b/clang/lib/AST/ExprCXX.cpp @@ -67,19 +67,19 @@ UuidAttr *CXXUuidofExpr::GetUuidAttrOfType(QualType QT, // Loop all record redeclaration looking for an uuid attribute. CXXRecordDecl *RD = Ty->getAsCXXRecordDecl(); if (!RD) - return 0; + return nullptr; // __uuidof can grab UUIDs from template arguments. if (ClassTemplateSpecializationDecl *CTSD = dyn_cast<ClassTemplateSpecializationDecl>(RD)) { const TemplateArgumentList &TAL = CTSD->getTemplateArgs(); - UuidAttr *UuidForRD = 0; + UuidAttr *UuidForRD = nullptr; for (unsigned I = 0, N = TAL.size(); I != N; ++I) { const TemplateArgument &TA = TAL[I]; bool SeenMultipleGUIDs = false; - UuidAttr *UuidForTA = 0; + UuidAttr *UuidForTA = nullptr; if (TA.getKind() == TemplateArgument::Type) UuidForTA = GetUuidAttrOfType(TA.getAsType(), &SeenMultipleGUIDs); else if (TA.getKind() == TemplateArgument::Declaration) @@ -101,7 +101,7 @@ UuidAttr *CXXUuidofExpr::GetUuidAttrOfType(QualType QT, if (SeenMultipleGUIDs) { if (RDHasMultipleGUIDsPtr) *RDHasMultipleGUIDsPtr = true; - return 0; + return nullptr; } } @@ -112,7 +112,7 @@ UuidAttr *CXXUuidofExpr::GetUuidAttrOfType(QualType QT, if (auto Uuid = I->getAttr<UuidAttr>()) return Uuid; - return 0; + return nullptr; } StringRef CXXUuidofExpr::getUuidAsStringRef(ASTContext &Context) const { @@ -149,14 +149,15 @@ CXXNewExpr::CXXNewExpr(const ASTContext &C, bool globalNew, ty->isDependentType(), ty->isDependentType(), ty->isInstantiationDependentType(), ty->containsUnexpandedParameterPack()), - SubExprs(0), OperatorNew(operatorNew), OperatorDelete(operatorDelete), + SubExprs(nullptr), OperatorNew(operatorNew), OperatorDelete(operatorDelete), AllocatedTypeInfo(allocatedTypeInfo), TypeIdParens(typeIdParens), Range(Range), DirectInitRange(directInitRange), GlobalNew(globalNew), UsualArrayDeleteWantsSize(usualArrayDeleteWantsSize) { - assert((initializer != 0 || initializationStyle == NoInit) && + assert((initializer != nullptr || initializationStyle == NoInit) && "Only NoInit can have no initializer."); StoredInitializationStyle = initializer ? initializationStyle + 1 : 0; - AllocateArgsArray(C, arraySize != 0, placementArgs.size(), initializer != 0); + AllocateArgsArray(C, arraySize != nullptr, placementArgs.size(), + initializer != nullptr); unsigned i = 0; if (Array) { if (arraySize->isInstantiationDependent()) @@ -201,7 +202,7 @@ CXXNewExpr::CXXNewExpr(const ASTContext &C, bool globalNew, void CXXNewExpr::AllocateArgsArray(const ASTContext &C, bool isArray, unsigned numPlaceArgs, bool hasInitializer){ - assert(SubExprs == 0 && "SubExprs already allocated"); + assert(SubExprs == nullptr && "SubExprs already allocated"); Array = isArray; NumPlacementArgs = numPlaceArgs; @@ -343,9 +344,9 @@ OverloadExpr::OverloadExpr(StmtClass K, const ASTContext &C, QualifierLoc.getNestedNameSpecifier() ->containsUnexpandedParameterPack()))), NameInfo(NameInfo), QualifierLoc(QualifierLoc), - Results(0), NumResults(End - Begin), - HasTemplateKWAndArgsInfo(TemplateArgs != 0 || TemplateKWLoc.isValid()) -{ + Results(nullptr), NumResults(End - Begin), + HasTemplateKWAndArgsInfo(TemplateArgs != nullptr || + TemplateKWLoc.isValid()) { NumResults = End - Begin; if (NumResults) { // Determine whether this expression is type-dependent. @@ -396,7 +397,7 @@ OverloadExpr::OverloadExpr(StmtClass K, const ASTContext &C, void OverloadExpr::initializeResults(const ASTContext &C, UnresolvedSetIterator Begin, UnresolvedSetIterator End) { - assert(Results == 0 && "Results already initialized!"); + assert(!Results && "Results already initialized!"); NumResults = End - Begin; if (NumResults) { Results = static_cast<DeclAccessPair *>( @@ -431,7 +432,7 @@ DependentScopeDeclRefExpr::DependentScopeDeclRefExpr(QualType T, QualifierLoc.getNestedNameSpecifier() ->containsUnexpandedParameterPack()))), QualifierLoc(QualifierLoc), NameInfo(NameInfo), - HasTemplateKWAndArgsInfo(Args != 0 || TemplateKWLoc.isValid()) + HasTemplateKWAndArgsInfo(Args != nullptr || TemplateKWLoc.isValid()) { if (Args) { bool Dependent = true; @@ -476,7 +477,7 @@ DependentScopeDeclRefExpr::CreateEmpty(const ASTContext &C, DependentScopeDeclRefExpr *E = new (Mem) DependentScopeDeclRefExpr(QualType(), NestedNameSpecifierLoc(), SourceLocation(), - DeclarationNameInfo(), 0); + DeclarationNameInfo(), nullptr); E->HasTemplateKWAndArgsInfo = HasTemplateKWAndArgsInfo; return E; } @@ -542,7 +543,7 @@ Expr *CXXMemberCallExpr::getImplicitObjectArgument() const { return BO->getLHS(); // FIXME: Will eventually need to cope with member pointers. - return 0; + return nullptr; } CXXMethodDecl *CXXMemberCallExpr::getMethodDecl() const { @@ -551,14 +552,14 @@ CXXMethodDecl *CXXMemberCallExpr::getMethodDecl() const { return cast<CXXMethodDecl>(MemExpr->getMemberDecl()); // FIXME: Will eventually need to cope with member pointers. - return 0; + return nullptr; } CXXRecordDecl *CXXMemberCallExpr::getRecordDecl() const { Expr* ThisArg = getImplicitObjectArgument(); if (!ThisArg) - return 0; + return nullptr; if (ThisArg->getType()->isAnyPointerType()) return ThisArg->getType()->getPointeeType()->getAsCXXRecordDecl(); @@ -864,7 +865,7 @@ CXXConstructExpr::CXXConstructExpr(const ASTContext &C, StmtClass SC, Elidable(elidable), HadMultipleCandidates(HadMultipleCandidates), ListInitialization(ListInitialization), ZeroInitialization(ZeroInitialization), - ConstructKind(ConstructKind), Args(0) + ConstructKind(ConstructKind), Args(nullptr) { if (NumArgs) { Args = new (C) Stmt*[args.size()]; @@ -894,8 +895,8 @@ LambdaCapture::LambdaCapture(SourceLocation Loc, bool Implicit, Bits |= Capture_Implicit; switch (Kind) { - case LCK_This: - assert(Var == 0 && "'this' capture cannot have a variable!"); + case LCK_This: + assert(!Var && "'this' capture cannot have a variable!"); break; case LCK_ByCopy: @@ -1185,7 +1186,8 @@ CXXDependentScopeMemberExpr::CXXDependentScopeMemberExpr(const ASTContext &C, ->containsUnexpandedParameterPack()) || MemberNameInfo.containsUnexpandedParameterPack())), Base(Base), BaseType(BaseType), IsArrow(IsArrow), - HasTemplateKWAndArgsInfo(TemplateArgs != 0 || TemplateKWLoc.isValid()), + HasTemplateKWAndArgsInfo(TemplateArgs != nullptr || + TemplateKWLoc.isValid()), OperatorLoc(OperatorLoc), QualifierLoc(QualifierLoc), FirstQualifierFoundInScope(FirstQualifierFoundInScope), MemberNameInfo(MemberNameInfo) { @@ -1258,26 +1260,26 @@ CXXDependentScopeMemberExpr::CreateEmpty(const ASTContext &C, bool HasTemplateKWAndArgsInfo, unsigned NumTemplateArgs) { if (!HasTemplateKWAndArgsInfo) - return new (C) CXXDependentScopeMemberExpr(C, 0, QualType(), + return new (C) CXXDependentScopeMemberExpr(C, nullptr, QualType(), 0, SourceLocation(), - NestedNameSpecifierLoc(), 0, - DeclarationNameInfo()); + NestedNameSpecifierLoc(), + nullptr, DeclarationNameInfo()); std::size_t size = sizeof(CXXDependentScopeMemberExpr) + ASTTemplateKWAndArgsInfo::sizeFor(NumTemplateArgs); void *Mem = C.Allocate(size, llvm::alignOf<CXXDependentScopeMemberExpr>()); CXXDependentScopeMemberExpr *E - = new (Mem) CXXDependentScopeMemberExpr(C, 0, QualType(), + = new (Mem) CXXDependentScopeMemberExpr(C, nullptr, QualType(), 0, SourceLocation(), NestedNameSpecifierLoc(), - SourceLocation(), 0, - DeclarationNameInfo(), 0); + SourceLocation(), nullptr, + DeclarationNameInfo(), nullptr); E->HasTemplateKWAndArgsInfo = true; return E; } bool CXXDependentScopeMemberExpr::isImplicitAccess() const { - if (Base == 0) + if (!Base) return true; return cast<Expr>(Base)->isImplicitCXXThis(); @@ -1331,7 +1333,7 @@ UnresolvedMemberExpr::UnresolvedMemberExpr(const ASTContext &C, } bool UnresolvedMemberExpr::isImplicitAccess() const { - if (Base == 0) + if (!Base) return true; return cast<Expr>(Base)->isImplicitCXXThis(); @@ -1380,7 +1382,7 @@ CXXRecordDecl *UnresolvedMemberExpr::getNamingClass() const { // If there was a nested name specifier, it names the naming class. // It can't be dependent: after all, we were actually able to do the // lookup. - CXXRecordDecl *Record = 0; + CXXRecordDecl *Record = nullptr; if (getQualifier()) { const Type *T = getQualifier()->getAsType(); assert(T && "qualifier in member expression does not name type"); @@ -1443,7 +1445,7 @@ FunctionParmPackExpr::CreateEmpty(const ASTContext &Context, unsigned NumParams) { return new (Context.Allocate(sizeof(FunctionParmPackExpr) + sizeof(ParmVarDecl*) * NumParams)) - FunctionParmPackExpr(QualType(), 0, SourceLocation(), 0, 0); + FunctionParmPackExpr(QualType(), nullptr, SourceLocation(), 0, nullptr); } void MaterializeTemporaryExpr::setExtendingDecl(const ValueDecl *ExtendedBy, |