fix default creation of empty unique ptr #48
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.
Hey there,
i have spend quite some time trying to get SimSYCL running on a local machine.
Unfortunately all tests regarding group operation failed.
I was able to nail this down to the creation default per operation data.
The creation is used e.g. in schedule.cc:272 and schedule.cc:274.
The behaviour of the current default creation is to create an empty unique pointer.
When this pointer is dereferenced inside the group operation implementation (group_operation_impl.hh:256, group_operation_impl.hh:258), the behavior is undefined according to https://en.cppreference.com/w/cpp/memory/unique_ptr/operator%252A.html
using std::make_unique will return a nonempty pointer
this also fixed all local test errors.
Machine details:
OS: Arch Linux Kernel Version 6.18.1-arch1-2
gcc, g++ version: 15.2.1 20251112