diff options
author | Sean Callanan <scallanan@apple.com> | 2016-03-22 21:05:51 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2016-03-22 21:05:51 +0000 |
commit | 00294b34a3c99f3540214a148c0bd15e68f9d7fd (patch) | |
tree | a6892887ee99bed68154d36a82a975d01ec566a1 /lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionHelper.h | |
parent | e32368fc6edd4f1c284a9ba0cbdd6b8931dbe925 (diff) | |
download | bcm5719-llvm-00294b34a3c99f3540214a148c0bd15e68f9d7fd.tar.gz bcm5719-llvm-00294b34a3c99f3540214a148c0bd15e68f9d7fd.zip |
Backend support for top-level Clang epxressions
This patch adds a new ExecutionPolicy, eExecutionPolicyTopLevel, which
tells the expression parser that the expression should be JITted as top
level code but nothing (except static initializers) should be run. I
have modified the Clang expression parser to recognize this execution
policy. On top of the existing patches that support storing IR and
maintaining a map of arbitrary Decls, this is mainly just patching up a
few places in the expression parser.
I intend to submit a patch for review that exposes this functionality
through the "expression" command and through the SB API. That patch
also includes a testcase for all of this.
<rdar://problem/22864976>
llvm-svn: 264095
Diffstat (limited to 'lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionHelper.h')
-rw-r--r-- | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionHelper.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionHelper.h b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionHelper.h index bb620def691..bcd30ec4af2 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionHelper.h +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionHelper.h @@ -67,11 +67,14 @@ public: /// the ASTs to after transformation. //------------------------------------------------------------------ virtual clang::ASTConsumer * - ASTTransformer (clang::ASTConsumer *passthrough) = 0; - + ASTTransformer(clang::ASTConsumer *passthrough) = 0; -protected: + virtual void + CommitPersistentDecls() + { + } +protected: }; } // namespace lldb_private |