forked from include-what-you-use/include-what-you-use
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[clang compat] Fix alias template handling
llvm/llvm-project@7f78f99 removed SubstTemplateTypeParmType nodes from an instantiated alias template type. GetProvidedTypes function relied on them to filter out substituted argument types. Now, it is done "manually" inside the added GetAliasTemplateProvidedTypes function, as discussed in llvm/llvm-project#101858. When traversing instantiated type alias internals, bare RecordType nodes appear now instead of ones wrapped in SubstTemplateTypeParmType, hence the new visiting method added into InstantiatedTemplateVisitor. (Enum types are not expected to need handling there, hence VisitRecordType instead of VisitTagType.) A test case added to cover the change inside GetProvidedTypes function (i.e. correct handling of intermediate alias templates in a chain).
- Loading branch information
1 parent
b7cbe76
commit 47b9d33
Showing
6 changed files
with
66 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters