]> granicus.if.org Git - clang/commit
UBSan: Fix alignment checks emitted in downcasts.
authorFilipe Cabecinhas <me@filcab.net>
Thu, 8 Aug 2013 01:08:17 +0000 (01:08 +0000)
committerFilipe Cabecinhas <me@filcab.net>
Thu, 8 Aug 2013 01:08:17 +0000 (01:08 +0000)
commit8593e7821c02bd429964d2daf7a6acccb8040fb2
treefa39a2b77123c40610cab1b4c4a07c0f25f1354d
parentb3574796d7cc0113e54b6516fc16e17ca09459fb
UBSan: Fix alignment checks emitted in downcasts.

Summary:
UBSan was checking for alignment of the derived class on the pointer to
the base class, before converting. With some class hierarchies, this could
generate false positives.

Added test-case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187948 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGExpr.cpp
lib/CodeGen/CGExprScalar.cpp
test/CodeGenCXX/catch-undef-behavior.cpp