Fix use after move to get exegesis annotator working in pipeline #249
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This patch fixes a user after move in BHiveToExegesis/related classes where we would create a LLVMState, pass it into a couple other constructors to create things that would store a reference to LLVMState, and then promptly move it to call the BHiveToExegesis constructor. This resulted in use after moves, which were ultimately caught by ubsan. This patch fixes that behavior by encapsulating LLVMState within a unique_ptr to prevent the problems.
The exegesis annotator is also enabled in the compile_modules invocation script and test coverage is added now that it works.