%assign slot 26 %push %ifdef INIT %define %$entry26 %define entry26 %endif %define foo bar %ifdef A %define %$entry%[slot] foo %elifdef B %xdefine %$entry%[slot] foo %elifdef C %define entry%[slot] foo %elifdef D %xdefine entry%[slot] foo %endif %define foo qux %fatal %$entry26 entry26