> Yes

So:
```
extern (D) void foo();
pragma (msg, foo.mangleof);
```
Should print a correctly mangled symbol to be passed to the backend, eg: ```_D4module3fooFZv```.  If the backend wants to mangle further, that's down to the platform ABI to do.

> No
> No

So:
```
extern (C++) void bar1();
extern (C) void bar2();
pragma (msg, bar1.mangleof);
pragma (msg, bar2.mangleof);
```
Should print the symbol with no mangling because ```bar1``` and ```bar2``` for their extern (Target) define no ABI to mangle the decl at all.  Again, it's down to the backend to declarate the symbol further if the platform requests so.