Hi

I've run across the following gcc "feature":

        char c[4] = "01234";

gcc emits a nice warning

warning: initializer-string for array of chars is too long

But do a

        char c[4] = "0123";

and - a wonder - no warning. No warning with gcc 3.3.2, 3.3.5, 3.4.5, 
4.1.2. I was told 4.2.x does produce a warning. Now do a

        struct {
                char c[4];
                int i;
        } t;
        t.i = 0x12345678;
        strcpy(t.c, c);

and t.i is silently corrupted. Just wanted to ask if this is known, 
really...

Thanks
Guennadi
---
Guennadi Liakhovetski
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to