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