"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

Reply via email to