]> granicus.if.org Git - clang/commit
[pr22293] Don't crash during codegen of a recursive destructor.
authorRafael Espindola <rafael.espindola@gmail.com>
Fri, 23 Jan 2015 05:26:38 +0000 (05:26 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Fri, 23 Jan 2015 05:26:38 +0000 (05:26 +0000)
commit9777bcb5cede0dcbbc67b6402d5e3a4897ab9900
tree6c17b9db3068d04be6f99926dddcc264ea398e07
parent7646e9bd27a2569f650fb7f9ff81e03e5d8d4112
[pr22293] Don't crash during codegen of a recursive destructor.

In ItaniumCXXABI::EmitCXXDestructors we first emit the base destructor
and then try to emit the complete one as an alias.

If in the base ends up calling the complete destructor, the GD for the
complete will be in the list of deferred decl by the time we replace
it with an alias and delete the original GV.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@226896 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CodeGenModule.h
test/CodeGenCXX/ctor-dtor-alias.cpp