Resolution:
1) C++ mangle (and other hard mangle in future) is doing in frontend.
2) Simple mangling (C, Pascal, stdcall) doing in... backend? Anyway I can get it with special `Target` call.
3) `.mangleof` returns _real_ mangle (which is written into object file).

Ok. In terms of functionality, I like him. :)

Simple question about `(2)`. What difference between it and my solution. As my plan, backend developers should change `Target::cmangler` and other manglers as they wish. 
In other words: If you want to change C mangling in some platform, you should rewrite your GDC-specific implementation of CMangler. It can do some calls deep to backend if needed. You does't need to change any code in frontend for it. Same for C++ mangling. If some back-end author create back-end for Borland C++ Builder (Yet another C++ mangling :), he should implement his mangler transparently for front-end.

You can reimplement (Or I can do it:) CMangler as follows:
```
const char *CMangler::mangleDsymbol(Dsymbol *d)
{
    return Target::mangle (d->ident->toChars(), LINKc);
}

const char *CMangler::mangleDsymbol(FuncDeclaration *d)
{
    return mangleDsymbol((Dsymbol *)d);
}

const char *CMangler::mangleDsymbol(VarDeclaration *d)
{
    return mangleDsymbol((Dsymbol *)d);
}
```