Index: compilers/imcc/symreg.c =================================================================== --- compilers/imcc/symreg.c (revision 39633) +++ compilers/imcc/symreg.c (working copy) @@ -600,10 +600,16 @@ { ASSERT_ARGS(mk_ident) char * const fullname = _mk_fullname(pesky_global__namespace, name); - SymReg *r = mk_symreg(interp, fullname, t); + SymReg *r = _get_sym_typed(&(IMCC_INFO(interp)->last_unit->hash), name, t); + if (r) + IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR, + "syntax error, duplicated IDENTIFIER '%s'", fullname); + r = mk_symreg(interp, fullname, t); + r->type = VTIDENTIFIER; + if (pesky_global__namespace) { Identifier * const ident = mem_allocate_zeroed_typed(Identifier);