Nathan, > btw, shouldn't > char buf[sizeof (struct tree_decl)]; > be > char buf[sizeof (union tree_node)] > __attribute__((alignment(alignof (union tree_node)))); > ? > (The alignment might be overly paranoid.) > > nathan Why do we need a char buf[]? What's wrong with using "union tree_node node" directly Graham