On 28 February 2014 19:17, Jim Ingham <[email protected]> wrote: > Author: jingham > Date: Fri Feb 28 18:17:06 2014 > New Revision: 202561 > > URL: http://llvm.org/viewvc/llvm-project?rev=202561&view=rev > Log: > Make sure the exe_ctx passed to ClangUserExpression::Execute has a valid > thread. > > <rdar://problem/15949113>
Hi Jim, I saw a couple of test failures after this change. One of them suggests it should be permissible to execute w/o a valid thread if the expression can be evaluated statically (and that seems to be sensible): 1: test_backticks_no_target (TestBackticksWithoutATarget.BackticksWithNoTargetTestCase) A simple test of backticks without a target. ... runCmd: print `1+2-3` runCmd failed! error: ClangUserExpression::Execute called with no thread selected. I added a !m_can_interpret to the condition in r202722. My change means we will again call PrepareToExecuteJITExpression and FinalizeJITExecution with an exe_ctx with no valid thread, but only with a successful IRInterpreter::Interpret call (or we return error and do not call FinalizeJITExecution). Please let me know if there's more context in rdar 15949113 that makes this simple change incorrect and I can try to take a second look. _______________________________________________ lldb-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
