aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-02-27 15:19:23 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1994-02-27 15:19:23 -0500
commitb51e9c62f99d0cbd87924771f08c3485a0f12300 (patch)
tree5be4e41cf274b8c81c0f928386a803774e8e0a91
parent76817b9d7d3c8316396224c29ffba993f0d1613b (diff)
downloadgcc-b51e9c62f99d0cbd87924771f08c3485a0f12300.zip
gcc-b51e9c62f99d0cbd87924771f08c3485a0f12300.tar.gz
gcc-b51e9c62f99d0cbd87924771f08c3485a0f12300.tar.bz2
(id_clash_len): Now unsigned.
(warn_larger_than, larger_than_size): New variables. (main): Support -Wlarger-than-NN. From-SVN: r6652
-rw-r--r--gcc/toplev.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 4ee173c..3b3928e 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -745,7 +745,14 @@ int warn_cast_align;
characters. The value N is in `id_clash_len'. */
int warn_id_clash;
-int id_clash_len;
+unsigned id_clash_len;
+
+/* Nonzero means warn about any objects definitions whose size is larger
+ than N bytes. Also want about function definitions whose returned
+ values are larger than N bytes. The value N is in `larger_than_size'. */
+
+int warn_larger_than;
+unsigned larger_than_size;
/* Nonzero means warn if inline function is too large. */
@@ -3547,6 +3554,24 @@ main (argc, argv, envp)
id_clash_len = atoi (str + 10);
id_clash_lose: ;
}
+ else if (!strncmp (p, "larger-than-", 12))
+ {
+ char *endp = p + 12;
+
+ while (*endp)
+ {
+ if (*endp >= '0' && *endp <= '9')
+ endp++;
+ else
+ {
+ error ("Invalid option `%s'", argv[i]);
+ goto larger_than_lose;
+ }
+ }
+ warn_larger_than = 1;
+ larger_than_size = atoi (str + 13);
+ larger_than_lose: ;
+ }
else
error ("Invalid option `%s'", argv[i]);
}