view gcc/testsuite/g++.dg/opt/stack2.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// 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()
}