blob: 8468e1a68832f3dd1831506cae836778fec224ba [file] [log] [blame]
// 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()
}