diff options
author | Anders Carlsson <andersca@mac.com> | 2009-06-08 19:22:23 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-06-08 19:22:23 +0000 |
commit | 994b6cb65c9daba2128366bc4c64be6dbf953528 (patch) | |
tree | d7aa79496062ce5ea6b882a8eb31c8dc3d6d3516 /lib/Sema/SemaTemplateDeduction.cpp | |
parent | 1fe067ab2168addd672c08b0b57bded3d155f073 (diff) |
Address comments from Doug.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73077 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaTemplateDeduction.cpp')
-rw-r--r-- | lib/Sema/SemaTemplateDeduction.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/Sema/SemaTemplateDeduction.cpp b/lib/Sema/SemaTemplateDeduction.cpp index fe779ebd80..1789ba7856 100644 --- a/lib/Sema/SemaTemplateDeduction.cpp +++ b/lib/Sema/SemaTemplateDeduction.cpp @@ -276,7 +276,17 @@ static bool DeduceTemplateArguments(ASTContext &Context, QualType Param, const FunctionProtoType *FunctionProtoParam = cast<FunctionProtoType>(Param); + + if (FunctionProtoParam->getTypeQuals() != + FunctionProtoArg->getTypeQuals()) + return false; + + if (FunctionProtoParam->getNumArgs() != FunctionProtoArg->getNumArgs()) + return false; + if (FunctionProtoParam->isVariadic() != FunctionProtoArg->isVariadic()) + return false; + // Check return types. if (!DeduceTemplateArguments(Context, FunctionProtoParam->getResultType(), @@ -284,9 +294,6 @@ static bool DeduceTemplateArguments(ASTContext &Context, QualType Param, Deduced)) return false; - if (FunctionProtoParam->getNumArgs() != FunctionProtoArg->getNumArgs()) - return false; - for (unsigned I = 0, N = FunctionProtoParam->getNumArgs(); I != N; ++I) { // Check argument types. if (!DeduceTemplateArguments(Context, |