diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 2006-01-29 03:30:47 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2006-01-29 03:30:47 +0000 |
commit | 89a42ac8a1c85ee240df92c7ccd0c973bc95a24c (patch) | |
tree | d4a553c734fb691a872f7a7a3de2bf60d8a30c00 /gcc/testsuite | |
parent | 0f7868fed2674fab28566ce47b388c5a48a9c8aa (diff) | |
download | gcc-89a42ac8a1c85ee240df92c7ccd0c973bc95a24c.zip gcc-89a42ac8a1c85ee240df92c7ccd0c973bc95a24c.tar.gz gcc-89a42ac8a1c85ee240df92c7ccd0c973bc95a24c.tar.bz2 |
c.opt: Add -W(no-)overlength-strings.
gcc:
* c.opt: Add -W(no-)overlength-strings.
* doc/invoke.texi: Document it.
* c-opts.c (c_common_handle_option): -pedantic implies
-Woverlength-strings, if not explicitly disabled already.
(c_common_post_options): -Woverlength-strings defaults to off, and
is always off for C++.
* c-common.c (fix_string_type): Issue warning about strings longer
than is portable only if warn_overlength_strings. Rearrange code
a little for clarity.
* configure.in: Check for -Wno-overlength-strings as well before
enabling -pedantic in stage 1.
* Makefile.in (STRICT2_WARN): Add -Wno-overlength-strings.
(gcc.o-warn, insn-automata.o-warn, build/gencondmd.o-warn): Delete.
* genconditions.c (write_header, write_one_condition)
(write_conditions, write_writer): Consolidate very long strings
that were broken up to fit in C89 portable limit. Don't use
printf when fputs will do.
gcc/testsuite:
* gcc.dg/Woverlength-strings.c
* gcc.dg/Woverlength-strings-pedantic-c89.c
* gcc.dg/Woverlength-strings-pedantic-c89-no.c
* gcc.dg/Woverlength-strings-pedantic-c99.c
* gcc.dg/Woverlength-strings-pedantic-c99-no.c: New tests.
==================================================================
From-SVN: r110360
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 48 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c89-no.c | 19 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c89.c | 19 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c99-no.c | 19 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c99.c | 19 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Woverlength-strings.c | 19 |
6 files changed, 123 insertions, 20 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2be6012..a5aba92 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,6 +1,14 @@ +2006-01-28 Zack Weinberg <zackw@panix.com> + + * gcc.dg/Woverlength-strings.c + * gcc.dg/Woverlength-strings-pedantic-c89.c + * gcc.dg/Woverlength-strings-pedantic-c89-no.c + * gcc.dg/Woverlength-strings-pedantic-c99.c + * gcc.dg/Woverlength-strings-pedantic-c99-no.c: New tests. + 2006-01-28 Adam Nemet <anemet@caviumnetworks.com> - * gcc.c-torture/execute/20060127-1.c: New test. + * gcc.c-torture/execute/20060127-1.c: New test. 2006-01-28 Mark Mitchell <mark@codesourcery.com> @@ -32,12 +40,12 @@ 2006-01-26 Laurent GUERBY <laurent@guerby.net> - PR ada/21317 - * ada/acats/support/impdef.a: Add One_Long_Second. - * ada/acats/tests/c9/c94025.a: Use One_Long_Second. - * ada/acats/tests/c9/c94026.a: Likewise. - * ada/acats/tests/c9/c97305c.ada: Likewise. - * ada/acats/tests/c9/c99004a.ada: Likewise. + PR ada/21317 + * ada/acats/support/impdef.a: Add One_Long_Second. + * ada/acats/tests/c9/c94025.a: Use One_Long_Second. + * ada/acats/tests/c9/c94026.a: Likewise. + * ada/acats/tests/c9/c97305c.ada: Likewise. + * ada/acats/tests/c9/c99004a.ada: Likewise. 2005-01-26 Paul Thomas <pault@gcc.gnu.org> @@ -68,7 +76,7 @@ PR C/25861 * gcc.c-torture/compile/pr25861.c: New test. - + 2006-01-26 Paul Brook <paul@codesourcery.com> * gcc.dg/compat/struct-layout-1.exp: Pass -e to generator program @@ -124,7 +132,7 @@ * gfortran.dg/read_eof_1.f90: Rename from read_eof.f90. * gfortran.dg/read_eof_2.f90: New test. * gfortran.dg/read_eof_3.f90: New test. - + 2006-01-24 Andrew Pinski <pinskia@physics.uc.edu> PR tree-opt/25860 @@ -231,8 +239,8 @@ 2006-01-20 Dirk Mueller <dmueller@suse.com> - PR c++/5520 - * g++.dg/warn/empty-body.C: New. + PR c++/5520 + * g++.dg/warn/empty-body.C: New. 2006-01-19 Mark Mitchell <mark@codesourcery.com> @@ -482,7 +490,7 @@ to LD_LIBRARY_PATH. 2006-01-16 Eric Botcazou <ebotcazou@adacore.com> - Andrew Pinski <pinskia@physics.uc.edu> + Andrew Pinski <pinskia@physics.uc.edu> * gcc.dg/minmax-1.c: New test. @@ -674,15 +682,15 @@ 2006-01-11 Paolo Bonzini <bonzini@gnu.org> - PR tree-optimization/23109 - PR tree-optimization/23948 - PR tree-optimization/24123 + PR tree-optimization/23109 + PR tree-optimization/23948 + PR tree-optimization/24123 - * gcc.dg/tree-ssa/recip-3.c, gcc.dg/tree-ssa/recip-4.c, - gcc.dg/tree-ssa/recip-5.c, gcc.dg/tree-ssa/recip-6.c, - gcc.dg/tree-ssa/recip-7.c, gcc.dg/tree-ssa/pr23109.c, - g++.dg/tree-ssa/pr23948.C: New testcases. - * gcc.dg/tree-ssa/recip-2.c, gcc.dg/tree-ssa/pr23234.c: Provide + * gcc.dg/tree-ssa/recip-3.c, gcc.dg/tree-ssa/recip-4.c, + gcc.dg/tree-ssa/recip-5.c, gcc.dg/tree-ssa/recip-6.c, + gcc.dg/tree-ssa/recip-7.c, gcc.dg/tree-ssa/pr23109.c, + g++.dg/tree-ssa/pr23948.C: New testcases. + * gcc.dg/tree-ssa/recip-2.c, gcc.dg/tree-ssa/pr23234.c: Provide three divisions in order to do the optimization. 2006-01-11 Zdenek Dvorak <dvorakz@suse.cz> diff --git a/gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c89-no.c b/gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c89-no.c new file mode 100644 index 0000000..a2ccbdd --- /dev/null +++ b/gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c89-no.c @@ -0,0 +1,19 @@ +/* -Woverlength-strings complains about string constants which are too long + for the C standard's "minimum maximum" limits. It is off by default, + but implied by -pedantic. */ + +/* { dg-options "-std=c89 -pedantic -Wno-overlength-strings" } */ + +#define TEN "xxxxxxxxxx" +#define HUN TEN TEN TEN TEN TEN TEN TEN TEN TEN TEN +#define THO HUN HUN HUN HUN HUN HUN HUN HUN HUN HUN + +/* C89's minimum-maximum is 509. */ +const char x510[] = HUN HUN HUN HUN HUN TEN; + +/* C99's minimum-maximum is 4095. */ +const char x4096[] = + THO THO THO THO /* 4000 */ + TEN TEN TEN TEN TEN /* 4050 */ + TEN TEN TEN TEN /* 4090 */ + "123456"; diff --git a/gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c89.c b/gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c89.c new file mode 100644 index 0000000..9370acf --- /dev/null +++ b/gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c89.c @@ -0,0 +1,19 @@ +/* -Woverlength-strings complains about string constants which are too long + for the C standard's "minimum maximum" limits. It is off by default, + but implied by -pedantic. */ + +/* { dg-options "-std=c89 -pedantic" } */ + +#define TEN "xxxxxxxxxx" +#define HUN TEN TEN TEN TEN TEN TEN TEN TEN TEN TEN +#define THO HUN HUN HUN HUN HUN HUN HUN HUN HUN HUN + +/* C89's minimum-maximum is 509. */ +const char x510[] = HUN HUN HUN HUN HUN TEN; /* { dg-warning "greater than" } */ + +/* C99's minimum-maximum is 4095. */ +const char x4096[] = + THO THO THO THO /* 4000 */ + TEN TEN TEN TEN TEN /* 4050 */ + TEN TEN TEN TEN /* 4090 */ + "123456"; /* { dg-warning "greater than" } */ diff --git a/gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c99-no.c b/gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c99-no.c new file mode 100644 index 0000000..a44a214 --- /dev/null +++ b/gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c99-no.c @@ -0,0 +1,19 @@ +/* -Woverlength-strings complains about string constants which are too long + for the C standard's "minimum maximum" limits. It is off by default, + but implied by -pedantic. */ + +/* { dg-options "-std=c99 -pedantic -Wno-overlength-strings" } */ + +#define TEN "xxxxxxxxxx" +#define HUN TEN TEN TEN TEN TEN TEN TEN TEN TEN TEN +#define THO HUN HUN HUN HUN HUN HUN HUN HUN HUN HUN + +/* C89's minimum-maximum is 509. */ +const char x510[] = HUN HUN HUN HUN HUN TEN; + +/* C99's minimum-maximum is 4095. */ +const char x4096[] = + THO THO THO THO /* 4000 */ + TEN TEN TEN TEN TEN /* 4050 */ + TEN TEN TEN TEN /* 4090 */ + "123456"; diff --git a/gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c99.c b/gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c99.c new file mode 100644 index 0000000..e7f5121 --- /dev/null +++ b/gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c99.c @@ -0,0 +1,19 @@ +/* -Woverlength-strings complains about string constants which are too long + for the C standard's "minimum maximum" limits. It is off by default, + but implied by -pedantic. */ + +/* { dg-options "-std=c99 -pedantic" } */ + +#define TEN "xxxxxxxxxx" +#define HUN TEN TEN TEN TEN TEN TEN TEN TEN TEN TEN +#define THO HUN HUN HUN HUN HUN HUN HUN HUN HUN HUN + +/* C89's minimum-maximum is 509. */ +const char x510[] = HUN HUN HUN HUN HUN TEN; + +/* C99's minimum-maximum is 4095. */ +const char x4096[] = + THO THO THO THO /* 4000 */ + TEN TEN TEN TEN TEN /* 4050 */ + TEN TEN TEN TEN /* 4090 */ + "123456"; /* { dg-warning "greater than" } */ diff --git a/gcc/testsuite/gcc.dg/Woverlength-strings.c b/gcc/testsuite/gcc.dg/Woverlength-strings.c new file mode 100644 index 0000000..d02e18e --- /dev/null +++ b/gcc/testsuite/gcc.dg/Woverlength-strings.c @@ -0,0 +1,19 @@ +/* -Woverlength-strings complains about string constants which are too long + for the C standard's "minimum maximum" limits. It is off by default, + but implied by -pedantic. */ + +/* { dg-options "" } */ + +#define TEN "xxxxxxxxxx" +#define HUN TEN TEN TEN TEN TEN TEN TEN TEN TEN TEN +#define THO HUN HUN HUN HUN HUN HUN HUN HUN HUN HUN + +/* C89's minimum-maximum is 509. */ +const char x510[] = HUN HUN HUN HUN HUN TEN; + +/* C99's minimum-maximum is 4095. */ +const char x4096[] = + THO THO THO THO /* 4000 */ + TEN TEN TEN TEN TEN /* 4050 */ + TEN TEN TEN TEN /* 4090 */ + "123456"; |