Fix string_build_config_mapper potentially becoming invalid due to ODR issues when restarting the runtime #1460
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.
When no SYCL objects are around anymore, the AdaptiveCpp runtime shuts down. Because of this, defining multiple test cases as e.g. in catch2 causes runtime shutdown/restart patterns.
It seems that in this case, the
string_build_config_mapper
can become invalid as it might be destoryed when backends unload, and might then not be reconstructed correctly due to ODR issues.This PR fixes this by moving
kernel_configuration
to the runtime, and moving the singleton definition for the name mapper to a .cpp file.Hopefully fixes #1455
@TomMelt For me this fixes your issue. Can you confirm?