- Aug 06, 2012
-
-
Dmitri Gribenko authored
ObjC methods. llvm-svn: 161324
-
Craig Topper authored
llvm-svn: 161319
-
Richard Smith authored
'clang-cpp'. For now, the test uses "REQUIRES: shell" to determine if the host system supports "ln -s", which it uses to create a 'clang-cpp' symlink. This is a bit hacky and should likely be directly supported by lit.cfg. llvm-svn: 161317
-
Richard Smith authored
we know whether the function is virtual. But check it as soon as we do know; in some cases we don't need to wait for an instantiation. llvm-svn: 161316
-
Richard Smith authored
been defined. llvm-svn: 161315
-
Hal Finkel authored
llvm-svn: 161310
-
- Aug 04, 2012
-
-
Anna Zaks authored
We can be in the situation where we did not track the symbol before realloc was called on it. llvm-svn: 161294
-
Fariborz Jahanian authored
resulting in issuance of unused static variable warning now. // rdar://10777111 llvm-svn: 161291
-
Jordan Rose authored
This should fix the failing test on the buildbot as well. llvm-svn: 161290
-
Jordan Rose authored
While there is no such thing as a "null reference" in the C++ standard, many implementations of references (including Clang's) do not actually check that the location bound to them is non-null. Thus unlike a regular null dereference, this will not cause a problem at runtime until the reference is actually used. In order to catch these cases, we need to not prune out paths on which the input pointer is null. llvm-svn: 161288
-
Jordan Rose authored
Like base constructors, delegating constructors require no further processing in the CFGInitializer node. Also, add PrettyStackTraceLoc to the initializer and destructor logic so we can get better stack traces in the future. llvm-svn: 161283
-
Jordan Rose authored
Because of this, we would previously emit NO path notes when a parameter is constrained to null (because there are no stores). Now we show where we made the assumption, which is much more useful. llvm-svn: 161280
-
Jordan Rose authored
llvm-svn: 161279
-
Jordan Rose authored
llvm-svn: 161278
-
Jordan Rose authored
This only applies in the case where ->* is not overloaded, since it specifically looks for BinaryOperator and not CXXOperatorCallExpr. llvm-svn: 161275
-
Jordan Rose authored
llvm-svn: 161274
-
- Aug 03, 2012
-
-
Anna Zaks authored
In the following code, find the type of the symbolic receiver by following it and updating the dynamic type info in the state when we cast the symbol from id to MyClass *. MyClass *a = [[self alloc] init]; return 5/[a testSelf]; llvm-svn: 161264
-
Dmitri Gribenko authored
the function returns void. llvm-svn: 161261
-
Richard Smith authored
Fix crash if a literal operator template's template parameter pack is not a non-type template parameter pack. Patch by Andy Gibbs! llvm-svn: 161260
-
Anna Zaks authored
There is no reason why we should not track the memory which was not allocated in the current function, but was freed there. This would allow to catch more use-after-free and double free with no/limited IPA. Also fix a realloc issue which surfaced as the result of this patch. llvm-svn: 161248
-
Benjamin Kramer authored
llvm-svn: 161243
-
Benjamin Kramer authored
llvm-svn: 161237
-
Benjamin Kramer authored
By C++ standard, the vtable should be generated if the first non-inline virtual function is defined in the TU. Current version of clang doesn't generate vtable if the first virtual function is defaulted, because the key function is regarded as the defaulted function. Patch by Li Kan! llvm-svn: 161236
-
Anna Zaks authored
engine. The code that was supposed to split the tie in a deterministic way is not deterministic. Most likely one of the profile methods uses a pointer. After this change we do finally get the consistent diagnostic output. Testing this requires running the analyzer on large code bases and diffing the results. llvm-svn: 161224
-
- Aug 02, 2012
-
-
Dmitri Gribenko authored
templates. llvm-svn: 161215
-
Jordan Rose authored
There's still more work to be done here; this doesn't catch reference parameters or return values. But it's a step in the right direction. Part of <rdar://problem/11212286>. llvm-svn: 161214
-
Dmitri Gribenko authored
llvm-svn: 161211
-
Fariborz Jahanian authored
// rdar://11913153 llvm-svn: 161194
-
Fariborz Jahanian authored
objects used as dictionary subscript objects. // rdar://11913153 llvm-svn: 161187
-
Nuno Lopes authored
llvm-svn: 161172
-
Hans Wennborg authored
Use "%clang_cc1" vs "not %clang_cc1" instead. Also use -fsyntax-only. llvm-svn: 161165
-
Eli Friedman authored
llvm-svn: 161148
-
Dmitri Gribenko authored
llvm-svn: 161145
-
Dmitri Gribenko authored
comment being tested. llvm-svn: 161144
-
Dmitri Gribenko authored
llvm-svn: 161142
-
- Aug 01, 2012
-
-
Eli Friedman authored
Fix an assertion failure instantiating a constexpr function from within a -dealloc method. PR13401. llvm-svn: 161135
-
Hans Wennborg authored
This fixes PR13502 and adds a test to keep track of which targets support TLS and which do not. llvm-svn: 161124
-
Nuno Lopes authored
llvm-svn: 161119
-
Manuel Klimek authored
llvm-svn: 161106
-
John McCall authored
don't explode if the offset we get is zero. This can happen if you have an empty virtual base class. While I'm at it, remove an unnecessary block from the IR-generation of the null-check, mark the eventual GEP as inbounds, and generally prettify. llvm-svn: 161100
-