From 3cb7ba0010732bbd20a8003f8d9f6a4e8d7bb20a Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Mon, 15 Nov 2010 22:23:24 +0000 Subject: [PATCH] Annotate CursorVisitor::VisitDataRecursive() with attribute 'noinline'. Clang currently uses a ridiculous amount of stack space when inlining this function, which can lead to premature stack overflows. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119281 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/libclang/CIndex.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp index 6b8bec767e..d98356aa0f 100644 --- a/tools/libclang/CIndex.cpp +++ b/tools/libclang/CIndex.cpp @@ -328,7 +328,7 @@ public: bool IsInRegionOfInterest(CXCursor C); bool RunVisitorWorkList(VisitorWorkList &WL); void EnqueueWorkList(VisitorWorkList &WL, Stmt *S); - bool VisitDataRecursive(Stmt *S); + bool VisitDataRecursive(Stmt *S) __attribute__((noinline)); }; } // end anonymous namespace -- 2.40.0