On 8/30/06, Chris Littell <[EMAIL PROTECTED]> wrote:
On 8/30/06, Nikolai Weibull <[EMAIL PROTECTED]> wrote:
> In C99 you can initialize values "out of order", yes, but you can't do
> it with ranges. Ranges are a GNU C extension. The propagation
> neither happens in any of the ANSI standards, nor in the GNU extended
> version of C. It's simple to test write the following in "a.c":
>
> #include <stdio.h>
>
> int
> main(void)
> {
> int is[2] = { 1 };
> int i;
>
> for (i = 0; i < 2; i++)
> printf("%d\n", is[i]);
>
> return 0;
> }
>
> And then to actually test it:
>
> $ for std in c89 c99 gnu89 gnu99; do gcc -std=$std a.c && echo $std:
> && a.out; done
> c89:
> 1
> 0
> c99:
> 1
> 0
> gnu89:
> 1
> 0
> gnu99:
> 1
> 0
>
> >
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/gcc/designated-inits.html
>
> Nowhere in that section does it say that the last value is propagated.
Wow, I reread it and you are correct. I'm not sure why I held that
assumption...
Also thanks for the examples.
No worries.
nikolai