diff options
| author | Chris Lattner <sabre@nondot.org> | 2007-10-17 21:28:00 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2007-10-17 21:28:00 +0000 |
| commit | 9515625d0ccad6e577270b650a484de9091c52d6 (patch) | |
| tree | 497c9a706422955fe17c0d19eb4b43afb25aed38 | |
| parent | 42ebe5c1e6522d92a361060e2176f2f2cdc760ac (diff) | |
| download | bcm5719-llvm-9515625d0ccad6e577270b650a484de9091c52d6.tar.gz bcm5719-llvm-9515625d0ccad6e577270b650a484de9091c52d6.zip | |
Add rewriter support for @encode expressions. For example,
we currently turn:
c = @encode(char *)[2] + 4;
into:
c = "foo"[2] + 4;
Right now the foo string is hard coded, but you can imagine a world
where it wouldn't be :)
llvm-svn: 43093
| -rw-r--r-- | clang/Driver/RewriteTest.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/Driver/RewriteTest.cpp b/clang/Driver/RewriteTest.cpp index 8a6d1df1b4e..6972f35853f 100644 --- a/clang/Driver/RewriteTest.cpp +++ b/clang/Driver/RewriteTest.cpp @@ -104,18 +104,18 @@ void RewriteTest::RewriteFunctionBody(Stmt *S) { // Otherwise, just rewrite all children. for (Stmt::child_iterator CI = S->child_begin(), E = S->child_end(); CI != E; ++CI) - RewriteFunctionBody(*CI); + if (*CI) + RewriteFunctionBody(*CI); } void RewriteTest::RewriteAtEncode(ObjCEncodeExpr *Exp) { -#if 0 int Size = Rewrite.getRangeSize(Exp->getSourceRange()); if (Size == -1) { printf("BLAH!"); + return; } - Rewrite.RemoveText(Exp->getAtLoc(), Size); -#endif + Rewrite.ReplaceText(Exp->getAtLoc(), Size, "\"foo\"", 5); } |

