c: a c: o glob_i: 65536 oo: 2.600000 c: f str: I don't think this should be print(but gcc got it wrong too) because what if free was call inside cleanup function I don't think this should be print(but gcc got it wrong too) should be print before str: that str: this should appear only once str: -that2 str: -that str: test2 str: one ---- 1 str: two str: three -- loop 0 -- 100 100 100 100 100 100 100 100 100 100 10 -- loop 1 -- 200 200 200 200 200 200 200 200 200 200 10 -- loop 2 -- 300 0 -- loop 3 -- 400 500 400 after break 1000 42 42 42 43 44 45 46 47 48 49 42 43 44 45 46 47 48 49 42 43 44 45 42 43 44 45 42 43 42 43 42.000000 42.000000 42 43 42 43 42.000000 43.000000 44.000000 45.000000 42.000000 43.000000 44.000000 45.000000 42 42 ---- 0 ---- 1 str: plop str: tata ! str: 3 str: 2 str: 1 str: last goto out str: wololo