HomePhabricator

[lldb] Remove template parameters from FunctionTemplateDecl names

Authored by shafik on Mar 17 2020, 10:55 AM.

Description

[lldb] Remove template parameters from FunctionTemplateDecl names

Fix to get the AST we generate for function templates closer to what clang generates and expects.
We fix which FuntionDecl we are passing to CreateFunctionTemplateSpecializationInfo and we strip
template parameters from the name when creating the FunctionDecl and FunctionTemplateDecl.

These two fixes together fix asserts and ambiguous lookup issues for several cases which are added to the already existing small function template test.
This fixes issues with overloads, overloads and ADL, variadic function templates and templated operator overloads.

Differential Revision: https://reviews.llvm.org/D75761