------- Comment #5 from pinskia at gcc dot gnu dot org 2007-04-25 23:59 ------- The problem is that the CFG does not know that the first time through the loop when calling bar, you cannot get to the setjmp. This is a hard problem to solve really. You have to track the uninitialized variable usage your solve to solve it correctly.
-- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- GCC host triplet|mingw32 | GCC target triplet|mingw32 | Keywords| |diagnostic Summary|Spurious "'<variable>' may |Spurious "'<variable>' may |be used uninitialized in |be used uninitialized in |this function" warnings when|this function" warnings when |using __builtin_setjmp |using __builtin_setjmp and | |loops and extern function | |call http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31707