This is an archive of the discontinued LLVM Phabricator instance.

Fix for bug 24196: clang fails on assertion on complex doubles multiplication when EH is enabled
AbandonedPublic

Authored by d.zobnin.bugzilla on Sep 30 2015, 5:51 AM.

Details

Reviewers
rjmccall
rsmith
Summary

This patch fixes an assertion failure, caused by EmitCall function producing llvm::InvokeInst* when llvm::CallInst* is needed (when multiplication of complex arguments is being emitted).

Diff Detail

Event Timeline

d.zobnin.bugzilla retitled this revision from to Fix for bug 24196: clang fails on assertion on complex doubles multiplication when EH is enabled.
d.zobnin.bugzilla updated this object.
d.zobnin.bugzilla added a subscriber: cfe-commits.
rjmccall edited edge metadata.Oct 13 2015, 1:49 PM

This is an inappropriate fix for this problem. If these runtime functions can never throw, which seems to be the case, you should create the function type with a no-throw exception specification, which will make EmitCall emit the call with a CallInst. EST_BasicNoexcept should be sufficient.