This is an archive of the discontinued LLVM Phabricator instance.

[Syntax] Build template declaration nodes
ClosedPublic

Authored by hlopko on Mar 18 2020, 2:36 AM.

Details

Summary

Copy of https://reviews.llvm.org/D72334, submitting with Ilya's permission.

Handles template declaration of all kinds.

Also builds template declaration nodes for specializations and explicit
instantiations of classes.

Some missing things will be addressed in the follow-up patches:

specializations of functions and variables,
template parameters.

Diff Detail

Event Timeline

hlopko created this revision.Mar 18 2020, 2:36 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 18 2020, 2:36 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript
hlopko retitled this revision from Build template declaration nodes to [Syntax] Build template declaration nodes.Mar 18 2020, 3:12 AM
gribozavr2 accepted this revision.Mar 18 2020, 7:58 AM
This revision is now accepted and ready to land.Mar 18 2020, 7:58 AM
hlopko updated this revision to Diff 251095.Mar 18 2020, 8:31 AM

Clang tidy

This revision was automatically updated to reflect the committed changes.
thakis added a subscriber: thakis.Mar 18 2020, 8:47 AM

Breaks tests on Windows: http://45.33.8.238/win/10716/step_7.txt

Please take a look and revert if it takes a while to fix.

Reverted in 881f5b5a7b2 for now. Usually the fix is to add -fno-delayed-template-parsing somewhere, but in this case it seems like the whole feature might not expect delayed template parsing, so maybe something more holistic is needed in this case.