Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stoat fails to track virtual methods in multiple interitance cases involving templates #15

Closed
fundamental opened this issue Apr 23, 2015 · 2 comments

Comments

@fundamental
Copy link
Owner

see http://fundamental-code.com/tmp/calf-how-about-this.png

@fundamental
Copy link
Owner Author

Current Failure in calf seems to be in the template dealiasing phase as the system seems to think that calf_plugins::saturator_audio_module is a child of audio_module organ_metadata

@fundamental
Copy link
Owner Author

ok, so with that fixed, the problem that I'm observing which is why the process calls are missed is that process_slice calls process via vtable entry 68. This entry is a pure virtual on most things, which is not a problem, but when the class hierarchy is applied they can bind to a different vtable entry, from which there does not exist a default thunk function. Thus stoat doesn't figure out that they're the same. I guess adding in the extra thunk makes sense, but figuring out how to do that is quite hard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant