gpgscm: Provide framework for immediate values.
authorJustus Winter <justus@g10code.com>
Mon, 30 Jan 2017 14:45:13 +0000 (15:45 +0100)
committerJustus Winter <justus@g10code.com>
Mon, 30 Jan 2017 16:09:41 +0000 (17:09 +0100)
commite343984fc50e87830905614dc87f83f810551ad1
tree585a7486bfe9b1a7963988dc9bd0c29f806038a0
parentd27a4435bd8c0f0971d51ddf454422fc77d48271
gpgscm: Provide framework for immediate values.

* tests/gpgscm/scheme.c (IMMEDIATE_TAG): New macro.
({is,set,clr}_immediate): Likewise.
(enum scheme_types): Make type tags disjoint from immediate values.
(TYPE_BITS): We need one more bit now.
(ADJ,T_MASKTYPE): Compute values.
--
Immediate values are disjoint from all type tags and pointers,
allowing us to store immediate values in all memory locations.

Signed-off-by: Justus Winter <justus@g10code.com>
tests/gpgscm/scheme.c