| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
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
|
|
|
|
|
|
| |
class.
llvm-svn: 203543
|
|
|
|
|
|
|
|
|
|
| |
framework import (non-absolute path)
then we fail to find it if it is re-included later on.
rdar://16285490
llvm-svn: 203542
|
|
|
|
|
|
| |
overridden itself.
llvm-svn: 203538
|
|
|
|
|
|
| |
class.
llvm-svn: 203537
|
|
|
|
| |
llvm-svn: 203536
|
|
|
|
|
|
|
| |
-Wunused-comparison. Also, newly warn on unused result from overloaded
relational comparisons, now also in -Wunused-comparison.
llvm-svn: 203535
|
|
|
|
|
|
|
| |
already been loaded, apply that update record to the Decl immediately, rather
than adding it to a pending list and never applying it.
llvm-svn: 203534
|
|
|
|
|
|
|
|
| |
to absolute paths when building the includes file for the module. Without this,
the module build would fail, because the relative paths we were using are not
necessarily relative to a directory in our include path.
llvm-svn: 203528
|
|
|
|
|
|
| |
to setting of ObjC linkages. //rdar://16206443
llvm-svn: 203521
|
|
|
|
|
|
| |
to -Wthread-safety.
llvm-svn: 203510
|
|
|
|
| |
llvm-svn: 203507
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, we would always emit them with internal linkage,
but with hidden visibility when the function was hidden, which
is an illegal combination, which could lead LLVM to actually
emit them as strong hidden symbols with hilarious results.
rdar://16265084
llvm-svn: 203503
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
'Expected' should only be modified if the operation fails.
This fixes PR18899.
Reviewers: chandlerc, rsmith, rjmccall
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2922
llvm-svn: 203493
|
|
|
|
|
|
| |
semantics where appropriate.
llvm-svn: 203477
|
|
|
|
|
|
| |
specific_attr_end() with iterator_range specific_attrs(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203474
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Add loc() to the dynamic registry.
Other fixes:
- Fix the polymorphic variant value to accept an exact match, even if
there are other possible conversions.
- Fix specifiesTypeLoc() to not crash on an empty
NestedNameSpecifierLoc.
Reviewers: klimek
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D2928
llvm-svn: 203467
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
void f() {
bar([]() {}// Does not respect SpacesBeforeTrailingComments
);
}
After:
void f() {
bar([]() {} // Does not respect SpacesBeforeTrailingComments
);
}
This fixes llvm.org/PR19017.
llvm-svn: 203466
|
|
|
|
|
|
|
|
| |
instead, per post-commit review feedback.
Replacing llvm::copy changes with SmallVector range-based construction which is a considerably cleaner approach.
llvm-svn: 203461
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
If we need to break the second line here:
// something: aaaaa aaaaa aaaaaa aaaaa aaaaa
// aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa
with the patch it will be turned to
// something: aaaaa aaaaa aaaaaa aaaaa aaaaa
// aaaaa aaaaa aaaaaa aaaaa aaaaa
// aaaaa
instead of
// something: aaaaa aaaaa aaaaaa aaaaa aaaaa
// aaaaa aaaaa aaaaaa aaaaa aaaaa
// aaaaa
Reviewers: djasper, klimek
Reviewed By: klimek
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D2988
llvm-svn: 203458
|
|
|
|
| |
llvm-svn: 203455
|
|
|
|
|
|
|
|
|
|
| |
Before:
int c = []()->int { return 2; }();
After:
int c = []() -> int { return 2; }();
llvm-svn: 203452
|
|
|
|
|
|
|
|
|
| |
if the type's declaration was previously instantiated in an unimported module.
(For an imported type definition, this already worked, because the source
location is set to the location of the definition, but for locally-instantiated
type definitions, it did not.)
llvm-svn: 203425
|
|
|
|
| |
llvm-svn: 203422
|
|
|
|
| |
llvm-svn: 203417
|
|
|
|
|
|
|
|
|
|
|
| |
Clang might crash while reading the precompiled headers if
we don't initialize the AttrEnumOperandLoc properly.
This commit fixes the combination of string attribute
operand and enum operand. Besides, this commit also adds
several assertions to avoid unexpected operand kind.
llvm-svn: 203416
|
|
|
|
|
|
| |
Also change to using range-based for loops. No functional change intended.
llvm-svn: 203396
|
|
|
|
| |
llvm-svn: 203389
|
|
|
|
|
|
| |
Replace OwningArrayPtr with std::unique_ptr<T[]>.
llvm-svn: 203388
|
|
|
|
|
|
|
| |
This includes special casing 'YES' and 'NO', which are constants
defined as macros.
llvm-svn: 203380
|
|
|
|
|
|
| |
operator==
llvm-svn: 203373
|
|
|
|
|
|
| |
rdar://16264844
llvm-svn: 203372
|
|
|
|
|
|
|
|
|
| |
Padding does not seem to be useful currently, and it leads to bogus location if an error
points to the end of the file.
rdar://15836513
llvm-svn: 203370
|