r262290 - [index] Fix issue where data visitation was disabled with C++ operator call expressions, during indexing.
Argyrios Kyrtzidis via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 29 20:34:16 PST 2016
This is to reduce stack usage, whether it hits stack overflow or not is highly dependent on configuration.
I've tried forcing smaller stack on the specific test (test/Index/index-many-call-ops.cpp) but then it can hit stack overflow in sema; I don’t have a good way to test this.
I believe asan was also hitting stack overflow and I’m going to try re-enabling for that test.
> On Feb 29, 2016, at 8:10 PM, David Blaikie <dblaikie at gmail.com> wrote:
>
> Does this change any behavior? (missing test case?)
>
> On Mon, Feb 29, 2016 at 6:46 PM, Argyrios Kyrtzidis via cfe-commits <cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>> wrote:
> Author: akirtzidis
> Date: Mon Feb 29 20:46:32 2016
> New Revision: 262290
>
> URL: http://llvm.org/viewvc/llvm-project?rev=262290&view=rev <http://llvm.org/viewvc/llvm-project?rev=262290&view=rev>
> Log:
> [index] Fix issue where data visitation was disabled with C++ operator call expressions, during indexing.
>
> Modified:
> cfe/trunk/lib/Index/IndexBody.cpp
>
> Modified: cfe/trunk/lib/Index/IndexBody.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Index/IndexBody.cpp?rev=262290&r1=262289&r2=262290&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Index/IndexBody.cpp?rev=262290&r1=262289&r2=262290&view=diff>
> ==============================================================================
> --- cfe/trunk/lib/Index/IndexBody.cpp (original)
> +++ cfe/trunk/lib/Index/IndexBody.cpp Mon Feb 29 20:46:32 2016
> @@ -258,7 +258,7 @@ public:
> DataRecursionQueue *Q = nullptr) {
> if (E->getOperatorLoc().isInvalid())
> return true; // implicit.
> - return base::TraverseCXXOperatorCallExpr(E);
> + return base::TraverseCXXOperatorCallExpr(E, Q);
> }
>
> bool VisitDeclStmt(DeclStmt *S) {
> @@ -325,7 +325,7 @@ public:
>
> auto visitForm = [&](InitListExpr *Form) {
> for (Stmt *SubStmt : Form->children()) {
> - if (!TraverseStmt(SubStmt))
> + if (!TraverseStmt(SubStmt, Q))
> return false;
> }
> return true;
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160229/eedabb70/attachment.html>
More information about the cfe-commits
mailing list