Contiki-NG
Loading...
Searching...
No Matches

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.
 

Detailed Description

Implementation of local continuations based on the "Labels as values" feature of gcc.

Author
Adam Dunkels adam@.nosp@m.sics.nosp@m..se

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.