Dave Korn wrote: > Surely returning the vaule of this uninitialised variable makes your code > invalid?
Well, sure. Adding an initializer in one_raw_spinlock doesn't help. The t03.gimple dump reads: main () { struct spinlock_t D.1783; int D.1784; struct spinlock_t lock; D.1784 = 0; return D.1784; }