If I build dmd with the current dmd master, I get this error
id.d(369): Error: Outside Unicode code space
For some reason, line 369 ends up being
empty = Identifier.idPool("¥p");
whereas it's supposed to be
empty = Identifier.idPool("");
Building dmd with 2.067 works fine (which is what we normally do right now AFAIK), otherwise this probably would have showed up on the autotester. So, while it may not be an immediate problem, presumably we need to fix it at some point here, since we don't want to be stuck having to build dmd with 2.067 forever.
Comment #1 by k.hara.pg — 2015-11-21T15:35:38Z
Reduced test case (Note that the reproduction ratio is not 100%):
import core.stdc.stdio;
struct Msgtable
{
const(char)[] ident;
const(char)* name;
};
Msgtable[] msgtable =
[
{ "empty", "" },
];
void main()
{
auto id = msgtable[0].ident;
auto p = msgtable[0].name;
printf("empty -> p = %p >>>%s<<<\n", p, p);
}
Introduced in:
https://github.com/D-Programming-Language/dmd/pull/5220
Comment #2 by k.hara.pg — 2015-11-21T15:37:15Z
This is git-head only regression. Same issue does not exist in 2.069.1 or earlier releases.