From: Ted Kremenek Date: Mon, 15 Nov 2010 22:23:24 +0000 (+0000) Subject: Annotate CursorVisitor::VisitDataRecursive() with attribute 'noinline'. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3cb7ba0010732bbd20a8003f8d9f6a4e8d7bb20a;p=clang 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 --- 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