[Tinyos-devel] nesC 1.2.6 available from sourceforge
David Gay
david.e.gay at intel.com
Wed Jun 14 09:05:59 PDT 2006
Download it from
http://sourceforge.net/project/showfiles.php?group_id=56288
Note that the 1.2.5 release was removed as it did not compile under cygwin.
Changes in nesC 1.2.6
=====================
- external types now support bitfields (big-endian only - mixing bit-field
endianness within a struct would be extremely confusing and/or tricky)
- -conly option to just compile to C
- better struct/union layout code, which requires a slightly more detailed
target machine description (see src/machine.h)
- #pragma statements are saved and dumped at the end of the generated C code
(if you or your compiler uses #pragma, you'll probably have to move these
somewhere else; however, this cannot be done without understanding of
the pragma itself; hence the nesC compiler leaves this process to a
user-supplied tool)
- bug fixes
Changes in nesC 1.2.5
=====================
- nescc-mig now generates C (ncg has supported C since 1.1.2)
- add __builtin_offsetof keyword to make recent gcc's happy,
and update the gcc-specific asm syntax to reflect recent
gcc changes
- allow types defined in interface files to be used immediately in generic
interface arguments (e.g., interface Timer<TMilli>, where TMilli is
defined in Timer.nc)
- updates to automatic inlining - code should be slightly smaller
- @spontaneous() attribute is automatically added to the __nesc_XXX
functions used by the compiler
- atomic optimisation (experimental): if you specify -fnesc-optimize-atomic,
two optimisations are performed:
o outermost atomics call __nesc_disable/enable_interrupt, which can
assume
that interrupts are initially enabled
o "simple" atomic statements have no overhead (interrupts are not
disabled)
simple atomic statements are those:
- with no accesses to shared state
- or, at most one access to one byte of shared state
- bug fixes
David Gay
More information about the Tinyos-devel
mailing list