summaryrefslogtreecommitdiff
path: root/gcc/opts.c
diff options
context:
space:
mode:
authorspark <spark@138bc75d-0d04-0410-961f-82ee72b054a4>2008-02-20 21:19:14 +0000
committerspark <spark@138bc75d-0d04-0410-961f-82ee72b054a4>2008-02-20 21:19:14 +0000
commit6fdade09fec75cb46b837da6c6028cc95f0d8e1c (patch)
treed6c21e69cb0b12b3fcf52d86ecdbdc5d17f346c5 /gcc/opts.c
parent323e4f4328194541c37b62c094e366863a96304a (diff)
downloadgcc-6fdade09fec75cb46b837da6c6028cc95f0d8e1c.tar.gz
gcc/ChangeLog:
2008-02-20 Seongbae Park <seongbae.park@gmail.com> * doc/invoke.texi (Warning Options): Add new option -Wframe-larger-than=. (-Wframe-larger-than): Document. * flags.h (warn_frame_larger_than, frame_larger_than_size): Add declarations for new option variables. * final.c (final_start_function): Check the frame size before emission and issue a Wframe-larger-than warning. * opts.c (warn_frame_larger_than, frame_larger_than_size): Add definitions for new option variables. (common_handle_option): Handle new option OPT_Wframe_larger_than_. * common.opt (Wframe-larger-than=): New option. gcc/testsuite/ChangeLog: 2008-02-20 Seongbae Park <seongbae.park@gmail.com> * gcc.dg/Wframe-larger-than.c: New option test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132496 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/opts.c')
-rw-r--r--gcc/opts.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/opts.c b/gcc/opts.c
index 96643ef48fa..8b8a1a9c364 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -58,6 +58,11 @@ bool extra_warnings;
bool warn_larger_than;
HOST_WIDE_INT larger_than_size;
+/* True to warn about any function whose frame size is larger
+ * than N bytes. */
+bool warn_frame_larger_than;
+HOST_WIDE_INT frame_larger_than_size;
+
/* Hack for cooperation between set_Wunused and set_Wextra. */
static bool maybe_warn_unused_parameter;
@@ -1498,6 +1503,11 @@ common_handle_option (size_t scode, const char *arg, int value,
warn_larger_than = value != -1;
break;
+ case OPT_Wframe_larger_than_:
+ frame_larger_than_size = value;
+ warn_frame_larger_than = value != -1;
+ break;
+
case OPT_Wstrict_aliasing:
set_Wstrict_aliasing (value);
break;