aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorDaniel M. Katz <katzdm@gmail.com>2024-08-12 13:11:21 -0400
committerGitHub <noreply@github.com>2024-08-12 13:11:21 -0400
commitc4724f60384917ef0f0e8cc32702fe02c3b3b1c9 (patch)
tree02dbd705f3a7decc4b248af575851b6cb074dcc7 /clang/lib/CodeGen/CodeGenFunction.cpp
parent1cbd25f882d10de1a23bb0287a70cde5037ebf42 (diff)
downloadllvm-c4724f60384917ef0f0e8cc32702fe02c3b3b1c9.zip
llvm-c4724f60384917ef0f0e8cc32702fe02c3b3b1c9.tar.gz
llvm-c4724f60384917ef0f0e8cc32702fe02c3b3b1c9.tar.bz2
Fix assertion failure during conversion function overload resolution. (#98671)
When clang is built with assertions, an otherwise silent (and seemingly innocuous) assertion failure from `SemaConcept.cpp` is triggered by the following program: ```cpp struct S { operator int(); template <typename T> operator T(); }; constexpr auto r = &S::operator int; ``` The function in question compares the "constrained-ness" of `S::operator int` and `S::operator T<int>`; the template kind of the former is `TK_NonTemplate`, whereas the template kind of the later is `TK_FunctionTemplateSpecialization`. The later kind is not "expected" by the function, thus the assertion-failure.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions