http://d.puremagic.com/issues/show_bug.cgi?id=4529
--- Comment #2 from Don <[email protected]> 2010-11-03 14:11:30 PDT --- REDUCED TEST CASE: int bug4529a() { return 0; } int function() bug4529b; auto ivorBomb1 = typeid(typeof(bug4529a)); auto ivorBomb2 = typeid(typeof(bug4529b)); Note that swapping the order of the two typinf.c, Type::getTypeInfo() line 152. The crash is because vtinfo hasn't been initialized. And this happens because we have a funny situation where vtinfo has been set up for the pointee (which is a function), but not yet for the pointer (which is a pointer to a function). Possibly a more complete solution would be to disallow typeof(X) where X is a function; if so, an assert(vtinfo) should still be added at this line. ------ t->vtinfo->toObjFile(global.params.multiobj); } } } + if (!vtinfo) + vtinfo = t->vtinfo; Expression *e = new VarExp(0, t->vtinfo); e = e->addressOf(sc); e->type = t->vtinfo->type; // do this so we don't get redundant dereference return e; -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
