C++ name mangling support

Hi all,
I am fairly new to the clang and llvm world and searched for a way to get the mangled names for c++ constructs in clang. I found something in CodeGen/CodeGenModule and wonder whether this is the only way to get the mangled name.

So my question is: What is the cleanest way to get the mangled name of a c++ function / member function et cetera? Or where to look for such functionality?

Thanks for your answers.

MangleContext in AST is where the mangling code lives. Look at include/clang/AST/Mangle.h for the interface, and lib/AST/ItaniumMangle.cpp and lib/AST/MicrosoftMangle.cpp for most of the implementation.