-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Clang 18 regression on C++20 mode: Unexpected placeholder builtin type!
crash
#122892
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
Labels
c++20
clang:codegen
IR generation bugs: mangling, exceptions, etc.
confirmed
Verified by a second party
crash-on-invalid
regression:18
Regression in 18 release
Comments
Confirmed on trunk. Regression since Clang 18 in C++20 mode (https://godbolt.org/z/a5sdrf77P):
|
@llvm/issue-subscribers-c-20 Author: Egor Pugin (egorpugin)
```
clang++ -v
clang version 20.0.0git (https://github.com/llvm/llvm-project c047a5b)
Target: x86_64-pc-windows-msvc
Thread model: posix
```
|
Unexpected placeholder builtin type!
crash
@llvm/issue-subscribers-clang-codegen Author: Egor Pugin (egorpugin)
```
clang++ -v
clang version 20.0.0git (https://github.com/llvm/llvm-project c047a5b)
Target: x86_64-pc-windows-msvc
Thread model: posix
```
|
@Fznamznon git bisect points to this commit at the cause of the regression: 20a0567 |
mizvekov
pushed a commit
that referenced
this issue
Mar 20, 2025
…inside non-dependent context (#124609) The `UnresolvedLookupExpr` doesn't get looked up and resolved again while it is inside the non-dependent context. It propagates into the codegen phase, causing the assertion failure. We attempt to determine if the current context is dependent before moving on with the substitution introduced in the 20a0567. This fixes #122892. --------- Co-authored-by: Sirraide <[email protected]>
llvm-sync bot
pushed a commit
to arm/arm-toolchain
that referenced
this issue
Mar 20, 2025
…LookupExpr inside non-dependent context (#124609) The `UnresolvedLookupExpr` doesn't get looked up and resolved again while it is inside the non-dependent context. It propagates into the codegen phase, causing the assertion failure. We attempt to determine if the current context is dependent before moving on with the substitution introduced in the llvm/llvm-project@20a0567. This fixes llvm/llvm-project#122892. --------- Co-authored-by: Sirraide <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
c++20
clang:codegen
IR generation bugs: mangling, exceptions, etc.
confirmed
Verified by a second party
crash-on-invalid
regression:18
Regression in 18 release
clang++ main.cpp -std=c++20
The text was updated successfully, but these errors were encountered: