-
Notifications
You must be signed in to change notification settings - Fork 795
[SYCL] Do not crash on attempt to visit invalid decl #2411
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
Conversation
|
This is the case when patch itself is very simple, but it is almost impossible to cover all test cases. I was able to figure some test cases, but I would appreciate suggestions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now seeing how simple the patch is, I think you've covered most of the cases I can think of. I didn't realize an invalid field/base made the parent invalid.
It might be a different bug, but I seem to remember seeing a problem with a member function passing something of its own type to a kernel (since it is incomplete!) and causing trouble.
Obviously the same problem exists for in the definition of the base class:
struct Base {
struct Derived : Base { void use() const{}
};
void foo() {
Derived d;
kernel<class Whatever>([=](){d.use();});
}
}; // End of Base
If that is sufficiently different of a bug, feel free to do that somewhere else.
I've just tried this test case and the output seems valid for me: Looking into AST dump, it seems it is also the case when kernel object becomes invalid: |
Perfect, thanks! |
[Benchmarks] fix label for comput benchmark
No description provided.