----Original Message----
>From: Olivier Hainque
>Sent: 09 September 2005 14:25
> You may have side effect from an initializer when setting a zero
> sized field.
>
> For instance (variant of gcc.c-torture/compile/zero-strct-4.c), compiled
> with GCC 3.4, the code below prints "returning raw_lock" as I would
> expect. It doesn't print anything when compiled with mainline because
> one_raw_spinlock is not called.
>
> #include <stdio.h>
>
> typedef struct {} raw_spinlock_t;
>
> typedef struct {
> raw_spinlock_t raw_lock;
> } spinlock_t;
>
>
> raw_spinlock_t one_raw_spinlock (void)
> {
> raw_spinlock_t raw_lock;
> printf ("returning raw_lock\n");
> return raw_lock;
> }
Surely returning the vaule of this uninitialised variable makes your code
invalid?
cheers,
DaveK
--
Can't think of a witty .sigline today....