llvm-project/clang/lib
Ismail Pazarbasi d60db64e7d Analyzer: Teach analyzer how to handle TypeTraitExpr
Summary:
`TypeTraitExpr`s 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 `SVal`s for `TypeTraitExpr`s, 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
2015-09-22 19:33:15 +00:00
..
ARCMigrate Fix a small bug in clang where generating some temporary files would have an extra period before the extension. 2015-09-09 16:48:47 +00:00
AST [CUDA] Allow parsing of host and device code simultaneously. 2015-09-22 17:23:22 +00:00
ASTMatchers Rename AST node matchers to match the AST node names directly. Part of this rename also splits recordDecl() (which used to match CXXRecordDecl) into recordDecl() (that matches RecordDecl) and cxxRecordDecl (that matches CXXRecordDecl). Also adds isStruct(), isUnion(), and isClass() narrowing matchers for RecordDecl objects. 2015-09-17 13:30:52 +00:00
Analysis Thread safety analysis: the NO_THREAD_SAFETY_ANALYSIS attribute will now 2015-09-03 21:14:22 +00:00
Basic [CUDA] Allow parsing of host and device code simultaneously. 2015-09-22 17:23:22 +00:00
CodeGen [CUDA] Allow parsing of host and device code simultaneously. 2015-09-22 17:23:22 +00:00
Driver Augmented CudaHostAction to carry device-side triple. 2015-09-22 17:23:13 +00:00
Edit [Edit] Fix issue with tracking what macro argument inputs have been edited. 2015-09-11 20:09:11 +00:00
Format clang-format: Fix alignConsecutiveAssignments. 2015-09-22 09:32:00 +00:00
Frontend [CUDA] Allow parsing of host and device code simultaneously. 2015-09-22 17:23:22 +00:00
FrontendTool Provide a BuryPointer for unique_ptrs. 2014-08-29 16:53:14 +00:00
Headers ms Intrin.h: Fix __movsw's and __stosw's inline asm. 2015-09-22 00:46:21 +00:00
Index [OpenCL] Add new types for OpenCL 2.0. 2015-09-15 11:18:52 +00:00
Lex [CUDA] Allow parsing of host and device code simultaneously. 2015-09-22 17:23:22 +00:00
Parse [Modules] More descriptive diagnostics for misplaced import directive 2015-09-19 05:32:57 +00:00
Rewrite Make local function isWhitespaceExceptNL static instead of in anonymous namespace 2015-07-28 04:54:03 +00:00
Sema [CUDA] Allow parsing of host and device code simultaneously. 2015-09-22 17:23:22 +00:00
Serialization Refactor ASTReader::getSourceDescriptor(const Module &) into a constructor 2015-09-19 00:10:32 +00:00
StaticAnalyzer Analyzer: Teach analyzer how to handle TypeTraitExpr 2015-09-22 19:33:15 +00:00
Tooling [tooling] Provide the compile commands of the JSON database in the order that they were provided in the JSON file. 2015-09-22 17:22:33 +00:00
CMakeLists.txt Fix build with various feature flag combinations 2014-07-14 22:17:22 +00:00
Makefile Make clang's rewrite engine a core feature 2014-07-16 16:48:33 +00:00