]> granicus.if.org Git - clang/commit
CFI: blacklist STL allocate() from unrelated-casts
authorVlad Tsyrklevich <vlad@tsyrklevich.net>
Fri, 4 Aug 2017 19:10:11 +0000 (19:10 +0000)
committerVlad Tsyrklevich <vlad@tsyrklevich.net>
Fri, 4 Aug 2017 19:10:11 +0000 (19:10 +0000)
commit09737a9680a491da31b76d398de09213f8f1c89d
tree8f662a00a969a87f6edee4178960dddbc6fb8444
parent46512077fc202c45d3aefe0bc820b47c85392132
CFI: blacklist STL allocate() from unrelated-casts

Summary:
Previously, STL allocators were blacklisted in compiler_rt's
cfi_blacklist.txt because they mandated a cast from void* to T* before
object initialization completed. This change moves that logic into the
front end because C++ name mangling supports a substitution compression
mechanism for symbols that makes it difficult to blacklist the mangled
symbol for allocate() using a regular expression.

Motivated by crbug.com/751385.

Reviewers: pcc, kcc

Reviewed By: pcc

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D36294

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@310097 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CodeGenFunction.cpp
test/CodeGen/cfi-unrelated-cast.cpp [new file with mode: 0644]