Commit 690c96c8 by Geoffrey Keating Committed by Geoffrey Keating

c-common.c (combine_strings): When the ISO C standard specifies the maximum length of a string...

	* c-common.c (combine_strings): When the ISO C standard specifies
 	the maximum length of a string, it doesn't include the trailing
 	zero byte.

	* gcc.dg/cpp/if-6.c: New testcase.

From-SVN: r37961
parent b43db0b3
2000-12-01 Geoffrey Keating <geoffk@redhat.com>
2000-12-02 Geoffrey Keating <geoffk@redhat.com>
* c-common.c (combine_strings): When the ISO C standard specifies
the maximum length of a string, it doesn't include the trailing
zero byte.
* cpplib.c (do_ifdef): Add check_eol() call.
(do_ifndef): Likewise.
......
......@@ -468,9 +468,9 @@ combine_strings (strings)
/* Compute the number of elements, for the array type. */
nchars = wide_flag ? length / wchar_bytes : length;
if (pedantic && nchars > nchars_max && c_language == clk_c)
if (pedantic && nchars - 1 > nchars_max && c_language == clk_c)
pedwarn ("string length `%d' is greater than the minimum length `%d' ISO C%d is required to support",
nchars, nchars_max, flag_isoc99 ? 99 : 89);
nchars - 1, nchars_max, flag_isoc99 ? 99 : 89);
/* Create the array type for the string constant.
-Wwrite-strings says make the string constant an array of const char
......
2000-12-01 Geoffrey Keating <geoffk@redhat.com>
2000-12-02 Geoffrey Keating <geoffk@redhat.com>
* gcc.dg/cpp/if-6.c: New testcase.
* gcc.dg/20001201-1.c: New testcase.
2000-12-02 Neil Booth <neilb@earthling.net>
* g++.old-deja/g++.other/externC4.C,
......
/* { dg-do preprocess } */
#ifdef foo bar /* { dg-error "extra tokens" "tokens after #ifdef" } */
#endif
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