diff options
author | Sean Callanan <scallanan@apple.com> | 2012-03-08 02:39:03 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2012-03-08 02:39:03 +0000 |
commit | 226b70c154fa1984ff189c434fefa1fee0af68df (patch) | |
tree | b683d44826b3ce2e64c811d9ffc70392e7d9e23e /lldb/source/Expression/ClangExpressionParser.cpp | |
parent | 7dd7c08419f2eab49b1c9158e09acda200ae6ae9 (diff) | |
download | bcm5719-llvm-226b70c154fa1984ff189c434fefa1fee0af68df.tar.gz bcm5719-llvm-226b70c154fa1984ff189c434fefa1fee0af68df.zip |
Updated the revision of LLVM/Clang used by LLDB.
This takes two important changes:
- Calling blocks is now supported. You need to
cast their return values, but that works fine.
- We now can correctly run JIT-compiled
expressions that use floating-point numbers.
Also, we have taken a fix that allows us to
ignore access control in Objective-C as in C++.
llvm-svn: 152286
Diffstat (limited to 'lldb/source/Expression/ClangExpressionParser.cpp')
-rw-r--r-- | lldb/source/Expression/ClangExpressionParser.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lldb/source/Expression/ClangExpressionParser.cpp b/lldb/source/Expression/ClangExpressionParser.cpp index 311914649ca..0df6a67c3a0 100644 --- a/lldb/source/Expression/ClangExpressionParser.cpp +++ b/lldb/source/Expression/ClangExpressionParser.cpp @@ -224,6 +224,10 @@ ClangExpressionParser::ClangExpressionParser (ExecutionContextScope *exe_scope, break; } + m_compiler->getLangOpts().DebuggerSupport = true; // Features specifically for debugger clients + if (expr.DesiredResultType() == ClangExpression::eResultTypeId) + m_compiler->getLangOpts().DebuggerCastResultToId = true; + lldb::ProcessSP process_sp; if (exe_scope) process_sp = exe_scope->CalculateProcess(); @@ -237,6 +241,11 @@ ClangExpressionParser::ClangExpressionParser (ExecutionContextScope *exe_scope, m_compiler->getLangOpts().ObjCNonFragileABI = true; // NOT i386 m_compiler->getLangOpts().ObjCNonFragileABI2 = true; // NOT i386 } + + if (process_sp->GetObjCLanguageRuntime()->HasNewLiteralsAndIndexing()) + { + m_compiler->getLangOpts().DebuggerObjCLiteral = true; + } } } @@ -244,10 +253,6 @@ ClangExpressionParser::ClangExpressionParser (ExecutionContextScope *exe_scope, m_compiler->getLangOpts().AccessControl = false; // Debuggers get universal access m_compiler->getLangOpts().DollarIdents = true; // $ indicates a persistent variable name - m_compiler->getLangOpts().DebuggerSupport = true; // Features specifically for debugger clients - if (expr.DesiredResultType() == ClangExpression::eResultTypeId) - m_compiler->getLangOpts().DebuggerCastResultToId = true; - // Set CodeGen options m_compiler->getCodeGenOpts().EmitDeclMetadata = true; m_compiler->getCodeGenOpts().InstrumentFunctions = false; |