| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
when calling DiagnoseEmptyLookup.
llvm-svn: 222551
|
|
|
|
| |
llvm-svn: 222550
|
|
|
|
|
|
| |
candidates.
llvm-svn: 222549
|
|
|
|
|
|
|
|
|
|
| |
Before:
auto a = [&b, c ](D * d) -> D * {}
After:
auto a = [&b, c](D* d) -> D* {}
llvm-svn: 222534
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously this was only used for JavaScript.
Before:
functionCall({
int i;
int j;
},
aaaa, bbbb, cccc);
After:
functionCall({
int i;
int j;
}, aaaa, bbbb, cccc);
llvm-svn: 222531
|
|
|
|
| |
llvm-svn: 222530
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With AllowShortCaseLabelsOnASingleLine set to true:
This gets now left unchanged:
case 1:
// comment
return;
Whereas before it was changed into:
case 1: // comment return;
This fixes llvm.org/PR21630.
llvm-svn: 222529
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
public final<X> Foo foo() {
}
public abstract<X> Foo foo();
After:
public final <X> Foo foo() {
}
public abstract <X> Foo foo();
Patch by Harry Terkelsen. Thank you.
llvm-svn: 222527
|
|
|
|
|
|
|
|
|
| |
Revision 220571 removes the requirement to use -pie for tsan binaries. So remove -pie from driver.
Also s/hasZeroBaseShadow/requiresPIE/ because that is what it is used for. Msan does not have zero-based shadow, but requires pie. And in general the relation between zero-based shadow and pie is unclear.
http://reviews.llvm.org/D6318
llvm-svn: 222526
|
|
|
|
| |
llvm-svn: 222524
|
|
|
|
|
|
| |
No functional changes, just code improvement.
llvm-svn: 222523
|
|
|
|
|
|
|
| |
These mangling make clang more compatible with MSVC 2015.
Correctly mangling char16_t and char32_t will take a little more work.
llvm-svn: 222515
|
|
|
|
|
|
|
|
|
| |
Clang r181627 moved a check for block-scope variables into this code for
handling thread storage class specifiers, but in the process, it broke the
logic for checking if the target supports TLS. Fix this with some simple
restructuring of the code. rdar://problem/18796883
llvm-svn: 222512
|
|
|
|
|
|
|
|
| |
to be newer than we were expecting. That happens if .pcm's get moved between
file systems during a distributed build. (It's still not OK for them to actually
be different, though, so we still check the size and signature matches.)
llvm-svn: 222507
|
|
|
|
|
|
|
|
|
| |
special member function.
No test yet: the only testcases we have for this issue are extremely complex.
Testcase will be added once I get a reasonable reduction.
llvm-svn: 222506
|
|
|
|
|
|
| |
constructor.
llvm-svn: 222503
|
|
|
|
| |
llvm-svn: 222490
|
|
|
|
|
|
|
|
|
|
|
|
| |
When emitting nested block definitions, the insert-at-point variant of
DIBuilder::insertDeclare() could be called with the insertion point set
to the end-of-BasicBlock sentinel, causing the parent pointer of the
CallInst to be set to the intentionally bogus value of the sentinel.
Fixed by conditionally invoking the correct version of insertDeclare().
rdar://problem/19034882
llvm-svn: 222487
|
|
|
|
|
|
| |
variable, but we might not be emitting it (such as templates)
llvm-svn: 222485
|
|
|
|
|
|
|
|
|
|
| |
for lambda expressions. That can't ever work; we need to transform the
parameters in order to create new ones in the new call operator context.
Fixes a rejects-valid when transforming a context containing a
lambda-expression that uses its function parameters in C++14 mode.
llvm-svn: 222482
|
|
|
|
|
|
| |
no longer contained a generic lambda.
llvm-svn: 222477
|
|
|
|
|
|
| |
local class inside a template.
llvm-svn: 222476
|
|
|
|
|
|
|
| |
Moving further into the implementor's namespace is good, but now we have
one more name to intercept.
llvm-svn: 222473
|
|
|
|
|
|
|
|
| |
std::X::swap exception specifications (allowing parsing of non-conforming code
in libstdc++). The old conditions also matched the functions in MSVC's STL,
which were relying on deferred parsing here.
llvm-svn: 222471
|
|
|
|
|
|
|
|
|
|
|
|
| |
If there is more than one TypoExpr within the expr being transformed and
any but the last TypoExpr seen don't have any viable candidates, the
tree transform will be aborted early and the remaining TypoExprs are
never seen and hence never diagnosed. This adds a simple
RecursiveASTVisitor to find all of the TypoExprs to be diagnosed in the
case where typo correction of the entire expr fails (and the result of
the tree transform is an ExprError).
llvm-svn: 222465
|
|
|
|
|
|
|
|
|
| |
Sema::ActOnIdExpression to use the new functionality.
Among other things, this allows recovery in several cases where it
wasn't possible before (e.g. correcting a mistyped static_cast<>).
llvm-svn: 222464
|
|
|
|
| |
llvm-svn: 222463
|
|
|
|
|
|
|
|
|
|
|
| |
The default handling is extended to properly create member expressions
and Objective-C ivar references.
Also detect and reject cases where multiple corrections have identical
correction distances and are valid, instead of suggesting the first one
that is found.
llvm-svn: 222462
|
|
|
|
| |
llvm-svn: 222461
|
|
|
|
|
|
| |
Also clean up TypoCorrection::setCorrectionRange while we're at it.
llvm-svn: 222460
|
|
|
|
|
|
|
|
|
|
| |
values. Increase the number of bits for SyntaxUsed. Decrease the number of expression arguments allowed by a single bit so that the bit fields continue to add up to 32-bits evenly.
There is no test for this fix because I could find no reasonable way to trigger a visible failure from it.
Thanks to Doug Gregor for spotting this!
llvm-svn: 222456
|
|
|
|
|
|
|
|
| |
r222334 updates LLVM data structure's insert API to return a
pair. This change updates PostOrderCFGView accordingly, so that it can
be used interchangably with other sets.
llvm-svn: 222445
|
|
|
|
|
|
|
| |
This option sets language mode for the compilation of a source file to be OpenCL v2.0.
Example: clang -cc1 -cl-std=CL2.0 myfile.cl
llvm-svn: 222444
|
|
|
|
| |
llvm-svn: 222438
|
|
|
|
|
|
|
|
| |
After LLVM r222434, the Variables field of DISubprograms for forward
declarations will always be null. No need to keep code around to
delete them.
llvm-svn: 222437
|
|
|
|
|
|
|
|
|
|
|
| |
This is a followup to r222373. A better solution to the problem solved
there is to not create the leaked nodes at all (we know that they will
never be used for forward declared functions anyway). To avoid bot
breakage in the interval between the cfe and llvm commits, add a check
that the nMDNode is not null before deleting it. This code can completely
go away after the LLVM part is in.
llvm-svn: 222433
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Replace variadic operator function pointer with an enum value.
Hiding the implementation of the variadic matcher will allow to specialize them for the operation performed.
In particular, it will allow for a more efficient allOf() matcher.
Reviewers: klimek
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D6293
llvm-svn: 222432
|
|
|
|
| |
llvm-svn: 222429
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Doesn't seem to be common practice in Java.
Before:
return aaaaaaaaaaaaaaaaaaa
&& bbbbbbbbbbbbbbbbbbb
&& ccccccccccccccccccc;
After:
return aaaaaaaaaaaaaaaaaaa
&& bbbbbbbbbbbbbbbbbbb
&& ccccccccccccccccccc;
Patch by Harry Terkelsen.
llvm-svn: 222424
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
Foo.bar()
.<X>
baz();
After:
Foo.bar()
.<X>baz();
Patch by Harry Terkelsen.
llvm-svn: 222423
|
|
|
|
|
|
|
|
| |
For each "omp flush" directive a call to "void kmpc_flush(ident_t *, ...)" function is generated.
Directive "omp flush" may have an associated list of variables to flush, but currently runtime function ignores them. So the patch generates just "call kmpc_flush(ident_t *<loc>, i32 0)".
Differential Revision: http://reviews.llvm.org/D6292
llvm-svn: 222409
|
|
|
|
| |
llvm-svn: 222408
|
|
|
|
|
|
|
|
|
|
|
| |
In order to keep SVNVersion.inc from being regenerated on every build, we need
to specify as a dependency a file that only changes when the VC state updates.
I previously just had .svn/entries, but that's only used by Subversion 1.6.
1.7 uses .svn/wc.db instead; prefer that if it's present.
(Thanks, Nico!)
llvm-svn: 222407
|
|
|
|
|
|
| |
Patch by Pierre Gousseau! Test cases altered significantly by me.
llvm-svn: 222404
|
|
|
|
| |
llvm-svn: 222403
|
|
|
|
|
|
| |
objects. This is consistent with GCC's behavior. Patch by Tomasz Miąsko!
llvm-svn: 222402
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"global-init", "global-init-src" and "global-init-type" were originally
used to blacklist entities in ASan init-order checker. However, they
were never documented, and later were replaced by "=init" category.
Old blacklist entries should be converted as follows:
* global-init:foo -> global:foo=init
* global-init-src:bar -> src:bar=init
* global-init-type:baz -> type:baz=init
llvm-svn: 222401
|
|
|
|
| |
llvm-svn: 222400
|
|
|
|
|
|
|
|
|
| |
This reverts commit r222144. Commit r222142 is being reverted due to
a spec2006/gcc execution-time regression.
Update mips-varargs test as well.
llvm-svn: 222397
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
enum Foo implements Bar<X, Y> {
ABC {
...
}
, CDE {
...
};
}
After:
enum Foo implements Bar<X, Y> {
ABC {
...
},
CDE {
...
};
}
Patch by Harry Terkelsen.
llvm-svn: 222394
|