Builds on previous Differential D2219
Changes include:
- Using unordered_map with SourceLocation.ID (raw encoding) as key
- Demangle only if !isExternC. Used dyn_cast<FunctionDecl>((Decl*)CurFuncDecl) for this
- Modified an existing C testcase to test for options.
Using the system demangler here seems like the wrong solution. You have the current function declaration, CurFuncDecl, and from it you should be able to extract the full name.
I think that this will do it: