I found an alternative way to solve my problem which just requires running a parser program on preprocessed code to generate switch tables for each protothread. This way the thread switches and each case gotos the right label. The actual code using proto threads doesn't know the difference. It requires two jumps (same as trampoline) but also is more complicated to compile source code.
A better solution would be to support address labels in the trampoline the same way function pointers are supported. Then address labels would be fully supported. Does anyone have an hints on where to start with this? Thanks, Sean _______________________________________________ AVR-GCC-list mailing list AVR-GCC-list@nongnu.org http://lists.nongnu.org/mailman/listinfo/avr-gcc-list