> pragma (msg, bar1.mangleof); //should be prinnt ?bar1@@YAXXZ on Windows (in VS mangling case) and (_Z4bar1v) for GCC mangling.

So that is ```_Z4bar1v``` and not ```__Z4bar1v``` as some platforms may add the extra underscore implicitly. :)

> And I think that any user expect that .mangleof should return mangle, not "mangle in some cases, identifier in some other cases".

The point is that there is *no* mangling done prior to passing the symbol to the backend.  Again, the language / front end does not and should not care about this, try to (incorrectly) implement this, or handle this in any way.