]> granicus.if.org Git - clang/commit
Bundle conditions checked by UBSan with sanitizer kinds they implement.
authorAlexey Samsonov <vonosmas@gmail.com>
Tue, 11 Nov 2014 22:03:54 +0000 (22:03 +0000)
committerAlexey Samsonov <vonosmas@gmail.com>
Tue, 11 Nov 2014 22:03:54 +0000 (22:03 +0000)
commit07f5b04be7e51fa08d0c263728d069572b497b97
tree1a1659ab55255f9b7783592889975e7fcf65776a
parent41d917703018e3e316eab5155e12722c153fb705
Bundle conditions checked by UBSan with sanitizer kinds they implement.

Summary:
This change makes CodeGenFunction::EmitCheck() take several
conditions that needs to be checked (all of them need to be true),
together with sanitizer kinds these checks are for. This would allow
to split one call into UBSan runtime into several calls in case
different sanitizer kinds would have different recoverability
settings.

Tests should be fixed accordingly, I'm working on it.

Test Plan: regression test suite.

Reviewers: rsmith

Reviewed By: rsmith

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D6219

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