[clang] [clang] Fix segmentation fault caused by stack overflow on deeply nested expressions (PR #111701)
Reid Kleckner via cfe-commits
cfe-commits at lists.llvm.org
Fri Oct 11 08:47:01 PDT 2024
================
@@ -0,0 +1,1013 @@
+// RUN: %clang_cc1 %s -emit-llvm -o - -Wstack-exhausted -verify
+
+class AClass {
+public:
+ AClass() {}
+ AClass &foo() { return *this; }
+};
+
+void test_bar() {
+ AClass a;
+ // expected-warning@* {{stack nearly exhausted; compilation time may suffer, and crashes due to stack overflow are likely}}
+ a.foo().foo().foo().foo().foo().foo().foo().foo().foo().foo().foo().foo()
----------------
rnk wrote:
FWIW I like the pre-processor version of this too. I appreciate that size isn't always the most important dimension of testing, but I prefer the tradeoff for the smaller test here.
https://github.com/llvm/llvm-project/pull/111701
More information about the cfe-commits
mailing list