This is an archive of the discontinued LLVM Phabricator instance.

Syringe clang support
AbandonedPublic

Authored by paulkirth on Sep 13 2018, 7:57 PM.

Details

Summary

This is a prototype for some improvements to Syringe that address some of its shortcomings by improving frontend support. It still requires templates to be instantiated manually, but otherwise works fairly well. There are some assertion errors that still need to be ironed out through appropriate bitcasts. Modification to adopt the direct call approach may relieve some of that trouble, and allow this design to work as intended.

The last major pain point is that, ideally a payload for a template function or dependent class will be instantiated automatically by the frontend. However, even though the template gets instantiated, it never reaches codegen. Some work needs to be done to identify a good way to force this instantiation.

Diff Detail

Event Timeline

paulkirth created this revision.Sep 13 2018, 7:57 PM
paulkirth abandoned this revision.Mar 29 2022, 10:45 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald Transcript