diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2009-10-09 16:34:40 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2009-10-09 16:34:40 +0000 |
commit | 4dc1246d87c3daafcdfb83e68484b75a4fa0ece6 (patch) | |
tree | 15f29d84c47bd2ffbd5d833ca52509c59e73021f /clang/lib/Sema/SemaOverload.cpp | |
parent | 31c4d8b0bac74dc5d9dffae6fe307a5d902c0e25 (diff) | |
download | bcm5719-llvm-4dc1246d87c3daafcdfb83e68484b75a4fa0ece6.tar.gz bcm5719-llvm-4dc1246d87c3daafcdfb83e68484b75a4fa0ece6.zip |
Use the new API for applying the qualifiers on built-in '->*'
operator's types.
llvm-svn: 83648
Diffstat (limited to 'clang/lib/Sema/SemaOverload.cpp')
-rw-r--r-- | clang/lib/Sema/SemaOverload.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp index f2142c50894..f710f1e2d5c 100644 --- a/clang/lib/Sema/SemaOverload.cpp +++ b/clang/lib/Sema/SemaOverload.cpp @@ -3690,12 +3690,11 @@ Sema::AddBuiltinOperatorCandidates(OverloadedOperatorKind Op, Ptr != CandidateTypes.pointer_end(); ++Ptr) { QualType C1Ty = (*Ptr); QualType C1; - unsigned CV1; + QualifierCollector Q1; if (const PointerType *PointerTy = C1Ty->getAs<PointerType>()) { - C1 = PointerTy->getPointeeType().getUnqualifiedType(); + C1 = QualType(Q1.strip(PointerTy->getPointeeType()), 0); if (!isa<RecordType>(C1)) continue; - CV1 = PointerTy->getPointeeType().getCVRQualifiers(); } for (BuiltinCandidateTypeSet::iterator MemPtr = CandidateTypes.member_pointer_begin(), @@ -3709,8 +3708,7 @@ Sema::AddBuiltinOperatorCandidates(OverloadedOperatorKind Op, QualType ParamTypes[2] = { *Ptr, *MemPtr }; // build CV12 T& QualType T = mptr->getPointeeType(); - unsigned CV2 = T.getCVRQualifiers(); - T = Context.getCVRQualifiedType(T, (CV1 | CV2)); + T = Q1.apply(T); QualType ResultTy = Context.getLValueReferenceType(T); AddBuiltinCandidate(ResultTy, ParamTypes, Args, 2, CandidateSet); } |