------- Comment #2 from pinskia at gcc dot gnu dot org 2005-12-13 22:42 ------- One more thing If I do: struct ss { unsigned short a; unsigned short b; }; union uu { unsigned int all; struct ss parts; }; #include <setjmp.h>
extern void bar(union uu); extern void baz(); void foo() { for(;;) { union uu u; jmp_buf env; u.parts.a = f(); u.parts.b = u.parts.a; bar(u); if (setjmp(env)==0) baz1(); else baz(); } } I still get a warning but it actually will not be clobbered as it is spilled anyways. Maybe we are warning for structs/unions as they are going to be spilled anyways. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |diagnostic http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25399