* should be checksummed and added to progdefs.h when we generate it.
*/
}
- else if (!strcmp(global->name, "end_sys_globals")) {
+ else if (!strcmp(global->name, "end_sys_fields")) {
/* TODO: same as above but for entity-fields rather than globsl
*/
}
case TYPE_FUNCTION:
if (code_defs_add(def) < 0)
return false;
- ir_value_code_setaddr(global, code_globals_elements);
- code_globals_add(code_functions_elements);
- return gen_global_function(self, global);
+ if (!global->isconst) {
+ ir_value_code_setaddr(global, code_globals_add(0));
+ return global->code.globaladdr >= 0;
+ } else {
+ ir_value_code_setaddr(global, code_globals_elements);
+ code_globals_add(code_functions_elements);
+ return gen_global_function(self, global);
+ }
case TYPE_VARIANT:
/* assume biggest type */
ir_value_code_setaddr(global, code_globals_add(0));