| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
This is an additional test for r161349 (ignoring 10.8's annotations for
NSMakeCollectable).
llvm-svn: 161380
|
| |
|
|
|
|
|
|
| |
just let the alignment be zero.
PR13531
llvm-svn: 161379
|
| |
|
|
|
|
|
|
|
|
|
| |
they are errors, not warnings.
Only warnings should be in warning groups. This was causing an assertion failure in
code using pragmas to map -Wignored-attributes to ignored, but this kind of
diagnostic mapping is disallowed for builtin errors. We should just wire
up tablegen to reject errors being in diagnostic groups.
llvm-svn: 161376
|
| |
|
|
|
|
| |
the ASTContext BumpPtr. Also use the preferred llvm::ArrayRef interface.
llvm-svn: 161373
|
| |
|
|
| |
llvm-svn: 161372
|
| |
|
|
| |
llvm-svn: 161369
|
| |
|
|
|
|
|
|
| |
that we attach the lost qualifiers.
Fixes rdar://11882155
llvm-svn: 161368
|
| |
|
|
| |
llvm-svn: 161367
|
| |
|
|
|
|
|
| |
Dynamic type inference does the right thing in this case. However, as
Jordan suggested, it would be nice to add a warning here as well.
llvm-svn: 161365
|
| |
|
|
|
|
| |
// rdar://6505197
llvm-svn: 161362
|
| |
|
|
|
|
| |
command, for example: \tparam\brief.
llvm-svn: 161361
|
| |
|
|
|
|
|
|
| |
I currently have a bit of redundancy with the cast kind switch statement
inside the ImplicitCast callback, but I might be adding more casts going
forward.
llvm-svn: 161358
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Instead of sprinkling dynamic type info propagation throughout
ExprEngine, the added checker would add the more precise type
information on known APIs (Ex: ObjC alloc, new) and propagate
the type info in other cases (ex: ObjC init method, casts (the second is
not implemented yet)).
Add handling of ObjC alloc, new and init to the checker.
llvm-svn: 161357
|
| |
|
|
|
|
|
|
|
| |
The one caller that's surrounded by nearby code manipulating the underlying
evaluation context list is left unmodified for readability.
Review by Sean Silva and Richard Smith.
llvm-svn: 161355
|
| |
|
|
| |
llvm-svn: 161352
|
| |
|
|
|
|
|
|
|
| |
No functionality change, but from now on, any new path notes should be
tested both with plain-text output (for ease of human auditing) and with
plist output (to ensure control flow and events are being correctly
represented in Xcode).
llvm-svn: 161351
|
| |
|
|
| |
llvm-svn: 161350
|
| |
|
|
|
|
|
|
|
|
| |
The frameworks correctly use the 'cf_consumed' and 'ns_returns_retained'
attributes for NSMakeCollectable, but we can model the behavior under
garbage collection more precisely than that.
No functionality change.
llvm-svn: 161349
|
| |
|
|
|
|
|
| |
in duplicate -Wuninitialized warnings. Change so that only the check in
TryConstructorInitialization() will be used and a single warning be emitted.
llvm-svn: 161345
|
| |
|
|
| |
llvm-svn: 161343
|
| |
|
|
|
|
| |
change intended. No test case as there's no real way to test at this time.
llvm-svn: 161342
|
| |
|
|
|
|
| |
The patch reviewed by Akira Hatanaka.
llvm-svn: 161333
|
| |
|
|
| |
llvm-svn: 161331
|
| |
|
|
| |
llvm-svn: 161330
|
| |
|
|
|
|
|
|
|
|
| |
Doxygen manual claims that multiple \brief or \returns commands will be merged
together, but actual behavior is different (second \brief command becomes a
part of a discussion, second \returns becomes a "Returns: blah" paragraph on
its own). Anyway, it seems to be a bad idea to use multiple \brief or \returns
commands in a single command.
llvm-svn: 161325
|
| |
|
|
|
|
| |
ObjC methods.
llvm-svn: 161324
|
| |
|
|
|
|
| |
properly.
llvm-svn: 161319
|
| |
|
|
|
|
|
|
|
|
| |
'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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
been defined.
llvm-svn: 161315
|
| |
|
|
|
|
| |
intrinsic.
llvm-svn: 161310
|
| |
|
|
| |
llvm-svn: 161303
|
| |
|
|
|
|
|
| |
We can be in the situation where we did not track the symbol before
realloc was called on it.
llvm-svn: 161294
|
| |
|
|
|
|
|
| |
resulting in issuance of unused static variable
warning now. // rdar://10777111
llvm-svn: 161291
|
| |
|
|
|
|
| |
This should fix the failing test on the buildbot as well.
llvm-svn: 161290
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 161287
|
| |
|
|
| |
llvm-svn: 161286
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 161279
|
| |
|
|
| |
llvm-svn: 161278
|
| |
|
|
| |
llvm-svn: 161277
|
| |
|
|
|
|
|
|
|
|
|
| |
The visitor walks back through the ExplodedGraph as expected, but
it wasn't actually keeping track of when a value was assigned. This
meant that it only worked when the value was assigned when the variable
was defined.
Tests in the next commit (dependent on another change).
llvm-svn: 161276
|
| |
|
|
|
|
|
| |
This only applies in the case where ->* is not overloaded, since it
specifically looks for BinaryOperator and not CXXOperatorCallExpr.
llvm-svn: 161275
|
| |
|
|
| |
llvm-svn: 161274
|
| |
|
|
| |
llvm-svn: 161266
|
| |
|
|
| |
llvm-svn: 161265
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
the function returns void.
llvm-svn: 161261
|