diff options
| author | Douglas Gregor <dgregor@apple.com> | 2008-11-19 22:57:39 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2008-11-19 22:57:39 +0000 |
| commit | ab7897ac447696c75db26e5f9ae4394e372fede8 (patch) | |
| tree | 5303b3e87c3ae0df677e3bf7182a8a2077dbfa6a /clang/lib/Sema/Sema.h | |
| parent | 5b75170014bc3e723b7db1ef09e9f51a86582fed (diff) | |
| download | bcm5719-llvm-ab7897ac447696c75db26e5f9ae4394e372fede8.tar.gz bcm5719-llvm-ab7897ac447696c75db26e5f9ae4394e372fede8.zip | |
Implement the rest of C++ [over.call.object], which permits the object
being called to be converted to a reference-to-function,
pointer-to-function, or reference-to-pointer-to-function. This is done
through "surrogate" candidate functions that model the conversions
from the object to the function (reference/pointer) and the
conversions in the arguments.
llvm-svn: 59674
Diffstat (limited to 'clang/lib/Sema/Sema.h')
| -rw-r--r-- | clang/lib/Sema/Sema.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/Sema.h b/clang/lib/Sema/Sema.h index 805fa118ee6..ded90e8103d 100644 --- a/clang/lib/Sema/Sema.h +++ b/clang/lib/Sema/Sema.h @@ -429,6 +429,10 @@ public: void AddConversionCandidate(CXXConversionDecl *Conversion, Expr *From, QualType ToType, OverloadCandidateSet& CandidateSet); + void AddSurrogateCandidate(CXXConversionDecl *Conversion, + const FunctionTypeProto *Proto, + Expr *Object, Expr **Args, unsigned NumArgs, + OverloadCandidateSet& CandidateSet); void AddOperatorCandidates(OverloadedOperatorKind Op, Scope *S, Expr **Args, unsigned NumArgs, OverloadCandidateSet& CandidateSet); |

