This fixes PR30361.
clang was failing to compile the test case because it was passing "~C1<T>" instead of "~C1" to FindInstantiatedDecl and RebuildMemberExpr.
Differential D24969
[Sema] Use the instantiated name of destructors in FindInstantiatedDecl and RebuildMemberExpr ahatanak on Sep 27 2016, 9:15 AM. Authored by
Details
This fixes PR30361. clang was failing to compile the test case because it was passing "~C1<T>" instead of "~C1" to FindInstantiatedDecl and RebuildMemberExpr.
Diff Detail Event Timeline
Comment Actions (I'm replying to the comment near TreeTransform.h:11967 because phab doesn't let me hit save) It looks like RebuildCXXPseudoDestructorExpr isn't even called because a MemberExpr is created instead of a CXXPseudoDestructorExpr.
Comment Actions Rebase. Pass the destructor's DeclarationNameInfo to the call to RebuildMemberExpr rather than getting it inside RebuildMemberExpr. Comment Actions Call TransformDeclarationNameInfo unconditionally to transform NameInfo rather than doing so only for destructors. I think this is a cleaner fix. Comment Actions Looks good, other than error recovery.
Comment Actions Add code for error recovery.
|
Do we need to do this for conversion function names too? (Eg, operator C1<T>*)