Commit 0c92e488 by Eric Botcazou Committed by Eric Botcazou

* toplev.c (output_stack_usage): Adjust the location of the warning.

From-SVN: r212850
parent 773162d7
2014-07-19 Eric Botcazou <ebotcazou@adacore.com>
* toplev.c (output_stack_usage): Adjust the location of the warning.
2014-07-19 Daniel Cederman <cederman@gaisler.com> 2014-07-19 Daniel Cederman <cederman@gaisler.com>
* config/sparc/sync.md (*membar_storeload_leon3): New insn. * config/sparc/sync.md (*membar_storeload_leon3): New insn.
......
2014-07-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc.dg/stack-usage-2.c: Adjust.
2014-07-18 Uros Bizjak <ubizjak@gmail.com> 2014-07-18 Uros Bizjak <ubizjak@gmail.com>
PR target/61794 PR target/61794
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-Wstack-usage=512" } */ /* { dg-options "-Wstack-usage=512" } */
int foo1 (void) int foo1 (void) /* { dg-bogus "stack usage" } */
{ {
char arr[16]; char arr[16];
arr[0] = 1; arr[0] = 1;
return 0; return 0;
} /* { dg-bogus "stack usage" } */ }
int foo2 (void) int foo2 (void) /* { dg-warning "stack usage is \[0-9\]* bytes" } */
{ {
char arr[1024]; char arr[1024];
arr[0] = 1; arr[0] = 1;
return 0; return 0;
} /* { dg-warning "stack usage is \[0-9\]* bytes" } */ }
int foo3 (void) int foo3 (void) /* { dg-warning "stack usage might be \[0-9\]* bytes" } */
{ {
char arr[1024] __attribute__((aligned (512))); char arr[1024] __attribute__((aligned (512)));
arr[0] = 1; arr[0] = 1;
/* Force dynamic realignment of argument pointer. */ /* Force dynamic realignment of argument pointer. */
__builtin_apply ((void (*)()) foo2, 0, 0); __builtin_apply ((void (*)()) foo2, 0, 0);
return 0; return 0;
}
} /* { dg-warning "stack usage might be \[0-9\]* bytes" } */ int foo4 (int n) /* { dg-warning "stack usage might be unbounded" } */
int foo4 (int n)
{ {
char arr[n]; char arr[n];
arr[0] = 1; arr[0] = 1;
return 0; return 0;
} /* { dg-warning "stack usage might be unbounded" } */ }
...@@ -1052,15 +1052,18 @@ output_stack_usage (void) ...@@ -1052,15 +1052,18 @@ output_stack_usage (void)
if (warn_stack_usage >= 0) if (warn_stack_usage >= 0)
{ {
const location_t loc = DECL_SOURCE_LOCATION (current_function_decl);
if (stack_usage_kind == DYNAMIC) if (stack_usage_kind == DYNAMIC)
warning (OPT_Wstack_usage_, "stack usage might be unbounded"); warning_at (loc, OPT_Wstack_usage_, "stack usage might be unbounded");
else if (stack_usage > warn_stack_usage) else if (stack_usage > warn_stack_usage)
{ {
if (stack_usage_kind == DYNAMIC_BOUNDED) if (stack_usage_kind == DYNAMIC_BOUNDED)
warning (OPT_Wstack_usage_, "stack usage might be %wd bytes", warning_at (loc,
OPT_Wstack_usage_, "stack usage might be %wd bytes",
stack_usage); stack_usage);
else else
warning (OPT_Wstack_usage_, "stack usage is %wd bytes", warning_at (loc, OPT_Wstack_usage_, "stack usage is %wd bytes",
stack_usage); stack_usage);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment