]> granicus.if.org Git - clang/commit
Fix for clang memcpyizer bugs 23911 and 23924 (patch by Denis Zobnin)
authorAlexey Bataev <a.bataev@hotmail.com>
Tue, 14 Jul 2015 07:55:48 +0000 (07:55 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Tue, 14 Jul 2015 07:55:48 +0000 (07:55 +0000)
commit94436b9e9d3b3fea8166f8917af0792d38e1ee16
tree7703f9dea8019a7f9f0ac7263d25ef79b868fcac
parente2695b039ea365a935f3983768b620af17ee57c0
Fix for clang memcpyizer bugs 23911 and 23924 (patch by Denis Zobnin)

The fix is to remove duplicate copy-initialization of the only memcpy-able struct member and to correct the address of aggregately initialized members in destructors' calls during stack unwinding (in order to obtain address of struct member by using GEP instead of 'bitcast').
Differential Revision: http://reviews.llvm.org/D10990

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@242127 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGClass.cpp
test/CodeGenCXX/eh-aggregated-inits-unwind.cpp [new file with mode: 0644]
test/CodeGenCXX/eh-aggregated-inits.cpp [new file with mode: 0644]