]> granicus.if.org Git - clang/commit
When a failed dynamic_cast<T&> (which is an lvalue) results in a
authorDouglas Gregor <dgregor@apple.com>
Fri, 14 May 2010 21:14:41 +0000 (21:14 +0000)
committerDouglas Gregor <dgregor@apple.com>
Fri, 14 May 2010 21:14:41 +0000 (21:14 +0000)
commit485ee32d93d9f955ef1fb7239a0871c8a68a1867
treeb901dd8e6fb5ddea6b364610cc3b73646cbc61ba
parent5e37d48a4988cb8ff776009876b7fd1a7504b4eb
When a failed dynamic_cast<T&> (which is an lvalue) results in a
throw, it should use invoke when needed. The fixes the
Boost.Statechrt failures that motivated PR7132, but there are a few
side issues to tackle as well.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103803 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGExprCXX.cpp
test/CodeGenCXX/dynamic-cast.cpp
test/CodeGenCXX/dyncast.cpp