HomePhabricator

Analyzer: Teach analyzer how to handle TypeTraitExpr

Authored by ismailp on Sep 22 2015, 12:33 PM.

Description

Analyzer: Teach analyzer how to handle TypeTraitExpr

Summary:
TypeTraitExprs are not supported by the ExprEngine today. Analyzer
creates a sink, and aborts the block. Therefore, certain bugs that
involve type traits intrinsics cannot be detected (see PR24710).

This patch creates boolean SVals for TypeTraitExprs, which are
evaluated by the compiler.

Test within the patch is a summary of PR24710.

Reviewers: zaks.anna, dcoughlin, krememek

Subscribers: cfe-commits

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

llvm-svn: 248314