summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaOverload.cpp
diff options
context:
space:
mode:
authorRichard Trieu <rtrieu@google.com>2013-08-09 21:42:32 +0000
committerRichard Trieu <rtrieu@google.com>2013-08-09 21:42:32 +0000
commit4b03d98858dee2f62388ac0c5b5636bca21730ca (patch)
tree3ed2e04b18ddfb0f757dab9d8dca9a060707dd6e /clang/lib/Sema/SemaOverload.cpp
parent6dac00702caca37c3862397bc85d8b22ed82eba0 (diff)
downloadbcm5719-llvm-4b03d98858dee2f62388ac0c5b5636bca21730ca.tar.gz
bcm5719-llvm-4b03d98858dee2f62388ac0c5b5636bca21730ca.zip
Fix for PR16570: when comparing two function pointers, discard qualifiers when
comparing non-reference function parameters. The qualifiers don't matter for comparisons. This is a re-commit of r187769, which was accidentially reverted in r187770, with a simplification at the suggestion of Eli Friedman. llvm-svn: 188112
Diffstat (limited to 'clang/lib/Sema/SemaOverload.cpp')
-rw-r--r--clang/lib/Sema/SemaOverload.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp
index ec7c3a46096..c77abe8155b 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -2584,7 +2584,8 @@ bool Sema::FunctionArgTypesAreEqual(const FunctionProtoType *OldType,
for (FunctionProtoType::arg_type_iterator O = OldType->arg_type_begin(),
N = NewType->arg_type_begin(),
E = OldType->arg_type_end(); O && (O != E); ++O, ++N) {
- if (!Context.hasSameType(*O, *N)) {
+ if (!Context.hasSameType(O->getUnqualifiedType(),
+ N->getUnqualifiedType())) {
if (ArgPos) *ArgPos = O - OldType->arg_type_begin();
return false;
}
OpenPOWER on IntegriCloud