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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits