| // PR c++/51060 |
| // { dg-options "-Os -Wframe-larger-than=2000 -Werror" } |
| |
| // Shows a problem of not re-using stack space: |
| // Compile as: g++ -c test_stack_reuse.cpp -o /dev/null -Wframe-larger-than=2048 -Werror -Os |
| // Result: warning: the frame size of 10240 bytes is larger than 2048 bytes [-Wframe-larger-than=] |
| // |
| |
| struct StackObject |
| { |
| StackObject(); |
| char buffer[1024]; |
| }; |
| |
| void Test() |
| { |
| #define TEST_SUB() \ |
| StackObject(); |
| |
| #define TEST() \ |
| TEST_SUB() \ |
| TEST_SUB() \ |
| TEST_SUB() \ |
| TEST_SUB() \ |
| TEST_SUB() \ |
| TEST_SUB() \ |
| TEST_SUB() \ |
| TEST_SUB() \ |
| TEST_SUB() \ |
| TEST_SUB() |
| |
| TEST() |
| } |