hanchenye-llvm-project/clang/lib/Analysis
Jordan Rose 5374c07ab9 Omit arguments of __builtin_object_size from the CFG.
This builtin does not actually evaluate its arguments for side effects,
so we shouldn't include them in the CFG. In the analyzer, rely on the
constant expression evaluator to get the proper semantics, at least for
now. (In the future, we could get ambitious and try to provide path-
sensitive size values.)

In theory, this does pose a problem for liveness analysis: a variable can
be used within the __builtin_object_size argument expression but not show
up as live. However, it is very unlikely that such a value would be used
to compute the object size and not used to access the object in some way.

<rdar://problem/14760817>

llvm-svn: 188679
2013-08-19 16:27:28 +00:00
..
AnalysisDeclContext.cpp [analyzer] Include analysis stack in crash traces. 2013-07-19 00:59:08 +00:00
BodyFarm.cpp Replace ArrayRef<T>() with None, now that we have an implicit ArrayRef constructor from None 2013-05-05 00:41:58 +00:00
BodyFarm.h Include llvm::Optional in clang/Basic/LLVM.h 2013-02-20 22:23:23 +00:00
CFG.cpp Omit arguments of __builtin_object_size from the CFG. 2013-08-19 16:27:28 +00:00
CFGReachabilityAnalysis.cpp
CFGStmtMap.cpp Remove the CFGElement "Invalid" state. 2013-02-23 00:29:34 +00:00
CMakeLists.txt Patch by Chris Wailes <chris.wailes@gmail.com>. 2013-08-12 21:20:55 +00:00
CallGraph.cpp [analyzer] Fix typos. 2012-12-21 17:27:04 +00:00
CocoaConventions.cpp Excise <cctype> from Clang (except clang-tblgen) in favor of CharInfo.h. 2013-02-08 22:30:41 +00:00
Consumed.cpp Silence a warning from MSVC about not returning a value 2013-08-13 00:11:59 +00:00
Dominators.cpp Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:48:34 +00:00
FormatString.cpp Add support for __wchar_t in -fms-extensions mode. 2013-05-10 10:08:40 +00:00
FormatStringParsing.h Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
LiveVariables.cpp Remove the CFGElement "Invalid" state. 2013-02-23 00:29:34 +00:00
Makefile
ObjCNoReturn.cpp clang/lib/Analysis/ObjCNoReturn.cpp: Fix [-Wnewline-eof] 2012-09-13 05:53:17 +00:00
PostOrderCFGView.cpp Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:48:34 +00:00
PrintfFormatString.cpp Add support for __wchar_t in -fms-extensions mode. 2013-05-10 10:08:40 +00:00
ProgramPoint.cpp [analyzer] Run remove dead bindings right before leaving a function. 2012-04-20 21:59:08 +00:00
PseudoConstantAnalysis.cpp Drop the ASTContext.h include from Stmt.h and fix up transitive users. 2012-07-04 17:04:04 +00:00
ReachableCode.cpp Properly track l-paren of a CXXFucntionalCastExpr. 2013-08-15 22:02:56 +00:00
ScanfFormatString.cpp Add support for __wchar_t in -fms-extensions mode. 2013-05-10 10:08:40 +00:00
ThreadSafety.cpp Thread Safety Analysis: fix bug when using TryLock with && and || expressions. 2013-08-15 23:06:33 +00:00
UninitializedValues.cpp Remove unused, awkward CFGStmtVisitor and subclasses. 2013-05-15 23:22:55 +00:00