- Jan 26, 2011
-
-
Ted Kremenek authored
after a 'return' in a CFGBlock. This accidentally was working before, but the false assumption that 'return' always appeared at the end of the block was uncovered by a recent change. llvm-svn: 124280
-
Ted Kremenek authored
a warning for uses of an uninitialized variable when the use is a void cast, e.g. (void) x. llvm-svn: 124278
-
John McCall authored
I'm separately committing this because it incidentally changes some block orderings and minor IR issues, like using a phi instead of an unnecessary alloca. llvm-svn: 124277
-
Douglas Gregor authored
llvm-svn: 124276
-
Ken Dyck authored
converting getBaseClassOffsetInBits() to CharUnits. llvm-svn: 124274
-
Argyrios Kyrtzidis authored
[analyzer] Enable the self-init checker under command-line option '-analyzer-check-objc-self-init' which by default is enabled by the driver for '--analyze'. llvm-svn: 124266
-
Argyrios Kyrtzidis authored
Clairvoyance by John! llvm-svn: 124264
-
Argyrios Kyrtzidis authored
llvm-svn: 124263
-
Fariborz Jahanian authored
in default ivar synthesis. Fixes // rdar://8913053. llvm-svn: 124258
-
Argyrios Kyrtzidis authored
llvm-svn: 124249
-
Douglas Gregor authored
llvm-svn: 124247
-
-
-
Argyrios Kyrtzidis authored
Change error "function cannot return array type" -> "blocks cannot return array type" when blocks are involved. Addresses rdar://8876238. llvm-svn: 124242
-
- Jan 25, 2011
-
-
Ted Kremenek authored
handling all CFGElement kinds. While writing the test case, it turned out that return-noreturn.cpp wasn't actually testing anything since it has the wrong -W flag. That uncovered another regression with the handling of destructors marked noreturn. WIP. llvm-svn: 124238
-
Douglas Gregor authored
for reference binding (C++ [over.rank.ics]p3b1sb4), so that we prefer the binding of an lvalue reference to a function lvalue over the binding of an rvalue reference. This change resolves the ambiguity with std::forward and lvalue references to function types in a way that seems consistent with the original rvalue references proposal. My proposed wording for this change is shown in isBetterReferenceBindingKind(); we'll try to get this change adopted in the C++0x working paper as well. llvm-svn: 124236
-
Ted Kremenek authored
llvm-svn: 124235
-
Ted Kremenek authored
about them yet. Fixes crash reported in PR 9049. llvm-svn: 124228
-
Nico Weber authored
llvm-svn: 124227
-
Jeffrey Yasskin authored
authors to write class __attribute__((forbid_temporaries)) Name { ... }; when they want to force users to name all variables of the type. This protects people from doing things like creating a scoped_lock that only lives for a single statement instead of an entire scope. The warning produced by this attribute can be disabled by -Wno-forbid-temporaries. llvm-svn: 124217
-
Douglas Gregor authored
(C++0x [over.ics.rank]p3) when one binding is an lvalue reference and the other is an rvalue reference that binds to an rvalue. In particular, we were using the predict "is an rvalue reference" rather than "is an rvalue reference that binds to an rvalue", which was incorrect in the one case where an rvalue reference can bind to an lvalue: function references. This particular issue cropped up with std::forward, where Clang was picking an std::forward overload while forwarding an (lvalue) reference to a function. However (and unfortunately!), the right answer for this code is that the call to std::forward is ambiguous. Clang now gets that right, but we need to revisit the std::forward implementation in libc++. llvm-svn: 124216
-
Ted Kremenek authored
by ExplodedNodes. This leads to about a 4-8% reduction in memory footprint when analyzing functions in sqlite3. llvm-svn: 124214
-
Ted Kremenek authored
about uninitialized variables captured by blocks. llvm-svn: 124213
-
Ted Kremenek authored
for a block capturing the value of an uninitialized variable. llvm-svn: 124212
-
Douglas Gregor authored
generate meaningful [*] template argument location information. [*] Well, as meaningful as possible, given that this entire code path is a hack for when we've lost type-source information. llvm-svn: 124211
-
Anders Carlsson authored
llvm-svn: 124201
-
Douglas Gregor authored
during template instantiation. This code needs to eventually die, but this little tweak fixes PR8629, where bad location information slipped through to the location of a class template instantiation. llvm-svn: 124199
-
Douglas Gregor authored
T) when taking the address of an overloaded function or matching a specialization to a template (C++0x [temp.deduct.type]p10). Fixes PR9044. llvm-svn: 124197
-
Douglas Gregor authored
derived-to-base conversion, set the cast kind and base path appropriately. llvm-svn: 124189
-
John McCall authored
attributes for the benefit of the static analyzer. llvm-svn: 124174
-
Douglas Gregor authored
and turn on __has_feature(cxx_rvalue_references). The core rvalue references proposal seems to be fully implemented now, pending lots more testing. llvm-svn: 124169
-
Argyrios Kyrtzidis authored
We translate property accesses to obj-c messages by simulating "loads" or "stores" to properties using a pseudo-location SVal kind (ObjCPropRef). Checkers can now reason about obj-c messages for both explicit message expressions and implicit messages due to property accesses. llvm-svn: 124161
-
Argyrios Kyrtzidis authored
[analyzer] Introduce ExprEngine::VisitObjCMessage for handling general ObjCMessages (both message expressions and property access) and use it in ExprEngine::VisitObjCMessageExpr. llvm-svn: 124160
-
Argyrios Kyrtzidis authored
[analyzer] Introduce ObjCMessage which represents both explicit ObjC message expressions and implicit messages that are sent for handling properties in dot syntax. Replace all direct uses of ObjCMessageExpr in the checkers and checker interface with ObjCMessage. llvm-svn: 124159
-
Argyrios Kyrtzidis authored
llvm-svn: 124158
-
Argyrios Kyrtzidis authored
[analyzer] Simplify GetReceiverType function in BasicObjCFoundationChecks.cpp; no functionality change. llvm-svn: 124157
-
Eric Christopher authored
llvm-svn: 124153
-
- Jan 24, 2011
-
-
Anton Yartsev authored
llvm-svn: 124146
-
Nick Lewycky authored
as useful in a templated context as it is without templates. Fixes PR8755! llvm-svn: 124136
-
Douglas Gregor authored
Wennborg! Fixes PR8295. llvm-svn: 124135
-