This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: warn/croak on "string" "string" auto-joins
- From: Gabor Greif <gabor at mac dot com>
- To: gcc at gcc dot gnu dot org
- Cc: "Adam Monsen" <haircut at gmail dot com>
- Date: Wed, 18 Aug 2004 01:25:10 +0200
- Subject: Re: warn/croak on "string" "string" auto-joins
Adam Monsen <haircut at gmail dot com> wrote:
> String auto-joins can be dangerous. Is there a way to tell the
> compiler to warn/croak when an auto-join occurs?
>
> For instance, find the bug in this code:
>
> char *months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
> "Aug" "Sep", "Oct", "Nov", "Dec"};
>
> If not, I'd like to suggest a way to ask the compiler to strictly
> check for this.
The compiler cannot shield you from all programmer errors.
This would have helped early and is good practice:
char *months[12] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
"Aug" "Sep", "Oct", "Nov", "Dec"};
--> high probability warning
Cheers,
Gabor
PS: I often assemble longer (format) strings from smaller ones
by means of macros, so if this ever to become a warning I'd
prefer to exclude macro-expanded occurrences.