"Steven Bosscher" <[EMAIL PROTECTED]> writes:
| On 6/16/06, Mike Stump <[EMAIL PROTECTED]> wrote:
| > foo() {
| > int i = 99;
| > __builtin_setjmp(A)
| > if (i) {
| > print i
| > --i;
| > __builtin_longjump(A);
| > }
| >
| > It used to not infinite loop, now it does.
| >
|
| We had an example just like this on IRC only a few weeks ago. ISTR it
| was decided that this triggers undefined behavior by C99 7.13.2.1 sub
| 3.
For the bootstrapping problem I mentioned earlier, they added volatile
to variables in the scope but it did not change anything. [ They
tried that despite the uncertainty of "volatile" semantics in GCC/gcc
in the past, and despite they could not afford to do it in general ]
-- Gaby