From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Wilson To: egcs@cygnus.com Subject: Re: Strange warning (variable might be clobbered by `longjmp' or `vfork') Date: Sun, 31 Aug 1997 01:23:00 -0000 Message-id: <199708310123.SAA21826@cygnus.com> In-reply-to: Strange warning (variable might be clobbered by `longjmp' or `vfork') X-SW-Source: 1997-08/0821.html The following code gives a strange warning. ~/Prog> g++ -Wall -O -c egcs-feature2.cc egcs-feature2.cc: In function `void f()': egcs-feature2.cc:15: warning: variable `int maxrows' might be clobbered by `longjmp' or `vfork' This is due to problems with the setjmp/longjmp exception handler support. It goes away if you use -fno-exceptions or -fno-sjlj-exceptions. An exception handler block is being inserted into the program. This involves adding a (builtin) setjmp call. This confuses the RTL a little, and flow ends up thinking that the variable max is live across a setjmp call. This can probably be fixed by making the sjlj EH support and flow interact better. Jim