From b59fba584521a0a9d4fe97ee4a5d608ec19aedc4 Mon Sep 17 00:00:00 2001 From: Audun Wilhelmsen Date: Thu, 20 Mar 2014 23:11:33 +0100 Subject: [PATCH] Added documentation for packed pragma --- doc/manual.txt | 5 +++++ web/news.txt | 1 + 2 files changed, 6 insertions(+) diff --git a/doc/manual.txt b/doc/manual.txt index ab1badaf38..9497e957d3 100644 --- a/doc/manual.txt +++ b/doc/manual.txt @@ -5390,6 +5390,11 @@ checked. **Future directions**: GC'ed memory should be allowed in unions and the GC should scan unions conservatively. +Packed pragma +------------- +The `packed`:idx: pragma can be applied to any ``object`` type. It ensures that the fields of an object is packed back-to-back in memory. It is useful to store packets or messages from/to network or hardware drivers, and for interoperability with C. Combining packed pragma with inheritance is not defined, and it should not be used with GC'ed memory (ref's). + +**Future directions**: Using GC'ed memory in packed pragma will result in compile-time error. Usage with inheretinence should be defined and documented. Unchecked pragma ---------------- diff --git a/web/news.txt b/web/news.txt index 83863cdd9b..7f5526665b 100644 --- a/web/news.txt +++ b/web/news.txt @@ -61,6 +61,7 @@ News evaluation. - ``--gc:none`` produces warnings when code uses the GC. - A ``union`` pragma for better C interoperability is now supported. + - A ``packed`` pragma to control the memory packing/alignment of fields in an object. - Arrays can be annotated to be ``unchecked`` for easier low level manipulations of memory.