Index: include/clang/AST/DeclBase.h =================================================================== --- include/clang/AST/DeclBase.h +++ include/clang/AST/DeclBase.h @@ -384,7 +384,7 @@ if (StatisticsEnabled) add(DK); } - virtual ~Decl(); + virtual ~Decl() = default; /// Update a potentially out-of-date declaration. void updateOutOfDate(IdentifierInfo &II) const; Index: include/clang/Sema/ObjCMethodList.h =================================================================== --- include/clang/Sema/ObjCMethodList.h +++ include/clang/Sema/ObjCMethodList.h @@ -33,9 +33,8 @@ ObjCMethodList() { } ObjCMethodList(ObjCMethodDecl *M) : MethodAndHasMoreThanOneDecl(M, 0) {} - ObjCMethodList(const ObjCMethodList &L) - : MethodAndHasMoreThanOneDecl(L.MethodAndHasMoreThanOneDecl), - NextAndExtraBits(L.NextAndExtraBits) {} + ObjCMethodList(const ObjCMethodList &L) = default; + ObjCMethodList &operator=(const ObjCMethodList &L) = default; ObjCMethodList *getNext() const { return NextAndExtraBits.getPointer(); } unsigned getBits() const { return NextAndExtraBits.getInt(); } Index: include/clang/Sema/Sema.h =================================================================== --- include/clang/Sema/Sema.h +++ include/clang/Sema/Sema.h @@ -10017,6 +10017,7 @@ CUDADiagBuilder(Kind K, SourceLocation Loc, unsigned DiagID, FunctionDecl *Fn, Sema &S); + CUDADiagBuilder(const CUDADiagBuilder &) = default; ~CUDADiagBuilder(); /// Convertible to bool: True if we immediately emitted an error, false if Index: include/clang/Tooling/Refactoring/RefactoringActionRule.h =================================================================== --- include/clang/Tooling/Refactoring/RefactoringActionRule.h +++ include/clang/Tooling/Refactoring/RefactoringActionRule.h @@ -36,7 +36,7 @@ /// partially). class RefactoringActionRuleBase { public: - virtual ~RefactoringActionRuleBase() {} + virtual ~RefactoringActionRuleBase() = default; /// Initiates and performs a specific refactoring action. /// Index: include/clang/Tooling/Refactoring/RefactoringActionRuleRequirements.h =================================================================== --- include/clang/Tooling/Refactoring/RefactoringActionRuleRequirements.h +++ include/clang/Tooling/Refactoring/RefactoringActionRuleRequirements.h @@ -81,7 +81,7 @@ /// A base class for any requirement that requires some refactoring options. class RefactoringOptionsRequirement : public RefactoringActionRuleRequirement { public: - virtual ~RefactoringOptionsRequirement() {} + virtual ~RefactoringOptionsRequirement() = default; /// Returns the set of refactoring options that are used when evaluating this /// requirement. Index: lib/AST/DeclBase.cpp =================================================================== --- lib/AST/DeclBase.cpp +++ lib/AST/DeclBase.cpp @@ -289,9 +289,6 @@ // Decl Implementation //===----------------------------------------------------------------------===// -// Out-of-line virtual method providing a home for Decl. -Decl::~Decl() = default; - void Decl::setDeclContext(DeclContext *DC) { DeclCtx = DC; }