All the bits were there, used with a pre-existing
-mmax-stackframe=SIZE which unfortunately seems to lack
test-cases.
Note that the early-return for -mno-prologue-epilogue (what
some targets call -mnaked) is deliberately not clearing
current_function_static_stack_size, as I consider that
erroneous usage but don't really care to emit a better error
message.
For stack-usage-1.c, like most ILP32 targets, CRIS (at -O0)
needs 4 bytes for the return-address. The default size of
256 seems ill chosen but not worth fixing.
gcc:
* config/cris/cris.c (cris_expand_prologue): Set
current_function_static_stack_size, if flag_stack_usage_info.
gcc/testsuite:
* gcc.dg/stack-usage-1.c: Adjust for CRIS.
framesize += size + cfoa_size;
}
+ /* FIXME: -mmax-stackframe=SIZE is obsoleted; use -Wstack-usage=SIZE
+ instead. Make it an alias? */
if (cris_max_stackframe && framesize > cris_max_stackframe)
warning (0, "stackframe too big: %d bytes", framesize);
+
+ if (flag_stack_usage_info)
+ current_function_static_stack_size = framesize;
}
/* The expander for the epilogue pattern. */
#define SIZE 252
#elif defined (__csky__)
# define SIZE 252
+#elif defined (__CRIS__)
+# define SIZE 252
#else
# define SIZE 256
#endif