Re: gcc fixed size char array initialization bug - known?

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Guennadi Liakhovetski <g.liakhovetski@...>
Cc: Andi Kleen <andi@...>, <linux-kernel@...>
Date: Thursday, August 2, 2007 - 6:15 pm

Guennadi Liakhovetski wrote:

How should gcc know whether you actually wanted that char foo[len] to
contain a \0 as last element?

Given the respective command line switches, gcc does warn in some cases
where it is guesswork whether what you typed is what you intended.  For
example

	if (i = j())

is reason for gcc to warn even if that might exactly be what you wanted.
However this construct can easily be annotated as

	if ((i = j()))

to show to gcc and to carbon-based bipedals that you indeed wanted this.

Now there is no nice way to make an annotation that says "look, I'm
going to initialize an array of char with a string literal now, and the
resulting array will contain a non-zero member as last element, and I
mean it".  And since there is no such annotation possible, gcc does not
warn and demand that you annotate the perfectly valid and 100%
spec-compliant construct char a[4] = "1234";.
-- 
Stefan Richter
-=====-=-=== =--- ---==
http://arcgraph.de/sr/
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
gcc fixed size char array initialization bug - known?, Guennadi Liakhovetski, (Thu Aug 2, 3:55 pm)
Re: gcc fixed size char array initialization bug - known?, Stefan Richter, (Fri Aug 3, 11:16 am)
Re: gcc fixed size char array initialization bug - known?, Jan Engelhardt, (Thu Aug 2, 4:18 pm)
Re: gcc fixed size char array initialization bug - known?, Jan Engelhardt, (Thu Aug 2, 3:59 pm)
Re: gcc fixed size char array initialization bug - known?, Satyam Sharma, (Thu Aug 2, 11:17 pm)
Re: gcc fixed size char array initialization bug - known?, Bernd Petrovitsch, (Fri Aug 3, 3:32 am)
Re: gcc fixed size char array initialization bug - known?, Guennadi Liakhovetski, (Thu Aug 2, 4:15 pm)
Re: gcc fixed size char array initialization bug - known?, Guennadi Liakhovetski, (Thu Aug 2, 4:36 pm)
Re: gcc fixed size char array initialization bug - known?, Stefan Richter, (Thu Aug 2, 6:31 pm)
Re: gcc fixed size char array initialization bug - known?, Guennadi Liakhovetski, (Thu Aug 2, 6:51 pm)
Re: gcc fixed size char array initialization bug - known?, Alexander van Heukelum, (Fri Aug 3, 10:04 am)
Re: gcc fixed size char array initialization bug - known?, Guennadi Liakhovetski, (Thu Aug 2, 7:30 pm)
Re: gcc fixed size char array initialization bug - known?, Jan Engelhardt, (Fri Aug 3, 3:56 am)
Re: gcc fixed size char array initialization bug - known?, Stefan Richter, (Thu Aug 2, 7:27 pm)
Re: gcc fixed size char array initialization bug - known?, Stefan Richter, (Thu Aug 2, 6:15 pm)
Re: gcc fixed size char array initialization bug - known?, Guennadi Liakhovetski, (Thu Aug 2, 6:36 pm)
Re: gcc fixed size char array initialization bug - known?, Carlo Florendo, (Fri Aug 3, 12:57 am)
Re: gcc fixed size char array initialization bug - known?, Guennadi Liakhovetski, (Thu Aug 2, 7:26 pm)
Re: gcc fixed size char array initialization bug - known?, Carlo Florendo, (Fri Aug 3, 1:00 am)
Re: gcc fixed size char array initialization bug - known?, Guennadi Liakhovetski, (Thu Aug 2, 4:26 pm)
Re: gcc fixed size char array initialization bug - known?, Guennadi Liakhovetski, (Thu Aug 2, 5:26 pm)
Re: gcc fixed size char array initialization bug - known?, Guennadi Liakhovetski, (Thu Aug 2, 4:21 pm)