warn/croak on "string" "string" auto-joins

Chris Jefferson caj@cs.york.ac.uk
Wed Aug 18 10:55:00 GMT 2004


Dave Korn wrote:

 >
 >>>>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
 >>>
 >>>I'm not sure I understand, what does "high probability
 >>
 >>warning" mean?
 >>
 >>>I get no errors/warnings from the following:
 >>>
 >>>#include <stdio.h>
 >>>int main( void )
 >>>{
 >>>  char *months[15] = {"Jan", "Feb", "Mar", "Apr", "May",
 >>
 >>"Jun", "Jul",
 >>
 >>>"Aug" "Sep", "Oct", "Nov", "Dec"};
 >>>  printf("7: %s\n", months[8]);
 >>>  return 0;
 >>>}
 >>>
 >>>compiled with 'gcc -Wall -pedantic -ansi', using GCC 3.3.3.
 >>
 >>Hmm, I could have sworn that a mismatch in array dimensions
 >>does emit a warning (too many initializers do error out "como").
 >>Looks like this is not the case. Sorry for bothering you :-(
 >
 >
 >  But it has too *few* initialisers!
 >
While not exactly what was asked for in the first place, it would seem 
to me this kind of problem (giving too few initalisers to a fixed length 
array) should definatly emit a warning.. would this be hard to do / can 
anyone come up with a sensible reason to give too few initalisers?

Chris



More information about the Gcc mailing list