diff options
author | Richard Smith <richard@metafoo.co.uk> | 2019-10-22 17:44:08 -0700 |
---|---|---|
committer | Richard Smith <richard@metafoo.co.uk> | 2019-10-22 18:16:17 -0700 |
commit | d052a578de58cbbb638cbe2dba05242d1ff443b9 (patch) | |
tree | 2f3ed903007c6a0459234ce4d05c40e8a33889a6 /clang/lib/Sema/SemaDecl.cpp | |
parent | 437e0e5191ca255db27e86d232020844c1fd08c8 (diff) | |
download | bcm5719-llvm-d052a578de58cbbb638cbe2dba05242d1ff443b9.tar.gz bcm5719-llvm-d052a578de58cbbb638cbe2dba05242d1ff443b9.zip |
[c++2a] Allow comparison functions to be explicitly defaulted.
This adds some initial syntactic checking that only the appropriate
function signatures can be defaulted. No implicit definitions are
generated yet.
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
-rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index 62ec83967bf..6202391ee0b 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -2993,28 +2993,6 @@ struct GNUCompatibleParamWarning { } // end anonymous namespace -/// getSpecialMember - get the special member enum for a method. -Sema::CXXSpecialMember Sema::getSpecialMember(const CXXMethodDecl *MD) { - if (const CXXConstructorDecl *Ctor = dyn_cast<CXXConstructorDecl>(MD)) { - if (Ctor->isDefaultConstructor()) - return Sema::CXXDefaultConstructor; - - if (Ctor->isCopyConstructor()) - return Sema::CXXCopyConstructor; - - if (Ctor->isMoveConstructor()) - return Sema::CXXMoveConstructor; - } else if (isa<CXXDestructorDecl>(MD)) { - return Sema::CXXDestructor; - } else if (MD->isCopyAssignmentOperator()) { - return Sema::CXXCopyAssignment; - } else if (MD->isMoveAssignmentOperator()) { - return Sema::CXXMoveAssignment; - } - - return Sema::CXXInvalid; -} - // Determine whether the previous declaration was a definition, implicit // declaration, or a declaration. template <typename T> |