I'm not sure if this is a bug in IMCC or not, but I don't see the use of it, and it's causing my program to segfault.
If I have more than one .pcc_begin_return .return x .return y etc .pcc_end_return block in a single compilation unit, every block wants to return the return values of all the pcc_return blocks in the compilation unit. Example: unless x goto blah .pcc_begin_return .return P16 .pcc_end_return blah: .pcc_begin_return .return P17 .pcc_end_return The return statements both end up like this: set P5, P16 set P6, P17 set I0, 0 set I1, 0 set I2, 0 set I3, 2 set I4, 0 invoke P1 Instead of like this, as I would expect: set P5, P16 set I0, 0 set I1, 0 set I2, 0 set I3, 1 set I4, 0 invoke P1 and set P5, P17 set I0, 0 set I1, 0 set I2, 0 set I3, 1 set I4, 0 invoke P1 Is there some reason I'm not supposed to have more than one pcc_return in a compilation unit (in which case how am I *supposed* to implement something like if foo { return "bar" } else { return "quux" } )? Or was this just an oversight by the IMCC implementors? - TOGoS __________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com