diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-02-27 15:19:23 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-02-27 15:19:23 -0500 |
commit | b51e9c62f99d0cbd87924771f08c3485a0f12300 (patch) | |
tree | 5be4e41cf274b8c81c0f928386a803774e8e0a91 | |
parent | 76817b9d7d3c8316396224c29ffba993f0d1613b (diff) | |
download | gcc-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.c | 27 |
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]); } |