-
Notifications
You must be signed in to change notification settings - Fork 12k
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
[Clang] ICE at clang::Expr::EvaluateAsConstantExpr() #62362
Comments
@llvm/issue-subscribers-clang-frontend |
Update: Yep, turning assertions off makes it go back to being a test case for #62361. |
Confirmed, may be related to #62344 |
So this and #62344 end up being really similar, so I combined them. The repro is essentially: https://godbolt.org/z/MTxMvdxET
The problem is that while picking up template arguments to instantiate the constraint on In the case of In the case of That is in place, I believe, so that out of line definitions don't have their depth wrong. I'm not sure how to tell the right thing to do HERE either, and I think that'll block the |
I THINK i have a hold on it? This patch seems to fix both minimal reproducers: https://reviews.llvm.org/D149264 EDIT: Apparently not! This ended up breaking the original reproducer of #62344 in a different way. I'll have to work on another reduction. |
That patch fixes the original non-reduced reproducer I have as well (that is, the code that #62361's repro is based on). |
ref f539b6f |
clang: ../../clang/lib/AST/ExprConstant.cpp:15331: bool clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult &, const clang::ASTContext &, clang::Expr::ConstantExprKind) const: Assertion `!isValueDependent() && "Expression evaluator can't be called on a dependent expression."' failed.
ICE Error Output
Triggered by:
(while reducing code for #62361, might be related)
The text was updated successfully, but these errors were encountered: