| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 203804
|
| |
|
|
|
|
| |
iterator_range bases(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203803
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This check hints clang analyzer, that FormatTok may be null, and it
reports a null pointer dereference error:
http://buildd-clang.debian.net/scan-build/report-827c64.html#Path28
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D3040
llvm-svn: 203800
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was leading to bad formatting, e.g.:
Before:
f(^{
@autoreleasepool {
if (a) {
g();
}
}
});
After:
f(^{
@autoreleasepool {
if (a) {
g();
}
}
});
llvm-svn: 203777
|
| |
|
|
|
|
| |
class.
llvm-svn: 203769
|
| |
|
|
|
|
| |
override anything.
llvm-svn: 203764
|
| |
|
|
| |
llvm-svn: 203759
|
| |
|
|
|
|
| |
class.
llvm-svn: 203758
|
| |
|
|
|
|
| |
class.
llvm-svn: 203746
|
| |
|
|
| |
llvm-svn: 203742
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
const-qualified parameter type and the defined with a non-const-qualified
parameter type, the parameter is not const inside its body. Ensure that
the type we use when instantiating the body is the right one. Patch by
suyog sarda!
This is still rather unsatisfactory; it seems like it might be better to
instantiate at least the function parameters, and maybe the complete function
declaration, when we instantiate the definition for such a member function
(instead of reusing the declaration from inside the instantiated class
definition).
llvm-svn: 203741
|
| |
|
|
|
|
|
| |
that implicitly converts to 'bool' (such as pointers, and the first operand of
?:). Clean up issues found by this. Patch by Stephan Tolksdorf!
llvm-svn: 203735
|
| |
|
|
|
|
|
| |
Based on a patch and test by Stephan Tolksdorf! Refactoring and fixing adjacent
brokenness by me.
llvm-svn: 203733
|
| |
|
|
| |
llvm-svn: 203722
|
| |
|
|
| |
llvm-svn: 203715
|
| |
|
|
|
|
|
|
| |
They're already defined in ia32intrin.h, and this would cause including Intrin.h
in 64-bit mode to fail because of conflicting types. Update ms-intrin.cpp to
also run in 64-bit mode to catch things like this.
llvm-svn: 203714
|
| |
|
|
|
|
|
|
|
| |
I've clearly done something wrong with how to get this to link
correctly. Reverting for now.
This reverts commit r203711.
llvm-svn: 203712
|
| |
|
|
|
|
|
|
| |
This updates CodeGenPGO to use the ProfileDataReader introduced to
llvm in r203703 and the new API for writing out the profile introduced
to compiler-rt in r203710.
llvm-svn: 203711
|
| |
|
|
|
|
| |
Newer FreeBSD doesnt ship with gcc and defaults to using libc++.
llvm-svn: 203700
|
| |
|
|
|
|
| |
in an @selector expression. // rdar://15794055
llvm-svn: 203693
|
| |
|
|
|
|
| |
pointer-to-member-function call.
llvm-svn: 203691
|
| |
|
|
| |
llvm-svn: 203689
|
| |
|
|
|
|
| |
performing auto type deduction.
llvm-svn: 203683
|
| |
|
|
|
|
| |
Follow-up on LLVM r203669
llvm-svn: 203673
|
| |
|
|
|
|
| |
This is a follow-up to r203624 to address Anton's comment.
llvm-svn: 203668
|
| |
|
|
|
|
|
|
|
|
| |
When a struct has bitfields overlapping with other members
(as required by the AAPCS), clang uses a packed struct to
represent this. If such a struct is large enough for clang to
pass it as a byval pointer (>64 bytes), we need to set the
alignment of the argument to match the original type.
llvm-svn: 203660
|
| |
|
|
|
|
|
|
|
|
| |
Caused by unknown tokens (e.g. "\n") not properly updating the state.
Example:
const char* c = STRINGIFY(
\na : b);
llvm-svn: 203645
|
| |
|
|
|
|
| |
class.
llvm-svn: 203643
|
| |
|
|
|
|
| |
class.
llvm-svn: 203641
|
| |
|
|
|
|
| |
class.
llvm-svn: 203640
|
| |
|
|
|
|
|
| |
Reduce the stack usage as hopefully include paths are usually not too long. Add
a test case for the path normalisation behaviour.
llvm-svn: 203632
|
| |
|
|
|
|
|
|
| |
When enabled, always validate the system headers when loading a module.
The end result of this is that when these headers change, we will notice
and rebuild the module.
llvm-svn: 203630
|
| |
|
|
| |
llvm-svn: 203628
|
| |
|
|
|
|
|
|
|
|
| |
Normalise the path separator character on non-windows platforms. Although this
would work on Windows as well (most newer versions of Windows support either '/'
or '\' as a path separator character), it could potentially cause problems with
full UNC paths. This change enables the use of the Windows SDK on Linux which
will not accept '\' as a path separator.
llvm-svn: 203614
|
| |
|
|
| |
llvm-svn: 203603
|
| |
|
|
|
|
| |
as it can commonly happen. // rdar://16261494
llvm-svn: 203598
|
| |
|
|
|
|
|
|
|
| |
PGO counters are 64-bit and branch weights are 32-bit. Scale them down
when necessary, instead of just taking the lower 32 bits.
<rdar://problem/16276448>
llvm-svn: 203592
|
| |
|
|
| |
llvm-svn: 203588
|
| |
|
|
|
|
|
| |
when a class adopts a protocol that inherits from
undefined protocols. // rdar://16111182
llvm-svn: 203586
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Like the binary operator check of r201702, this actually checks the
condition of every if in a chain against every other condition, an
O(N^2) operation. In most cases N should be small enough to make this
practical, and checking all cases like this makes it much more likely
to catch a copy-paste error within the same series of branches.
Part of IdenticalExprChecker; patch by Daniel Fahlgren!
llvm-svn: 203585
|
| |
|
|
|
|
| |
the parameter list wasn't present.
llvm-svn: 203565
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Someone could write:
if (0) {
__c11_atomic_load(ptr, memory_order_release);
}
or the equivalent, which is perfectly valid, so we shouldn't outright reject
invalid orderings on purely static grounds.
rdar://problem/16242991
llvm-svn: 203564
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
auto aaaaaaaa = [](int i, // break
int j)
-> int {
return fffffffffffffffffffffffffffffffffffffff(i * j);
};
After:
auto aaaaaaaa = [](int i, // break
int j) -> int {
return fffffffffffffffffffffffffffffffffffffff(i * j);
};
llvm-svn: 203562
|
| |
|
|
|
|
|
|
|
| |
This is a conservative check, because it's valid for the expression to be
non-constant, and in cases like that we just don't know whether it's valid.
rdar://problem/16242991
llvm-svn: 203561
|
| |
|
|
|
|
| |
rdar://problem/15996804
llvm-svn: 203560
|
| |
|
|
|
|
|
|
|
|
| |
Before:
int i = (*b)[a] -> f();
After:
int i = (*b)[a]->f();
llvm-svn: 203557
|
| |
|
|
|
|
|
|
|
|
| |
Before:
int i = a[a][a] -> f();
After:
int i = a[a][a]->f();
llvm-svn: 203556
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
void f() {
MACRO((const AA & a) { return 1; });
}
After:
void f() {
MACRO((const AA &a) { return 1; });
}
llvm-svn: 203551
|
| |
|
|
|
|
| |
ready for this yet.
llvm-svn: 203548
|
| |
|
|
|
|
| |
class.
llvm-svn: 203547
|