[PATCH] D123300: [Clang] Enable opaque pointers by default
Martin Storsjö via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 12 00:32:02 PDT 2022
mstorsjo added a comment.
This triggered (or exposed) assertion failures:
$ cat inlinecost.cpp
typedef char a;
typedef unsigned b;
typedef int c;
typedef struct {
b d[];
} e;
e f(void *) {}
typedef void *fptr;
fptr g;
template <typename, typename, typename, typename> void h(fptr i) {
int (*j)(const void *) = (int (*)(const void *))i;
j(g);
}
template <typename, typename> void k(b, b, b, const char *) {
h<long, long, c, int>(fptr(f));
}
template void k<c, a>(b, b, b, const char *);
$ clang -target x86_64-linux-gnu -c inlinecost.cpp -O2
clang: ../lib/Analysis/InlineCost.cpp:2595: llvm::InlineResult {anonymous}::CallAnalyzer::analyze(): Assertion `CAI != CandidateCall.arg_end()' failed.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D123300/new/
https://reviews.llvm.org/D123300
More information about the llvm-commits
mailing list