diff options
author | Sean Callanan <scallanan@apple.com> | 2016-04-29 18:09:03 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2016-04-29 18:09:03 +0000 |
commit | 7736a208b8958a7e708c0756bdce40437f8f48f6 (patch) | |
tree | 47114371e62e174ee586383cdc704cdf0cc1a9d4 /lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp | |
parent | 327b06400fc208fbd2da720383733d09568ae5f3 (diff) | |
download | bcm5719-llvm-7736a208b8958a7e708c0756bdce40437f8f48f6.tar.gz bcm5719-llvm-7736a208b8958a7e708c0756bdce40437f8f48f6.zip |
[fix] Fixed a bug where const this would cause parser errors about $__lldb_expr.
In templated const functions, trying to run an expression would produce the
error
error: out-of-line definition of '$__lldb_expr' does not match any declaration
in 'foo' member declaration does not match because it is const qualified
error: 1 error parsing expression
which is no good. It turned out we don't actually need to worry about "const,"
we just need to be consistent about the declaration of the expression and the
FunctionDecl we inject into the class for "this."
Also added a test case.
<rdar://problem/24985958>
llvm-svn: 268083
Diffstat (limited to 'lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp')
-rw-r--r-- | lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp index 50669bd4e3c..53b6fe1b4c7 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp @@ -417,7 +417,7 @@ ClangUserExpression::Parse(DiagnosticManager &diagnostic_manager, ExecutionConte else lang_type = lldb::eLanguageTypeC; - if (!source_code->GetText(m_transformed_text, lang_type, m_const_object, m_in_static_method, exe_ctx)) + if (!source_code->GetText(m_transformed_text, lang_type, m_in_static_method, exe_ctx)) { diagnostic_manager.PutCString(eDiagnosticSeverityError, "couldn't construct expression body"); return false; |