This is an archive of the discontinued LLVM Phabricator instance.

Add missing type canonicalization when forming a SubstTempalteTypeParmType
AbandonedPublic

Authored by rnk on Nov 12 2014, 2:33 PM.

Details

Reviewers
rsmith
Summary

Substituted type template parameters should hold the original parameter
and the canonical type that was used for instantiation. We were missing
a canonicalization step and some extra sugar would have leaked through
into the instantiation.

Test case reduced from PR19372. It could use improvement if anyone has a
better idea for how to inject type sugar into this codepath.

Diff Detail

Event Timeline

rnk updated this revision to Diff 16117.Nov 12 2014, 2:33 PM
rnk retitled this revision from to Add missing type canonicalization when forming a SubstTempalteTypeParmType.
rnk updated this object.
rnk added a reviewer: rsmith.
rnk added a subscriber: Unknown Object (MLST).
rsmith edited edge metadata.Nov 12 2014, 3:45 PM

This is papering over the issue; root cause fixed in r221832.

rnk abandoned this revision.Nov 12 2014, 3:49 PM

Richard wrote a better fix in r221832.