================ @@ -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() ---------------- ilya-biryukov wrote:
Could we use preprocessor to reduce the size of the file? The typical trick I use is: ```cpp #define CALLS1 .foo().foo().foo().foo().foo().foo().foo().foo().foo().foo() #define CALLS2 CALLS1().CALLS1().CALLS1().CALLS1(). ... ... #define CALLS${N} CALLS${N-1}.... a.CALLS(); ``` https://github.com/llvm/llvm-project/pull/111701 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits