| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
Fixes PR10233!
llvm-svn: 135377
|
| |
|
|
| |
llvm-svn: 135370
|
| |
|
|
|
|
| |
ShadowMapEntry was.
llvm-svn: 135368
|
| |
|
|
|
|
|
|
|
|
|
| |
patch, we actually move the state-machine for the value set backwards
one step. This can pretty easily lead to infinite loops where we
continually try to propagate a bit, succeed for one iteration, but then
back up because we find an uninitialized use.
A reduced test case from PR10379 is included.
llvm-svn: 135359
|
| |
|
|
|
|
| |
Fixes PR9875, patch by Nikola Smiljanic!
llvm-svn: 135356
|
| |
|
|
|
|
| |
triggers warnings from GCC.
llvm-svn: 135351
|
| |
|
|
|
|
| |
to extend to camel case functions instead of just title case functions. Fixes <rdar://problem/9732321>.
llvm-svn: 135350
|
| |
|
|
|
|
| |
API. No functionality change.
llvm-svn: 135349
|
| |
|
|
| |
llvm-svn: 135348
|
| |
|
|
|
|
| |
more happy on NetBSD.
llvm-svn: 135344
|
| |
|
|
| |
llvm-svn: 135328
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
release];" since it's very likely
that, after migration, the object that was passed to 'setDelegate:' will not be properly retained, e.g:
-whatever {
id x = [[MyDoHicky alloc] init];
[someivar setDelegate: x]; // x won't get retained in ARC.
}
-dealloc {
[[someivar delegate] release]; // give migration error here.
}
rdar://8858009
llvm-svn: 135327
|
| |
|
|
|
|
| |
Test cases provided by Anton Lokhmot.
llvm-svn: 135322
|
| |
|
|
|
|
| |
terminology ('+0 retain counts') caught by the tests.
llvm-svn: 135310
|
| |
|
|
| |
llvm-svn: 135309
|
| |
|
|
|
|
|
| |
conflicts with a to be produced temp filename.
rdar://9724657
llvm-svn: 135308
|
| |
|
|
|
|
|
|
|
|
|
| |
to allow clients to specify that they've already (correctly) loaded
declarations, and that no further action is needed.
Also, make sure that we clear the "has external lexical declarations"
bit before calling FindExternalLexicalDecls(), to avoid infinite
recursion.
llvm-svn: 135306
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
id x = ...
@try {
...
} @finally {
[x release];
}
Migrator will drop the release. It's better to change it to "x = 0" in a @finally to avoid leak when exception is thrown.
rdar://9398256
llvm-svn: 135301
|
| |
|
|
| |
llvm-svn: 135294
|
| |
|
|
| |
llvm-svn: 135285
|
| |
|
|
|
|
| |
convertToInt(integerParts*) and make them more reliable.
llvm-svn: 135279
|
| |
|
|
| |
llvm-svn: 135275
|
| |
|
|
|
|
| |
attributes. Fixes <rdar://problem/9561076>.
llvm-svn: 135273
|
| |
|
|
| |
llvm-svn: 135265
|
| |
|
|
|
|
|
|
| |
which is required given the current setup for template
argument deduction substitution validation, and add a test
case to make sure we don't break it in the future.
llvm-svn: 135262
|
| |
|
|
|
|
| |
the exception of its uses of SourceManager and SourceLocation APIs.
llvm-svn: 135260
|
| |
|
|
|
|
|
|
|
|
| |
Also add the missing serialization support for SEHTryStmt,
SEHFinallyStmt, and SEHExceptStmt, and fix and finish the
serialization support for AsTypeExpr. In addition, change
the code so that it will no longer link if a Stmt subclass
is missing serialization support.
llvm-svn: 135258
|
| |
|
|
|
|
|
|
|
|
| |
is right --- shouldn't there be a TypeLoc in here somewhere? ---
but at least it doesn't have a redundant QualType and a broken
children() method.
Noticed this while doing things in serialization.
llvm-svn: 135257
|
| |
|
|
|
|
|
| |
to prevent recursive compilation problems. This fixes a failure of CodeGen/decl.c
on x86-32 targets that don't fill in the coerce-to type.
llvm-svn: 135256
|
| |
|
|
|
|
| |
llvm::OwningPtr<BugType> vars (the new convention). No functionality change.
llvm-svn: 135255
|
| |
|
|
|
|
| |
single llvm::OwningPtr<BugType> (the new convention). No functionality change.
llvm-svn: 135250
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
types. Fore xample, we used to lower:
struct bar { int a; };
struct foo {
void (*FP)(struct bar);
} G;
to:
%struct.foo = type { {}* }
since the function pointer would cause recursive translation of bar and
we didn't know if that would get us into trouble. We are now smart enough
to know that it is fine, so we get this type instead:
%struct.foo = type { void (i32)* }
Codegen still needs to be prepared for uncooperative types at any place,
which is why I let the maximally uncooperative code sit around for awhile to
help shake out the bugs.
llvm-svn: 135244
|
| |
|
|
|
|
|
|
| |
to represent a fully-substituted non-type template parameter.
This should improve source fidelity, as well as being generically
useful for diagnostics and such.
llvm-svn: 135243
|
| |
|
|
| |
llvm-svn: 135226
|
| |
|
|
|
|
| |
'expansion'.
llvm-svn: 135224
|
| |
|
|
|
|
| |
ARCMigrate.
llvm-svn: 135223
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
instantiations. Upon instantiation of template, value-dependent parameters are replaced by equivalent literals, so code like:
template<unsigned int A, unsigned int B> struct S {
int foo() {
int x = A && B;
}
}
will not warn on A && B on every instantiation. This will still warn on other cases inside templates, which will be caught on checking the template definition.
llvm-svn: 135222
|
| |
|
|
|
|
| |
-Wuninitialized to avoid cascading warnings. Patch by Kaelyn Uhrain.
llvm-svn: 135217
|
| |
|
|
|
|
| |
errors. rdar://9402555.
llvm-svn: 135213
|
| |
|
|
|
|
|
|
| |
Revert "For C++11, do more checking of initializer lists up-front, enabling some subset of the final functionality. C just leaves the function early. C++98 runs through the same code path, but has no changed functionality either."
This reverts commit ac420c5053d6aa41d59f782caad9e46e5baaf2c2.
llvm-svn: 135210
|
| |
|
|
|
|
|
|
| |
used.
Keep the error if the result is unused. rdar://9552694.
llvm-svn: 135209
|
| |
|
|
| |
llvm-svn: 135208
|
| |
|
|
|
|
|
|
|
|
|
|
| |
also contain declarators. Previously we would accept code like this:
template<typename T> struct S { } f() { return 0; }
This case now produces a missing ';' diagnostic, since that seems like a much more likely error than an attempt to declare a function or variable in addition to the class template.
Treat this
llvm-svn: 135195
|
| |
|
|
|
|
|
|
|
|
|
| |
An unused autorelease is badness. If we remove it the receiver
will likely die immediately while previously it was kept alive
by the autorelease pool. This is bad practice in general, so leave it
and emit an error to force the user to restructure his code.
rdar://9599884
llvm-svn: 135193
|
| |
|
|
|
|
|
|
|
|
| |
subset of the final functionality. C just leaves the function early. C++98 runs through the same code path, but has no changed functionality either.
This is a first baby step towards supporting generalized initializer lists. This also removes an aggregate
test case that was just plain wrong, assuming that non-aggregates couldn't be initialized with initializer lists
in C++11 mode.
llvm-svn: 135177
|
| |
|
|
|
|
| |
kind.
llvm-svn: 135175
|
| |
|
|
| |
llvm-svn: 135170
|
| |
|
|
| |
llvm-svn: 135166
|
| |
|
|
|
|
| |
function in LLVM does.
llvm-svn: 135155
|
| |
|
|
|
|
| |
thing to do.
llvm-svn: 135152
|