+static void mangle_entity(entity_t *entity)
+{
+ obstack_1grow(&obst, '_');
+ obstack_1grow(&obst, 'Z');
+
+ /* TODO: mangle scope */
+
+ const char *name = entity->base.symbol->string;
+ obstack_printf(&obst, "%zu%s", strlen(name), name);
+
+ if (entity->kind == ENTITY_FUNCTION) {
+ mangle_parameters(&entity->declaration.type->function);
+ }
+}
+
+static ident *make_id_from_obst(void)
+{
+ size_t size = obstack_object_size(&obst);
+ char *str = obstack_finish(&obst);
+ ident *id = new_id_from_chars(str, size);
+ obstack_free(&obst, str);
+ return id;
+}