Deleted Added
full compact
SemaExpr.cpp (280031) SemaExpr.cpp (283526)
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;
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
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());
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())
11633 if (Destructor->isDefaulted() && !Destructor->isDeleted()) {
11634 if (Destructor->isTrivial() && !Destructor->hasAttr<DLLExportAttr>())
11635 return;
11634 DefineImplicitDestructor(Loc, Destructor);
11636 DefineImplicitDestructor(Loc, Destructor);
11637 }
11635 if (Destructor->isVirtual())
11636 MarkVTableUsed(Loc, Destructor->getParent());
11637 } else if (CXXMethodDecl *MethodDecl = dyn_cast<CXXMethodDecl>(Func)) {
11638 if (MethodDecl->isOverloadedOperator() &&
11639 MethodDecl->getOverloadedOperator() == OO_Equal) {
11640 MethodDecl = cast<CXXMethodDecl>(MethodDecl->getFirstDecl());
11641 if (MethodDecl->isDefaulted() && !MethodDecl->isDeleted()) {
11642 if (MethodDecl->isCopyAssignmentOperator())

--- 2173 unchanged lines hidden ---
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 ---