1//===--- SemaExpr.cpp - Semantic Analysis for Expressions -----------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 103 unchanged lines hidden (view full) --- 112 } 113 } 114 } 115 116 switch (Result) { 117 case AR_Available: 118 case AR_NotYetIntroduced: 119 break; |
120 |
121 case AR_Deprecated: 122 if (S.getCurContextAvailability() != AR_Deprecated) 123 S.EmitAvailabilityWarning(Sema::AD_Deprecation, 124 D, Message, Loc, UnknownObjCClass, ObjCPDecl, 125 ObjCPropertyAccess); 126 break; 127 128 case AR_Unavailable: --- 11496 unchanged lines hidden (view full) --- 11625 DefineImplicitMoveConstructor(Loc, Constructor); 11626 } 11627 } else if (Constructor->getInheritedConstructor()) { 11628 DefineInheritingConstructor(Loc, Constructor); 11629 } 11630 } else if (CXXDestructorDecl *Destructor = 11631 dyn_cast<CXXDestructorDecl>(Func)) { 11632 Destructor = cast<CXXDestructorDecl>(Destructor->getFirstDecl()); |
11633 if (Destructor->isDefaulted() && !Destructor->isDeleted()) { 11634 if (Destructor->isTrivial() && !Destructor->hasAttr<DLLExportAttr>()) 11635 return; |
11636 DefineImplicitDestructor(Loc, Destructor); |
11637 } |
11638 if (Destructor->isVirtual()) 11639 MarkVTableUsed(Loc, Destructor->getParent()); 11640 } else if (CXXMethodDecl *MethodDecl = dyn_cast<CXXMethodDecl>(Func)) { 11641 if (MethodDecl->isOverloadedOperator() && 11642 MethodDecl->getOverloadedOperator() == OO_Equal) { 11643 MethodDecl = cast<CXXMethodDecl>(MethodDecl->getFirstDecl()); 11644 if (MethodDecl->isDefaulted() && !MethodDecl->isDeleted()) { 11645 if (MethodDecl->isCopyAssignmentOperator()) --- 2173 unchanged lines hidden --- |