Yes. I proposed a method without mangling, but I suppose there isn't any reason why C couldn't use mangled names.
It also isn't a requirement that C++ use mangled names. Other ways of carrying the type information are possible. I like the idea of a reference to DWARF debug info, which C++ is already using to support stack unwinding for exceptions.
> It also isn't a requirement that C++ use mangled names.
Overloading requires the type information to be part of the symbol "name" (ie, whatever is used for symbol lookup and linking) wether that is a mangled string or more complex data structure.