This is an archive of the discontinued LLVM Phabricator instance.

Ignore calling conventions when checking function template specializations
ClosedPublic

Authored by rnk on Aug 30 2013, 8:09 PM.

Details

Summary

Calling conventions are inherited during decl merging. Before this
change, deduction would fail due to a type mismatch between the template
and the specialization. This change adjusts the CCs to match before
deduction, and lets the decl merging logic diagnose mismatch or inherit
the CC from the template.

This allows specializations of static member function templates in the
Microsoft C++ ABI.

Diff Detail

Event Timeline

rsmith accepted this revision.Sep 9 2013, 4:52 PM

LGTM

We should probably do the same thing for 'noreturn' :-)

rnk closed this revision.Sep 9 2013, 6:07 PM

Closed by commit rL190377 (authored by @rnk).