diff options
| author | Sean Callanan <scallanan@apple.com> | 2011-10-15 01:15:07 +0000 |
|---|---|---|
| committer | Sean Callanan <scallanan@apple.com> | 2011-10-15 01:15:07 +0000 |
| commit | 6d9f5db46801a5fb8d17388216820ed7cee5accb (patch) | |
| tree | ba5b8c71bcd3e2a0a8618139ed8ab5904ecde3a1 | |
| parent | 2730a0099a90fef8639f2e72cf5bd30d1ed3878d (diff) | |
| download | bcm5719-llvm-6d9f5db46801a5fb8d17388216820ed7cee5accb.tar.gz bcm5719-llvm-6d9f5db46801a5fb8d17388216820ed7cee5accb.zip | |
Handled the call operator properly.
llvm-svn: 142033
| -rw-r--r-- | lldb/source/Symbol/ClangASTContext.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lldb/source/Symbol/ClangASTContext.cpp b/lldb/source/Symbol/ClangASTContext.cpp index 8ee022937c4..c4712cd9ca3 100644 --- a/lldb/source/Symbol/ClangASTContext.cpp +++ b/lldb/source/Symbol/ClangASTContext.cpp @@ -1378,20 +1378,25 @@ IsOperator (const char *name, OverloadedOperatorKind &op_kind) } static inline bool -check_op_param (bool unary, bool binary, uint32_t num_params) +check_op_param (uint32_t op_kind, bool unary, bool binary, uint32_t num_params) { + // Special-case call since it can take any number of operands + if(op_kind == OO_Call) + return true; + // The parameter count doens't include "this" if (num_params == 0) return unary; if (num_params == 1) return binary; + else return false; } - +; bool ClangASTContext::CheckOverloadedOperatorKindParameterCount (uint32_t op_kind, uint32_t num_params) { -#define OVERLOADED_OPERATOR(Name,Spelling,Token,Unary,Binary,MemberOnly) case OO_##Name: return check_op_param (Unary, Binary, num_params); +#define OVERLOADED_OPERATOR(Name,Spelling,Token,Unary,Binary,MemberOnly) case OO_##Name: return check_op_param (op_kind, Unary, Binary, num_params); switch (op_kind) { #include "clang/Basic/OperatorKinds.def" |

