Commit b3ab9ea2 by Tom Tromey Committed by Tom Tromey

c-parser.c (disable_extension_diagnostics): Save warn_overlength_strings.

gcc
	* c-parser.c (disable_extension_diagnostics): Save
	warn_overlength_strings.
	(restore_extension_diagnostics): Restore warn_overlength_strings.
gcc/testsuite
	* gcc.dg/Woverlength-strings-pedantic-c89-ext.c: New file.
	* gcc.dg/Woverlength-strings-pedantic-c90-ext.c: New file.
	* gcc.dg/Woverlength-strings-pedantic-c99-ext.c: New file.

From-SVN: r170947
parent d8d4db33
2011-03-14 Tom Tromey <tromey@redhat.com>
* c-parser.c (disable_extension_diagnostics): Save
warn_overlength_strings.
(restore_extension_diagnostics): Restore warn_overlength_strings.
2011-03-14 Jakub Jelinek <jakub@redhat.com> 2011-03-14 Jakub Jelinek <jakub@redhat.com>
* BASE-VER: Change to 4.7.0. * BASE-VER: Change to 4.7.0.
......
...@@ -1045,13 +1045,15 @@ disable_extension_diagnostics (void) ...@@ -1045,13 +1045,15 @@ disable_extension_diagnostics (void)
| (warn_traditional << 2) | (warn_traditional << 2)
| (flag_iso << 3) | (flag_iso << 3)
| (warn_long_long << 4) | (warn_long_long << 4)
| (warn_cxx_compat << 5)); | (warn_cxx_compat << 5)
| (warn_overlength_strings << 6));
cpp_opts->cpp_pedantic = pedantic = 0; cpp_opts->cpp_pedantic = pedantic = 0;
warn_pointer_arith = 0; warn_pointer_arith = 0;
cpp_opts->cpp_warn_traditional = warn_traditional = 0; cpp_opts->cpp_warn_traditional = warn_traditional = 0;
flag_iso = 0; flag_iso = 0;
cpp_opts->cpp_warn_long_long = warn_long_long = 0; cpp_opts->cpp_warn_long_long = warn_long_long = 0;
warn_cxx_compat = 0; warn_cxx_compat = 0;
warn_overlength_strings = 0;
return ret; return ret;
} }
...@@ -1067,6 +1069,7 @@ restore_extension_diagnostics (int flags) ...@@ -1067,6 +1069,7 @@ restore_extension_diagnostics (int flags)
flag_iso = (flags >> 3) & 1; flag_iso = (flags >> 3) & 1;
cpp_opts->cpp_warn_long_long = warn_long_long = (flags >> 4) & 1; cpp_opts->cpp_warn_long_long = warn_long_long = (flags >> 4) & 1;
warn_cxx_compat = (flags >> 5) & 1; warn_cxx_compat = (flags >> 5) & 1;
warn_overlength_strings = (flags >> 6) & 1;
} }
/* Possibly kinds of declarator to parse. */ /* Possibly kinds of declarator to parse. */
......
2011-03-14 Tom Tromey <tromey@redhat.com>
* gcc.dg/Woverlength-strings-pedantic-c89-ext.c: New file.
* gcc.dg/Woverlength-strings-pedantic-c90-ext.c: New file.
* gcc.dg/Woverlength-strings-pedantic-c99-ext.c: New file.
2011-03-14 H.J. Lu <hongjiu.lu@intel.com> 2011-03-14 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/builtin-copysign.c: Remove __LP64__ check. * gcc.target/i386/builtin-copysign.c: Remove __LP64__ check.
......
/* -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[] = __extension__ HUN HUN HUN HUN HUN TEN;
/* C99's minimum-maximum is 4095. */
const char x4096[] = __extension__
THO THO THO THO /* 4000 */
TEN TEN TEN TEN TEN /* 4050 */
TEN TEN TEN TEN /* 4090 */
"123456";
/* -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=c90 -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[] = __extension__ HUN HUN HUN HUN HUN TEN;
/* C99's minimum-maximum is 4095. */
const char x4096[] = __extension__
THO THO THO THO /* 4000 */
TEN TEN TEN TEN TEN /* 4050 */
TEN TEN TEN TEN /* 4090 */
"123456";
/* -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[] = __extension__
THO THO THO THO /* 4000 */
TEN TEN TEN TEN TEN /* 4050 */
TEN TEN TEN TEN /* 4090 */
"123456";
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment