-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Closed
Closed
Copy link
Labels
Description
| Bugzilla Link | 45033 |
| Resolution | FIXED |
| Resolved on | Mar 02, 2020 02:43 |
| Version | trunk |
| OS | Windows NT |
| Blocks | #43900 |
| Attachments | Minimal example, Build log, Run script |
| CC | @DougGregor,@zmodem,@zygoloid,@rnk |
Extended Description
The following code seems to cause clang and clang-cl, 9.0.0 and trunk, to crash:
intrusive_ptr<C> a;
try {
a = mk();
mk();
}
catch (...) {
}
Debug logs show
INSTCOMBINE ITERATION #​1 on ?crash@@YAXXZ
IC: ADDING: 27 instrs to worklist
IC: Visiting: %call1 = invoke %struct.C* @"?mk@@YAPEAUC@@XZ"()
to label %invoke.cont2 unwind label %catch.dispatch
IC: Visiting: %a.sroa.0.0 = phi i64 [ %0, %invoke.cont2 ], [ 0, %entry ]
IC: Visiting: %1 = catchswitch within none [label %catch] unwind label %ehcleanup
IC: Visiting: %2 = catchpad within %1 [i8* null, i32 64, i8* null]
IC: Visiting: catchret from %2 to label %try.cont
IC: Visiting: %a.sroa.0.1 = phi i64 [ %0, %invoke.cont2 ], [ %a.sroa.0.0, %catch ]
IC: ADD: %a.sroa.0.1.ptr = phi %struct.C*
Assertion failed: !NodePtr->isKnownSentinel(), file C:\src\llvm_package_2663a25f\llvm-project\llvm\include\llvm/ADT/ilist_iterator.h, line 139
I've attached the logs and full trimmed down source.
Thanks.