diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2014-07-19 19:30:11 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2014-07-19 19:30:11 +0000 |
commit | 0c92e4881a61a2483c2878f9953ff92188e9661e (patch) | |
tree | c4cc7dab7556683b62fa9c331f471a18b2c08d06 | |
parent | 773162d72a5150ecb675dd82eee76cea3c02c225 (diff) | |
download | gcc-0c92e4881a61a2483c2878f9953ff92188e9661e.zip gcc-0c92e4881a61a2483c2878f9953ff92188e9661e.tar.gz gcc-0c92e4881a61a2483c2878f9953ff92188e9661e.tar.bz2 |
* toplev.c (output_stack_usage): Adjust the location of the warning.
From-SVN: r212850
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/stack-usage-2.c | 17 | ||||
-rw-r--r-- | gcc/toplev.c | 13 |
4 files changed, 24 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e8c926a..2edfb67 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +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> * config/sparc/sync.md (*membar_storeload_leon3): New insn. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3202694..c879f56 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2014-07-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.dg/stack-usage-2.c: Adjust. + 2014-07-18 Uros Bizjak <ubizjak@gmail.com> PR target/61794 diff --git a/gcc/testsuite/gcc.dg/stack-usage-2.c b/gcc/testsuite/gcc.dg/stack-usage-2.c index d3c17a8..df7e55f 100644 --- a/gcc/testsuite/gcc.dg/stack-usage-2.c +++ b/gcc/testsuite/gcc.dg/stack-usage-2.c @@ -1,33 +1,32 @@ /* { dg-do compile } */ /* { dg-options "-Wstack-usage=512" } */ -int foo1 (void) +int foo1 (void) /* { dg-bogus "stack usage" } */ { char arr[16]; arr[0] = 1; return 0; -} /* { dg-bogus "stack usage" } */ +} -int foo2 (void) +int foo2 (void) /* { dg-warning "stack usage is \[0-9\]* bytes" } */ { char arr[1024]; arr[0] = 1; 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))); arr[0] = 1; /* Force dynamic realignment of argument pointer. */ __builtin_apply ((void (*)()) foo2, 0, 0); return 0; +} -} /* { dg-warning "stack usage might be \[0-9\]* bytes" } */ - -int foo4 (int n) +int foo4 (int n) /* { dg-warning "stack usage might be unbounded" } */ { char arr[n]; arr[0] = 1; return 0; -} /* { dg-warning "stack usage might be unbounded" } */ +} diff --git a/gcc/toplev.c b/gcc/toplev.c index 9e747e5..1c9befd 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -1052,16 +1052,19 @@ output_stack_usage (void) if (warn_stack_usage >= 0) { + const location_t loc = DECL_SOURCE_LOCATION (current_function_decl); + 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) { if (stack_usage_kind == DYNAMIC_BOUNDED) - warning (OPT_Wstack_usage_, "stack usage might be %wd bytes", - stack_usage); + warning_at (loc, + OPT_Wstack_usage_, "stack usage might be %wd bytes", + stack_usage); else - warning (OPT_Wstack_usage_, "stack usage is %wd bytes", - stack_usage); + warning_at (loc, OPT_Wstack_usage_, "stack usage is %wd bytes", + stack_usage); } } } |