This is an archive of the discontinued LLVM Phabricator instance.

Use FinishThunk to finish musttail thunks
ClosedPublic

Authored by rnk on Mar 19 2020, 12:22 PM.

Details

Summary

FinishThunk, and the invariant of setting and then unsetting
CurCodeDecl, was added in 7f416cc42638 (2015). The invariant didn't
exist when I added this musttail codepath in ab2090d10765 (2014).
Recently in 28328c3771, I started using this codepath on non-Windows
platforms, and users reported problems during release testing (PR44987).

The issue was already present for users of EH on i686-windows-msvc, so I
added a test for that case as well.

Diff Detail

Event Timeline

rnk created this revision.Mar 19 2020, 12:22 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 19 2020, 12:22 PM
hans accepted this revision.Mar 20 2020, 3:36 AM

lgtm

This revision is now accepted and ready to land.Mar 20 2020, 3:36 AM
This revision was automatically updated to reflect the committed changes.