-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Concepts met ICE with assertions builds with member function call that lacks parentheses #52909
Comments
Clang with assertions enabled says:
|
@llvm/issue-subscribers-clang-frontend |
It hits the unreachable here: llvm-project/clang/lib/AST/ItaniumMangle.cpp Lines 3016 to 3019 in e729846
The corresponding type is It looks easy to fix it by remove the unreachable assertion. But I feel it might not be a good solution. @urnathan @dwblaikie do you have opinion on this? |
@ChuanqiXu9: The assert-fail is happening when Clang tries to instantiate (and thus mangle the name of) Replace
The problem is insufficient error-diagnosing on the front end. The mangling codepath's invariant/assertion is correct. |
I think you are right. And I can get a reduced example from your example: https://godbolt.org/z/7d3Pqsd86, it really helps. |
Here's a related assertion failure, in which I use
Clang trunk says:
|
This is now https://reviews.llvm.org/D118552 |
Bug llvm#52905 was originally papered over in a different way, but I believe this is the actually proper fix, or at least closer to it. We need to detect placeholder types as close to the front-end as possible, and cause them to fail constraints, rather than letting them persist into later stages. Fixes llvm#52905. Fixes llvm#52909. Fixes llvm#53075. Differential Revision: https://reviews.llvm.org/D118552 (cherry picked from commit f6ce456)
…4758) Bug llvm#52905 was originally papered over in a different way, but I believe this is the actually proper fix, or at least closer to it. We need to detect placeholder types as close to the front-end as possible, and cause them to fail constraints, rather than letting them persist into later stages. Fixes llvm#52905. Fixes llvm#52909. Fixes llvm#53075. Differential Revision: https://reviews.llvm.org/D118552 (cherry picked from commit f6ce456) Co-authored-by: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
See https://godbolt.org/z/Ke5Mfoa8h. This is similar with #52905 but it should be a different bug.
The text was updated successfully, but these errors were encountered: