| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 160481
|
| |
|
|
|
|
|
| |
TextComment node was considered whitespace even if it contained other child
nodes.
llvm-svn: 160474
|
| |
|
|
|
|
|
|
| |
Panzer. I've not been able to trigger a failure caused by this, so no test yet.
Also included is a small change from Paul Robinson to only consider the
FailureKind if the overload candidate did actually fail.
llvm-svn: 160470
|
| |
|
|
| |
llvm-svn: 160467
|
| |
|
|
|
|
| |
line of whitespace.
llvm-svn: 160464
|
| |
|
|
|
|
|
|
|
|
|
|
| |
As pointed out by Anna, we only differentiate between explicit message sends
This also adds support for ObjCSubscriptExprs, which are basically the same
as properties in many ways. We were already checking these, but not emitting
nice messages for them.
This depends on the llvm::PointerIntPair change in r160456.
llvm-svn: 160461
|
| |
|
|
|
|
|
|
|
| |
Per Anna's comment that "add..." sounds like a method that modifies
the receiver, rather than its argument.
No functionality change.
llvm-svn: 160460
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We will need to be able to easily reconstruct a CallEvent from an ExplodedNode
for diagnostic purposes, and that's exactly what factory functions are for.
CallEvent objects are small enough (four pointers and a SourceLocation) that
returning them through the stack is fairly cheap. Clients who just need to use
existing CallEvents can continue to do so using const references.
This uses the same sort of "kind-field-dispatch" as SVal, though most of the
nastiness is contained in the DISPATCH and DISPATCH_ARG macros at the end of
the file. (We can't use a template for this because member-pointers to base
class methods don't call derived-class methods even when casting to the
derived class. We can't use variadic macros because they're a C99 feature.)
llvm-svn: 160459
|
| |
|
|
|
|
|
|
|
|
|
| |
ObjC properties are handled through their semantic form of ObjCMessageExprs
and their wrapper PseudoObjectExprs, and have been for quite a while. The
syntactic ObjCPropertyRefExprs do not appear in the CFG and are not visited
by ExprEngine.
No functionality change.
llvm-svn: 160458
|
| |
|
|
| |
llvm-svn: 160457
|
| |
|
|
| |
llvm-svn: 160453
|
| |
|
|
| |
llvm-svn: 160452
|
| |
|
|
|
|
|
|
|
|
| |
This enables the faster SmallVector in clang and also allows clang's unused
variable warnings to be more effective. Fix the two instances that popped up.
The RetainCountChecker change actually changes functionality, it would be nice
if someone from the StaticAnalyzer folks could look at it.
llvm-svn: 160444
|
| |
|
|
|
|
|
|
|
|
|
|
| |
despite __attribute__(__used__). As explained by Argyrios,
> .a archive files do some stripping of their own and they remove .o files that
> contain functions that are not referenced by any other .o file.
The fix is to use these functions from another .o file.
Thanks, Argyrios!
llvm-svn: 160437
|
| |
|
|
| |
llvm-svn: 160432
|
| |
|
|
|
|
|
|
|
|
| |
references
(in uses of dynamic_cast<>).
Fixes <rdar://problem/11817693>.
llvm-svn: 160427
|
| |
|
|
|
|
| |
types. Fixes crash in <rdar://problem/11671507>.
llvm-svn: 160424
|
| |
|
|
|
|
|
|
| |
be defined as deleted, take cv-qualifiers on class members into account when
looking up the copy or move constructor or assignment operator which will be
used for them.
llvm-svn: 160418
|
| |
|
|
|
|
|
| |
constructor will be used for moving that object, in the computation of its
exception specification.
llvm-svn: 160417
|
| |
|
|
|
|
|
|
|
|
|
| |
and a function template instantiation, if there's a parameter pack in the
declaration and one at the same place in the instantiation, don't assume that
the pack wasn't expanded -- it may have expanded to nothing. Instead, go ahead
and check whether the parameter pack was expandable. We can do this as a
side-effect of the work we'd need to do anyway, to find how many parameters
were produced.
llvm-svn: 160416
|
| |
|
|
| |
llvm-svn: 160414
|
| |
|
|
|
|
|
|
| |
[temp.deduct.call]p4 under Objective-C++ ARC, make sure to adjust the
qualifiers to introduce the implicit strong lifetime when
needed. Fixes <rdar://problem/11825671>.
llvm-svn: 160412
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
intrinsics. The second instruction(s) to be handled are the vector versions
of count set bits (ctpop).
The changes here are to clang so that it generates a target independent
vector ctpop when it sees an ARM dependent vector bits set count. The changes
in llvm are to match the target independent vector ctpop and in
VMCore/AutoUpgrade.cpp to update any existing bc files containing ARM
dependent vector pop counts with target-independent ctpops. There are also
changes to an existing test case in llvm for ARM vector count instructions and
to a test for the bitcode upgrade.
<rdar://problem/11892519>
There is deliberately no test for the change to clang, as so far as I know, no
consensus has been reached regarding how to test neon instructions in clang;
q.v. <rdar://problem/8762292>
llvm-svn: 160409
|
| |
|
|
|
|
| |
completions. Fixes <rdar://problem/11889572>.
llvm-svn: 160407
|
| |
|
|
|
|
| |
can be found with quoted strings instead. Implements PR13201.
llvm-svn: 160406
|
| |
|
|
|
|
|
|
|
|
| |
given declaration.
It is based on the observation that during parsing the comment that should be
attached to the decl is usually among the last two documentation comments
parsed.
llvm-svn: 160400
|
| |
|
|
| |
llvm-svn: 160396
|
| |
|
|
|
|
|
| |
better. Fixes <rdar://problem/11466212>; the test (and back-ported
version of this code) were committed to LLDB in r160186.
llvm-svn: 160395
|
| |
|
|
|
|
| |
constant evaluation. <rdar://problem/11874571>.
llvm-svn: 160394
|
| |
|
|
|
|
| |
Fixes pr13353.cpp.
llvm-svn: 160393
|
| |
|
|
| |
llvm-svn: 160388
|
| |
|
|
| |
llvm-svn: 160383
|
| |
|
|
|
|
|
| |
Due to performance cost, this is an opt-in option placed
under -Wassign-enum. // rdar://11824807
llvm-svn: 160382
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Checks against nil often appear as guards in macros, and comparing
Objective-C literals to nil has well-defined behavior (if tautological).
On OS X, 'nil' has not been typed as 'id' since 10.6 (possibly earlier),
so the warning was already not firing, but other runtimes continue to use
((id)0) or some variant. This change accepts comparisons to any null pointer;
to keep it simple, it looks through all casts (not just casts to 'id').
PR13276
llvm-svn: 160379
|
| |
|
|
|
|
|
|
|
| |
Suggested by Ted, since string literal comparison is at least slightly more
sensible than comparison of runtime literals. (Ambiguous language on
developer.apple.com implies that strings are guaranteed to be uniqued within
a translation unit and possibly across a linked binary.)
llvm-svn: 160378
|
| |
|
|
|
|
|
|
| |
Recovering as if the user had actually called -isEqual: is a bit too far from
the semantics of the program as written, /even though/ it's probably what they
intended.
llvm-svn: 160377
|
| |
|
|
|
|
|
| |
This code has been moved around multiple times, but seems to have been
obsolete ever since we started handled references like pointers.
llvm-svn: 160375
|
| |
|
|
|
|
| |
to forward to the correct function.
llvm-svn: 160373
|
| |
|
|
|
|
| |
CustomCompilationDatabase.h
llvm-svn: 160369
|
| |
|
|
|
|
|
| |
is a bit fuzzy, but matches gcc behavior and existing code bases seem to
depend on it.
llvm-svn: 160364
|
| |
|
|
|
|
| |
buildbot failures.
llvm-svn: 160355
|
| |
|
|
| |
llvm-svn: 160353
|
| |
|
|
|
|
|
| |
ASTMatchers (lower level abstraction) to Tooling (higher level
abstraction).
llvm-svn: 160351
|
| |
|
|
|
|
|
| |
It now accepts an arbitrary inner matcher but is fully backwards
compatible.
llvm-svn: 160348
|
| |
|
|
|
|
|
|
|
|
|
| |
- lib/Driver/Driver.cpp, tools/driver/driver.cpp: Exit status should not be propagated, although clang driver should catch exceptions.
- test/Driver/crash-report.c: Add REQUIRES:shell for now.
FIXME: setenv should work also on Lit.InternalShellRunner.
- test/Driver/crash-report.c: Remove XFAIL.
Thanks to Chad, To point out the issue.
llvm-svn: 160343
|
| |
|
|
|
|
| |
to build a type before seeing the definition.
llvm-svn: 160339
|
| |
|
|
|
|
|
| |
* Treat compound assignment as a use, at Jordy's request.
* Always add compound assignments into the CFG, so we can correctly diagnose the use in 'return x += 1;'
llvm-svn: 160334
|
| |
|
|
|
|
|
|
|
|
| |
use out of TransferFunctions, and compute it in advance rather than on-the-fly.
This allows us to handle compound assignments with DeclRefExprs on the RHS
correctly, and also makes it trivial to treat const& function parameters as not
initializing the argument. The patch also makes both of those changes.
llvm-svn: 160330
|
| |
|
|
|
|
| |
<rdar://problem/11818967>
llvm-svn: 160328
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This code is very sensitive to the difference between "columns" as printed
and "bytes" (SourceManager columns). All variables are now named explicitly
and our assumptions are (hopefully) documented as both comment and assertion.
Whether parseable fixits should use byte offsets or Unicode character counts
is pending discussion on the mailing list; currently the implementation uses
bytes (and has no problems on lines containing multibyte characters).
This has been added to the user manual.
<rdar://problem/11877454>
llvm-svn: 160319
|