diff options
| author | Douglas Gregor <dgregor@apple.com> | 2010-11-08 17:16:59 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2010-11-08 17:16:59 +0000 |
| commit | bd6b17f4efb44b1b002600e67c28454f05ff8665 (patch) | |
| tree | 927788525c6463a06aea9c7b8b46481ae421868d /clang/lib/Sema/SemaOverload.cpp | |
| parent | 2cd1fd4a828812e3b45b5144ae8cb7ce950792cd (diff) | |
| download | bcm5719-llvm-bd6b17f4efb44b1b002600e67c28454f05ff8665.tar.gz bcm5719-llvm-bd6b17f4efb44b1b002600e67c28454f05ff8665.zip | |
Improve our handling of C++ [class.copy]p3, which specifies that a
constructor template will not be used to copy a class object to a
value of its own type. We were eliminating all constructor templates
whose specializations look like a copy constructor, which eliminated
important candidates. Fixes PR8182.
llvm-svn: 118418
Diffstat (limited to 'clang/lib/Sema/SemaOverload.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaOverload.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp index 3ed79fd4613..440f5acdbc2 100644 --- a/clang/lib/Sema/SemaOverload.cpp +++ b/clang/lib/Sema/SemaOverload.cpp @@ -3457,7 +3457,7 @@ Sema::AddOverloadCandidate(FunctionDecl *Function, // of a class object to an object of its class type. QualType ClassType = Context.getTypeDeclType(Constructor->getParent()); if (NumArgs == 1 && - Constructor->isCopyConstructorLikeSpecialization() && + Constructor->isSpecializationCopyingObject() && (Context.hasSameUnqualifiedType(ClassType, Args[0]->getType()) || IsDerivedFrom(Args[0]->getType(), ClassType))) return; |

