![]() |
Contiki-NG
|
Implementation of local continuations based on the "Labels as values" feature of gcc. More...
Go to the source code of this file.
Macros | |
| #define | LC_INIT(s) |
| Initialize a local continuation. | |
| #define | LC_RESUME(s) |
| Resume a local continuation. | |
| #define | LC_SET(s) |
| Set a local continuation. | |
| #define | LC_END(s) |
| Mark the end of local continuation usage. | |
Typedefs | |
| typedef void * | lc_t |
| The local continuation type. | |
Implementation of local continuations based on the "Labels as values" feature of gcc.
This implementation of local continuations is based on a special feature of the GCC C compiler called "labels as values". This feature allows assigning pointers with the address of the code corresponding to a particular C label.
For more information, see the GCC documentation: http://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html
Thanks to dividuum for finding the nice local scope label implementation.
Definition in file lc-addrlabels.h.