e35cd962a6
This commit changes drop glue generated for structs to use the invoke LLVM instruction instead of call. What this means is that if the user destructor triggers an unwinding, then the fields of the struct will still ge dropped. This is not an attempt to support failing while failing, as that's mostly a problem of runtime support. This is more of an issue of soundness in making sure that destructors are appropriately run. The test included fails before this commit, and only has one call to fail!(), yet it doesn't destroy its struct fields. |
||
---|---|---|
.. | ||
auxiliary | ||
bench | ||
codegen | ||
compile-fail | ||
debug-info | ||
pretty | ||
run-fail | ||
run-pass | ||
run-pass-fulldeps |