-bool code_write (const char *filename, const char *lno);
-void code_init ();
-uint32_t code_genstring (const char *string);
-qcint code_alloc_field (size_t qcsize);
-
-/* this function is used to keep statements and linenumbers together */
-void code_push_statement(prog_section_statement *stmt, int linenum);
-void code_pop_statement();
+bool code_write (code_t *, const char *filename, const char *lno);
+GMQCC_WARN
+code_t *code_init (void);
+void code_cleanup (code_t *);
+uint32_t code_genstring (code_t *, const char *string);
+qcint code_alloc_field (code_t *, size_t qcsize);
+void code_push_statement(code_t *, prog_section_statement *stmt, int linenum);
+void code_pop_statement (code_t *);