| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Matches gcc, and is also required for using ccache with clang.
llvm-svn: 137563
|
|
|
|
| |
llvm-svn: 137549
|
|
|
|
| |
llvm-svn: 137535
|
|
|
|
|
|
| |
enclosing function parameter, skip it to avoid false positives.
llvm-svn: 137526
|
|
|
|
|
|
|
|
| |
Report errors earlier: on checkDeadSymbols() and clear the state after the symbol we are tracking goes out of scope.
Also, perform lazy error checking. Instead of forcing the paths to be split depending one the return value of the allocator, make the return symbol depend on the allocated data symbol, which prolongs its life span to the time when the allocated data symbol becomes dead.
llvm-svn: 137523
|
|
|
|
|
|
| |
the C++0x narrowing error.
llvm-svn: 137512
|
|
|
|
|
|
| |
under "-WCFString" flag.
llvm-svn: 137508
|
|
|
|
| |
llvm-svn: 137507
|
|
|
|
| |
llvm-svn: 137506
|
|
|
|
| |
llvm-svn: 137505
|
|
|
|
|
|
| |
gotos jumping after an object was declared. Fixes PR 10620."
llvm-svn: 137459
|
|
|
|
| |
llvm-svn: 137430
|
|
|
|
| |
llvm-svn: 137427
|
|
|
|
|
|
| |
jumping after an object was declared. Fixes PR 10620.
llvm-svn: 137426
|
|
|
|
| |
llvm-svn: 137422
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
non-pointers is not very helpful. This patch will update the wording to be more helpful to users.
Old warning:
warning: use of NULL in arithmetic operation [-Wnull-arithmetic]
return 10 <= NULL;
^ ~~~~
New warning:
warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
return 10 <= NULL;
~~ ^ ~~~~
llvm-svn: 137377
|
|
|
|
|
|
| |
added to Clang without a -W flag.
llvm-svn: 137369
|
|
|
|
| |
llvm-svn: 137302
|
|
|
|
| |
llvm-svn: 137298
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
hierarchy of delegation, and that EH selector values are meaningful
function-wide (good thing, too, or inlining wouldn't work).
2,3d
1a
hierarchy of delegation and that EH selector values have the same
meaning everywhere in the function instead of being meaningful only
in the context of a specific selector.
This removes the need for routing edges through EH cleanups,
since a cleanup simply always branches to its enclosing scope.
llvm-svn: 137293
|
|
|
|
|
|
|
|
|
|
|
|
| |
a member template, e.g.,
x.f<int>
if we have found a template in the type of x, but the lookup in the
current scope is ambiguous, just ignore the lookup in the current
scope. Fixes <rdar://problem/9915664>.
llvm-svn: 137255
|
|
|
|
|
|
|
|
| |
into account
that assigning result of -retain means it should be strong. rdar://9931757.
llvm-svn: 137252
|
|
|
|
|
|
|
|
| |
points at the
synthesized method for the property. rdar://9771715
llvm-svn: 137248
|
|
|
|
| |
llvm-svn: 137242
|
|
|
|
| |
llvm-svn: 137240
|
|
|
|
|
|
|
|
|
| |
overridden methods to diagnose their type mismatch.
This is a general solution for previous fixes
for // rdar://6191214 and // rdar://9352731
and removes lots of duplicate code.
llvm-svn: 137222
|
|
|
|
|
|
| |
the copy constructor of a base/member from an explicitly-defaulted copy constructor, rather than the default constructor
llvm-svn: 137220
|
|
|
|
|
|
|
| |
special member function, make sure to classify an explicitly-defaulted
copy constructor as a "copy" operation. Fixes PR10622.
llvm-svn: 137219
|
|
|
|
|
|
| |
in the same version that it is introduced. Stuff happens.
llvm-svn: 137214
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
constructor. Previously, we did some bogus recursion into the fields
of anonymous structs (recursively), which ended up building invalid
ASTs that would cause CodeGen to crash due to invalid GEPs.
Now, we instead build the default initializations based on the
indirect field declarations at the top level, which properly generates
the sequence of GEPs needed to initialize the proper member. Fixes
PR10512 and <rdar://problem/9924046>.
llvm-svn: 137212
|
|
|
|
|
|
|
|
| |
in time when this assert was valid, but it's not valid now.
Also teach this code to correctly introduce function-to-pointer
decay.
llvm-svn: 137201
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch special cases the parser for thread safety attributes so that all
attribute arguments are put in the argument list (instead of a special
parameter) since arguments may not otherwise resolve correctly without two-token
lookahead.
This patch also adds checks to make sure that attribute arguments are
lockable objects.
llvm-svn: 137130
|
|
|
|
|
|
| |
argument of enumeration type when checking template arguments. Fixes PR10579.
llvm-svn: 137101
|
|
|
|
|
|
| |
expression. Fxies PR10592.
llvm-svn: 137086
|
|
|
|
|
|
|
| |
Use the the path that generates a loop. This fixes
bogus error that clang puts out. // rdar://9894548
llvm-svn: 137080
|
|
|
|
|
|
| |
resulting from the recent -Wuninitialized changes.
llvm-svn: 137068
|
|
|
|
|
|
|
|
|
| |
situation. When a class explicitly or implicitly (through inheritance)
"conformsTo" two protocols which conflict (have methods which conflict).
This patch fixes the previous patch where warnings were coming out in
non-deterministic order. This is 2nd part of // rdar://6191214.
llvm-svn: 137055
|
|
|
|
|
|
|
|
|
|
| |
ActOnStartOfSwitchStmt (i.e. before binding up a full-expression)
instead of ActOnFinishSwitchStmt.
Among other things, this means that property l-values are properly
converted inside the full-expression.
llvm-svn: 137014
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
aren't actually going to make a normal cleanup for. Sometimes
we optimistically create branches to such blocks for fixups,
and then we resolve the fixup to somewhere within the cleanup's
scope, and then the cleanup is actually not reachable for some
reason. The process of resolving the fixup leaves us with
switches whose default edge leads to the cleanup; we can
replace that with unreachable, then (in many cases) turn
the switch into an unconditional branch.
Fixes PR10467.
llvm-svn: 137011
|
|
|
|
|
|
| |
obstruse ways...
llvm-svn: 137007
|
|
|
|
| |
llvm-svn: 136998
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
case situations with the unary operators & and *. Also extend the array bounds
checking to work with pointer arithmetic; the pointer arithemtic checking can
be turned on using -Warray-bounds-pointer-arithmetic.
The changes to where CheckArrayAccess gets called is based on some trial &
error and a bunch of digging through source code and gdb backtraces in order
to have the check performed under as many situations as possible (such as for
variable initializers, arguments to function calls, and within conditional in
addition to the simpler cases of the operands to binary and unary operator)
while not being called--and triggering warnings--more than once for a given
ArraySubscriptExpr.
llvm-svn: 136997
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes cases where the anonymous bitfield is followed by a bitfield member.
E.g.,
struct t4
{
char foo;
long : 0;
char bar : 1;
};
rdar://9859156
llvm-svn: 136991
|
|
|
|
|
|
| |
mark it XFAIL. This is a stop gap until the output of the test is deterministic.
llvm-svn: 136984
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
arrays. This now suppresses the warning only in the case of
a one-element array as the last field in a struct where the array size
is a literal '1' rather than any macro expansion or template parameter.
This doesn't distinguish between the language standard in use to allow
code which dates from C89 era to compile without the warning even in C99
and C++ builds. We could add a separate warning (under a different flag)
with fixit hints to switch to a flexible array, but its not clear that
this would be desirable. Much of the code using this idiom is striving
for maximum portability.
Tests were also fleshed out a bit, and the diagnostic itself tweaked to
be more pretty w.r.t. single elment arrays. This is more ugly than
I would like due to APInt's not being supported by the diagnostic
rendering engine.
A pseudo-patch for this was proposed by Nicola Gigante, but I reworked
it both for several correctness issues and for code style.
Sorry this was so long in coming.
llvm-svn: 136965
|
|
|
|
| |
llvm-svn: 136963
|
|
|
|
| |
llvm-svn: 136955
|
|
|
|
|
|
| |
getAsPointeeMemoryRegion so that it could be reused.
llvm-svn: 136952
|
|
|
|
| |
llvm-svn: 136950
|
|
|
|
|
|
| |
releasing the collection.
llvm-svn: 136949
|